Last weekend I updated the Debian package of MySQL to 5.0.67, the
latest Community Edition release. It was not uploaded into the
Debian archive, but is available from my home
directory on gluck (amd64 only at the moment). The next
Debian release lenny is frozen already, which means no newer
upstream releases get accepted into testing before lenny is
released, hence lenny definitely gets shipped with MySQL 5.0.51a.
We will not see MySQL 5.0.67 or 5.1 in lenny, but we will
continue providing backports of newer MySQL releases.
Our current primary goal regarding the MySQL packages in Debian
is to get 5.0.51a in shape for lenny, so please do not send us
mails asking about MySQL 5.1 or MySQL Cluster. When lenny got released we will
upload MySQL 5.0.67 (or any newer community release) to unstable,
and …
Ben Kaufman at SQLServerCentral introduces MySQL to the SQL Server DBA crowd. All in all his views seem to be fairly positive, in particular the MySQL Cluster experience:
NDB is the gem of MySQL, originally developed by Ericson to track
cell phone calls this is a share nothing cluster engine stored in
memory. This is a true cluster that supports both high
availability and load balancing. [...]
This engine is similar to synchronous mirroring in SQL Server in
that it is a 2-phase commit, the difference being the commit is
done in memory at the data layer not the log. Logs are hardened
at a later time, with the theory being that since data is
committed on multiple nodes the data is safe and doesn't require
a log flush as part of the transaction. [...]
For pure performance the cluster is comparable with a single
instance of SQL Server. I've …
The Maatkit toolkit is a real blessing for the MySQL DBA. And while its documentation is pretty good, in some cases it’s necessary to read carefully a second and third time to make sure you are not missing an important piece of information. In this article I will comment on mk-table-chksum and mk-table-sync. My comments are mostly aimed at those DBAs who are considering using these utilities with medium or larger-sized databases.
–replicate
This option allows you to store the checksum results on the master, in a table that will get replicated to the slaves. Although it might seem like overhead for a simple check, it really simplifies your life, especially when used in combination with …
[Read more]Tonight I provided a scope in Best Design Practices for MySQL Applications - Part A of just how much there is to consider with a successful application. I only scratched the surface in some detail, a topic one could easily write a book on, and definitely provide a number more presentations.
At 42SQL we follow the “Scale 2 Success” (tm) approach covering Architecture, Availability, Scalability and Accountability. With this we are able to clearly provide a strategy towards building successful scalable enterprise solutions. For more information on how we may be able to help your organization with any performance and scalability needs, please use the Contact Form.
You can find a copy of my slides for this presentation at …
[Read more]
Relevant Source code directories and Notes
-
mysql-test- test suite for the MySQL daemon. Uses Perl
script to run tests using a pre-defined framework and test
language
- To run the tests in this test-suite, go to mysql-test and run the 'mysql-test-run.pl' script
- 'make test' also does the above after running the tests
in 'unittest'
-
tests- C & perl scripts to perform various client -like
tasks- uses libmysql (C lib) Perl API respectively (mainly
tests features which are not possible via above)
- No where in the top-level Makefile is the 'tests' directory mentioned
- what is the 'mysql_client_test.c' doing?
-
mysql_client_test- shell script wrapper for
.libs/mysql_client_test
- the …
Relevant Source code directories and Notes
-
mysql-test- test suite for the MySQL daemon. Uses Perl
script to run tests using a pre-defined framework and test
language
- To run the tests in this test-suite, go to mysql-test and run the 'mysql-test-run.pl' script
- 'make test' also does the above after running the tests
in 'unittest'
-
tests- C & perl scripts to perform various client -like
tasks- uses libmysql (C lib) Perl API respectively (mainly
tests features which are not possible via above)
- No where in the top-level Makefile is the 'tests' directory mentioned
- what is the 'mysql_client_test.c' doing?
-
mysql_client_test- shell script wrapper for
.libs/mysql_client_test
- the …
Today I was working with the client loading data to MyISAM tables at very high rate. Hundreds of millions rows are loaded daily into single MySQL instance with bursts up to 100K of records/sec which need to be inserted (in the table with few indexes). It was good not all records had to go to the same table and so in theory using multiple thread to do inserts in multiple tables would not be bound by table locks and would be able to use multiple cores efficiently to get good insert rate... or so it seemed.
In reality inserting in parallel into different tables when
indexes fit in memory results in very bad contention causing
hundreds of thousands of context switches per second with far
less work done than one would hope. As we already discussed
MyISAM key cache has serious mutex contention issue as there is
global …
Last week, Mixi - Japan's largest social network service provider, launched an experimental microblogging service called Echo, and according to their delevopers' blog entry, they are using Q4M to level their write loads. Thank you to the developers of Mixi Echo for using Q4M, I hope Echo will go well and soon become a first-class service.
Meanwhile, several bugs were found in Q4M (that arise under rare cases or complex usage senarios), so I have just uploaded version 0.8, available from the Q4M homepage.
This release fixes the following bugs.
- block div-by-zero exception on conditional subcription
- do not crash when a nonexistent table …
Sun Microsystems, Inc. today announced that leading online advertising representation firm Gorilla Nation Media has selected a MySQL Enterprise™ database subscription to help power its business intelligence platform. With more than 66 million unique visitors per month, Gorilla Nation turned to Sun to help support the exponential growth of its business by improving performance and lowering costs.
[An audio interview podcast with Alex Godelman, VP of Technology for Gorilla Nation Media is available here.]
First of all, that’s to everyone who’s pitched in so far. There are more messages to translate coming… So far we have contributions in 15 different languages. Quite impressive. Check it out:
A slight engineering puzzle is coming up. As you can see from the german output, “Unknown database ‘lskfs’” wasn’t translated. This is because that error message is actually stiched together on the server and sent back over the wire, so it’s not executing in the context of the locale the client is connecting as. That’s fine for messages without parameters, but for ones with parameters, which would be the main reason to build on server and send over the wire, running gettext() on the client gets us no where. Not sure what the right answer to this is yet…
…
[Read more]