A popular application server benchmark, featuring a complete open source software stack with MySQL 5.0 database, the Solaris 10 Operating System, and Sun Java Systems Application Server 9.0 Platform Edition (Project GlassFish) has shattered the competition by offering up to 8.6 times lower cost of acquisition than the comparable solution, according to the SPEC benchmark test results published at http://www.spec.org/jAppServer2004/results/jAppServer2004.html.
This article compares the relative speed of extracting the date part of a value in MySQL with LEFT() and with the DATE() function. LEFT() is faster than DATE(). To prove this, I inserted two million un-indexed sequential values into a table and selected the minimum and maximum values. Both queries are table scans, so it does read through all the records. The table below lists the time in seconds for MAX() on my computer.
At the start of this week, we suffered a corruption of our main 5.1 source code repository at MySQL. No data was lost, but I spent most of four working days on cleaning up the corruption, Monty spent one day, and many other people had to spend time on this or were stalled in their work while the problem was being resolved. Including the usual stories with fetching off-site backup tapes only to find them broken, etc.
Our source code repository is the centre that all our work in Engineering revolves around, and it just has to be stable. The confidence in the revision control software that we use suffers greatly from such an experience, and the lost confidence can never really be restored.
But there is a good lesson in this for MySQL, I think.
Like revision control software, MySQL is used by our users to store their valuable data. The database is the center around which applications revolve, and it must be …
[Read more]An update about Ubuntu: Mark Shuttleworth is coming to Moscow this week, and there will be a meeting with community. Is anyone coming? I'll be there. One reason, our CEO, Marten Mickos, is coming to INTEROP on 21st of June, and there will be no such meeting with MySQL users. So I'll go and see how to organize these things :)
The biggest current problem that I know in the MySQL servers is
the performence of information_schema. This is reported as
bug 19588:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1829 to server version: 5.0.22-max-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SELECT TABLE_SCHEMA,
-> sum((DATA_LENGTH + INDEX_LENGTH) / (1024 * 1024)) as size_mb
-> FROM information_schema.TABLES
-> GROUP BY TABLE_SCHEMA
-> HAVING size_mb > 10
-> ORDER BY size_mb DESC;
...
xxx rows in set (7 min 34.71 sec)
Even though this server hosts a lot of data - more than 7 minutes
for this query is tough.
Google offers a little Toolbar that provides additional information about
the displayed website, including the PageRank value that
indicates how "important" the website is in Google's eyes (and
that's said to be used to calculate the relevance in Google
searches).
Here are some values that I looked up:
www.mysql.com: 9/10
www.planetmysql.org: 8/10
www.google.com: 8/10
www.microsoft.com: 9/10
www.yahoo.com:
9/10
www.oracle.com: 9/10
…
Seems I have over time, thought of many ideas, jotted some notes on some, and even done some work, but everybody knows that “home projects” can take a long time.
Here are a few that have resurfaced over the past month, and I doubt I’ll ever get to them, or perhaps some other enterprising person has already done a similar thing. Of course most are for my own personal/professional gratification, but input from others of “great idea, when do we see it” could sway my interests.
INFORMATION_SCHEMA for MySQL Version 4
Why?
Well, quering the INFORMATION_SCHEMA is very cool, and long overdue for information gathering including statistics, schema definitions, schema version comparision tools etc. Of course there are concerns regarding the performance of using the INFORMATION_SCHEMA, and any design should significantly …
[Read more]
What is this? How can a slave have multiple masters? Well the
architecture is not what the name implies. A slave can have only
one master. But here we are going to create a loop between slaves
and masters, also known as Circular replication.
Lets take 3 machines. (Since i have only a single machine - my
laptop - i created 3 instances of mysql running on 3 different
ports and with 3 different data directories to work out this
architecture.) Suppose, we have installed mysql on all the 3
machines/nodes - say NodeA, NodeB, NodeC. What needs to be done
is that NodeA is slave of NodeC, NodeC is slave of NodeB and
NodeB is slave of NodeA. So each mysql instance is a master and
also a slave. I will go into implementation details of this in a
minute. First of all, let me list down the benefits and issues
with this setup.
Benefits:
-
- You can build a high availability and high …
In my previous blog entry, I wrote about how I'm
currently checking out the Pentaho open source Business Intelligence
platform. Well, I've only done a little bit of all the checking
out I planned to do, but here I'd like to present some of the
things that I found out so far.
In this blog entry, I will focus on some features of the latest
addition to the Pentaho: K.E.T.T.L.E, which forms the principal ETL
component of the platform.
In case you're interested in Pentaho in general: I just heard that on 21 june, MySQL will be conducting a Web-seminar on BI with Pentaho and MySQL, so you might want to …
[Read more]