Recently I had a chance to revisit question of RAID5 vs RAID10
performance for MySQL OLTP workloads (Random IO). The previous
set of benchmarks
I've done for MySQL Users Conference almost two years ago were
done on RH AS 3 and 8 Drive SATA 7200 Drives connected via 3Ware
8500 or something.
In that configuration RAID5 looked horrible compared to RAID10
showing absolutely terrible performance.
This time I've tested on Dell PowerEdge 2850 with 6 10000RPM SCSI
drives connected to embedded RAID (LSI MegaRaid) with 256MB of
cache and battery backed up. Operation system was CentOS 4.2
x86_64, ext3 file system.
I've used SysBench this time to get to the roots of performance,
rather than adding MySQL on top which could possibly have its own
problems of loading
drives efficiently. Here is the run option I've used after
"preparing" 32GB dataset:
./sysbench --num-threads=128 …
Here's some homework for you: come up with an efficient way to
calculate ranking.
Say you have a user table and each user has a score. Now, for any
one specified user, you want to find out their overall ranking.
And, in the most efficient way! There are, of course, a variety
of rather crude and/or gross methods to do this, but I don't want
to hear about those ;-)
Simply post your ideas/solutions in comments to this entry...
*before*, let's say, 15 Dec.
I'll even offer a prize for the one most *efficient* entry: a
MySQL 10th anniversary mug + MySQL sticker.
Good luck! And have a nice weekend.
Here's some homework for you: come up with an efficient way to
calculate ranking.
Say you have a user table and each user has a score. Now, for any
one specified user, you want to find out their overall ranking.
And, in the most efficient way! There are, of course, a variety
of rather crude and/or gross methods to do this, but I don't want
to hear about those ;-)
Simply post your ideas/solutions in comments to this entry...
*before*, let's say, 15 Dec.
I'll even offer a prize for the one most *efficient* entry: a
MySQL 10th anniversary mug + MySQL sticker.
Good luck! And have a nice weekend.
One of the things that Gartner did very well at this conference is they blended heavy duty research and analysis with good examples to illustrate the trends. They had a good balance of analysts presenting as well as panels that let open source gurus, customers and vendors discuss the issues. And for the most part, the panels were not scripted affairs, they allowed the moderator to pursue interesting lines of discussion and take questions from the audience.
A few of the presentations also used short case studies on companies to show how they have been successful with open source. Ray Valdes cited a number of examples in his presentation such as:
- Sabre Holdings reduced their TCO by over 40% by …
Trigger grants bluesTriggers are a great feature, and used with
care they can prove very useful.
Unfortunately, since they arrived quite late in the schedule,
there is no specific privilege designed to grant users the power
to create a trigger. Instead, as of 5.0.17, users require the
SUPER privilege to create triggers. Which is kind of
unconvenient, because the SUPER privilege also allows users to do
more things than creating triggers, such as killing threads and
setting global variables.
This it is understandable why a system administrator would be
quite reluctant to give the SUPER privilege to (possibly) unknown
users who have otherwise full control of one database. Think, for
example, to a ISP, or to the great database provider db4free, for which
this page is dedicated. In these services, you can get an
account, which leads to full grants to one database. Within that
database you …
Zach Urlocker (zachu_rss) mentioned a few blogs recently
in an internal memo. I was listed. Whee :) So was Reggie Burnett,
who is responsible for Connector/Net. I've been playing with C#
recently, and I'd like to get familiar with Connector/Net (or
C/Net). So I subscribed to his blog. I've added an rss feed to
LiveJournal: reggie_mysql.
Reggie, I'll be reading up on it :)
I was going over some of my Amazon referral statistics and was impressed to see that I have sold 25 copies of Joe Celko's Trees and Hierarchies book since reviewing it here.
That may not be a huge amount, but it shows that people are interested in my opinion on books. I also have sold one copy of Pro MySQL since reviewing it here.
Of course, it also serves as a reminder that putting reviews online comes with a responsibility to publish honest reviews that won't lead people astray, so I hope you find my reviews to be honest and balanced.
In the meantime, I am adding a new set of pages to track my reviews, as seen here.
If you ever have a request …
[Read more]Flexible, Scalable Key Mapping Solutions
In working to answer questions on the MySQL forums, I've noticed a few questions that repeatedly come up on a number of the forum areas. One of these particular questions deals with how to manage -- construct, query, and maintain -- many to many relationships in your schema. I decided to put together a two-part article series detailing some of the common dilemmas which inevitably arise when tackling the issue of relating two entities where one entity can be related to many instances of another, and vice versa.
Hopefully, this article will shed some light on how to structure your schema effectively to produce fast, efficient queries, and also will illustrate how key map tables can be queried for a variety of different purposes. I'll predominantly be using standard SQL, so although I'm using MySQL as the database of choice here, …
[Read more]Say you've developed software on Oracle for a while. You know that if you start a query in SQL*Plus and then kill -9 the process that your query is still running on the server. You've got enough calls from your DBA to know that if you do that, you better call and let him know it's still running. Would you think it's any different on MySQL? Nope.