Kwik
Surveys is the site that's hosting the 2008 MySQL
Magazine Survey. The site will be going offline from Friday
May 30th at 15:00 GMT through Monday June 1st, 09:00 GMT to
upgrade to faster servers.
Hopefully this upgrade will go off without any problems, but just
in case, I'll have a backup of all the results and forward them
offsite to another location.
Have you surveyed?MySQL DBA & Programming Blog
by Mark Schoonover
Kwik
Surveys is the site that's hosting the 2008 MySQL
Magazine Survey. The site will be going offline from Friday
May 30th at 15:00 GMT through Monday June 1st, 09:00 GMT to
upgrade to faster servers.
Hopefully this upgrade will go off without any problems, but just
in case, I'll have a backup of all the results and forward them
offsite to another location.
Have you surveyed?MySQL DBA & Programming Blog
by Mark Schoonover
In preparation for the book’s launch next month, I’ve created a website for it: High Performance MySQL. You may notice that the URL isn’t the same as the site for the first edition. It proved to be difficult to transfer that domain. If we accomplish it later on, I’ll set up a redirect. Why an official site? To give you free stuff, of course. Final drafts of the front matter (TOC, preface, foreword), a sample chapter, and the index are there already.
Gained some interesting insight earlier this week at the
SUN/MySQL APAC eHorizons event. A key thread in my (business
track) session was that a) databases are not interchangable, and
b) you plan for growth. If you don't, you can't grow, and your
business might end (or at least be in serious pain).
For instance, if you build an application but don't put
application logic into place that deals with separate
master/slave connections (even if they talk to the same server
for starters!) is a bad idea. It's a pain to fix up later, and
sometimes it's just impossible (better believe it, I have helped
customers who struggle wish exactly this issue). Not all reads
should go to slaves, sometimes you need absolute up-to date info
from the master. So the logic is not quite as simple as "all
selects to the slaves"....
Hardware selection is a result of all kinds of architectural
choices, and again has to be geared for the future. …
On the way to
MySQL Proxy: replicating into memcache
I have another small side project:
- translating Row based log-records into Statement ones.
Our support team was asking for it since a while and it was a nice PoC that I can decode RBR events nicely.
Running MySQL 5.1 (with binlog_format = ROW) I issued:
mysql> INSERT INTO cols_pk VALUES \
( 3, "varchar", "char" ), ( 4, NULL, NULL );
... and have let mysql-binlog-dump decode the row-based log-events into SQL statements:
$ ./mysql-binlog-dump \ --binlog-file=/home/jan/datadir/mysql-bin.000010 -- mysql-binlog-dump.c:256: db = test BEGIN -- mysql-binlog-dump.c:220: CREATE TABLE test.cols_pk ( field_0 INT NOT NULL, field_1 VARCHAR(64) DEFAULT NULL, field_2 CHAR(64) DEFAULT NULL ) -- …[Read more]
Twitter has had many outages recently. On May 17th, 2008 http://blog.twitter.com/2007/05/devils-in-details.html was posted and says:
What went wrong? We checked in code to provide more accurate pagination, to better distribute and optimize our messaging system?basically we just kept tweaking when we should have called it a day. Details are great but getting too caught up in them is a mistake. I’ve been CEO of Twitter for two months now and this an awesome lesson learned. We’re seeing the bigger picture and Twitter is back. Please contact us if something isn’t working right (with Twitter that is).
(in other news, that post was made on May 17th and does not show up on http://blog.twitter.com, which it should, between the May 16th and May 19th posts. I found a reference in other …
[Read more]
As announced by Eduardo, I
have started playing with The
Aquarium.
That does not mean that I sleep with the fishes, but that I am playing along
with the group. And besides, dolphins are not fishes, but
nonetheless they should be at ease in an aquarium.
This blogging is part of MySQL integration in Sun. Slowly but
surely we are becoming aware of our surroundings and we are
engaging the rest of the Sun communities.
We are learning.
At this weeks' geekdinner some people wondered what was up with T-Dose, and guess what .. their CFP has been out for ages.
Last year I just catched the end of Bert's talk and Some Abstract Type has also been spotted there before.
No reason to miss this year's edition.
One of the things people tend to forget is the ability for web servers to compress content before sending it back to client. Client’s browser then uncompresses the data and displays it to the user. Pretty much all of the recent browsers support gzip compression. In this post, I will go over how to setup apache2 to use compression. First let’s see if your Apache installation has “deflate” enabled. You can check to see if you have deflate by typing:
# /usr/local/apache2/bin/apachectl -t -D DUMP_MODULES
Loaded Modules:
...
deflate_module (static)
...
Syntax OK
If you don’t have have deflate_module, you would have to recompile your apache with “–enable-deflate” option.
Going forward, I am going to assume you have deflate_module. Add the following to your apache conf file:
<Location />
SetOutputFilter DEFLATE
BrowserMatch …
Following a link from the High Scalability blog, I found this really great article about scalability practices, as told by Randy Shoup at eBay. Randy is very good at explaining some of the more technical aspects in more or less plain English, and it even helped me find some wording I was looking for to help me explain the notion (and benefits) of functional partitioning. He also covers ideas that apply directly to your application code, your database architecture (including a little insight into their sharding strategy), and more. Even more about eBay’s architecture can be found here.