One of the best discussions at Tuesday's CloudCamp
San Francisco was "SQL or SimpleDB - Who will win?" Cloud
computing is part of a fundamental shift in computer operations
propelled by virtualization of hosts and disk storage. We were
already starting to argue about SimpleDB as the camp started when
the person sitting next me astutely jumped up and proposed it as
a topic for discussion.
The argument against SQL goes something like this. Many
applications handle very simple objects using only primary key
look-ups. Hashtable-based datastores like SimpleDB and BigTable handle that model and also partition data
automatically. This simpler data model maps better to object
models in scripting languages, many of which …
I caught Facebook - Needle in a Haystack: Efficient Storage of Billions of Photos on Flowgram. First up, I’m not a big fan of Flowgrams - the format is sensible, slide and voice, is excellent, but the delivery in a web browser isn’t optimal… make downloadable videos!
The talk however, was excellent. Do watch it, and learn a bit more about Facebook’s infrastructure. Anyway, some notes I took from the talk:
- “We’re one of the largest MySQL installations in the world”
- Use memcache - “We have memcache because databases aren’t fast” (later on in the questions)
- Separate team focusing on APE (Apache, PHP and Extensions that they work on)
- 6.5 billion total images, 4-5 sizes stored for each, so 30 billion files, of about 540TB total… During peak? 475,000 images served per second, and growing by …
This is not related directly to MySQL, but alas I must rant. In this day and age I’m not sure why an application would require IE7 and ActiveX controls to run a ticketing system. If we’re in the technical world, as sysadmins or DBAs, which run Linux/Solaris/Unix on any good server in order to get work done, it only makes sense to use a unix based OS (osx,linux,solaris) as a workstation.
It’s easier to interface with servers, there are better terminal options (in which we live our daily lives), free options to just about everything that exists in Windows, and YET there are ticketing systems (RNT) that require IE7 and ActiveX controls - which require you to run WindowsXP. It doesn’t work on windows server 2003, it doesn’t work on Windows 2000 Pro.
So what are we left with? An impossible situation that requires an employee to run two OSes in order to get work done. Ridiculous! It’s a waste of time and resources. Not to …
[Read more]In case you are attending Oracle Open World 2008, the biggest Oracle conference in the world, and interested in either (or both) MySQL or Oracle Enterprise Manager Extensibility — I posted a proposal for a new presentation:
Extending Oracle Enterprise Manager by Example — Creating MySQL Management Plug-In
I’ve started looking into Oracle extensibility several years
ago and since then I’ve seen lots of improvements in
Extensibility Guide and many new plug-ins have seen the light of
the day. However, creating a new plug-in is still considered to
be something special and not available to mere mortals.
In this presentation we will see how easy it is to create a new
plug-in. What are the steps …
Grand, I got my personal copy from the courier
today!
Many people kept asking me over recent months "when is it coming,
when can I get it"... so now you can. Officially out, and
available.
Click on the book pic if you want to grab your copy via Amazon
(which is probably one of the cheapest sources, even if you're
overseas).
I'm also looking at acquiring a bundle of them through the author
arrangement with O'Reilly, to give away to Open Query
training students - well, for the courses related to MySQL at
least ;-)
I recently filed Bug #37359 filesort can be more efficient based on some performance work with an industry standard benchmark. Read on if the internals of how MySQL implements filesort interests you.
Filesort, as the name implies, is used to sort records when there is an ORDER BY clause in the query. The reason it has the prefix "file" is because temporary files may be used to store intermediate results. filesort() uses a per thread sort buffer of size sort_buffer_size to sort the table. filesort() is implemented in sql/filesort.cc.
filesort may not know how many records need to be sorted. It asks the storage engine for an estimate of the number of records in the table via estimate_rows_upper_bound(). If the number of records that fit in the sort buffer is less than the estimate, filesort will use temporary files to store intermediate results. The flow …
[Read more]
A new edition of the MySQL 5.1 Cluster Certification Study
Guide is due out any day now. As soon as I get the new on the
availability, you will see it here. It will be bigger, better,
and all the marking adjectives you would ever want.
But the original, first printing is sold out.
MySQL community, mark your calendars!. On July 8th, 2008, there
is a Webinar on Designing scalable architectures with MySQL
Proxy.
This is not the usual marketing sponsored webinar. Although we
love to show off, this is not a "look-how-good-we-are"
presentation. This is a community driven event, where a community
member, using only MySQL Proxy and some creativity, solved his
production problems.
This is a real story of a community member who used open source
software to build a customized scalable architecture to suit his
purposes. Isn't it a good story?
I won't steal his thunder and tell you in advance what was the
problem about. I will introduce the general concepts about Proxy,
and then our guest John Loehrer will tell hist …
krow's post on
prepared statements inspired me to write an update on what is
getting fixed there.
First, a fix for Bug#27430 is in 5.1 tree.
Overall, this makes prepared statements significantly more
stable. I know of only two crashes left ;) -- one is when you run
out of memory, which is a design gotcha. The other is Bug#32124.
Speaking of this last one, we now have stupid rules saying that
if a bug doesn't affect too many people, even if it's a crash,
it's not that important. This is a difficult bug, and the rules
give an excuse to keep it unfixed.
The few important "feature" bugs that remain are …
While working hard on the MySQL Workbench 5.1 source branch (Linux / OS X versions) we have not forgotten about the 5.0 branch and have fixed another series of bugs - now announcing the release of MySQL Workbench 5.0.23. Workbench now stores and recovers common Application settings - this is one of 26 bugs we corrected for this release. Fetch the latest version and let Workbench deal with your databases.