Posts by Gwen Shapira
One of my favorite customers had a problem. They had to load around 20G of data into a table on MySQL database. The data loaded fine, but when he tried to build few indexes on the database, he got a mysterious error: ERROR 1114 (HY000): The table ‘really_big_table’ is full. The error was mysterious because we had around 1.5T of free space on the disk. Also, if the customer created the indexes before loading the data there was no error. This gave them a work around, but one that slow and annoying. Later, I found out that we are not the first to run into this mystery.
ourSquare, the location based social network, suffered from extended outage yesterday. They explained the causes in a blog post, which caused much discussion around the web. Here’s the gist of the analysis: FourSquare are using MongoDB, which is a sharded database. Data is split between nodes based on a shard key, usually the User ID or something similar. One of the shards became overly loaded. After failing to resolve the issue in other ways, FourSquare decided to add another shard to share the load. This caused the entire cluster to fail.
MOTS is over and tomorrow morning I’m flying back home to OOW. This was my first conference where I presented as a Pythian employee. Its been a good experience. People would ask me who I work for, and when I answer “Pythian”, their eyes would light up, and they’d say something like “Wow! So, what’s it really like working for them?”. I never got this reaction when I worked for HP.
I’m giving a NoSQL overview presentation at MOTS in two days. The conference organizers didn’t ask me for a white paper, so I thought I could get away without writing one. But it turns out that I don’t really feel that I can speak confidently about a topic if I didn’t write the paper. I wonder if other presenters have this addiction too. So I’m posting the paper here for your enjoyment. Feedback is very welcome.
I’ve spent over a decade managing various production systems. After spending so much time with systems that are mostly not working as they should, one develops certain outlook on life. Like the deep belief that the only way to keep civilization functioning is by taking backups and testing them. Recently I had few discussions with developers, and it turned out that ideas that I consider trivial can be viewed as deeply insightful by someone with different experience.
Dynamo: Amazon’s Highly Available Key-value Store” is a high level description of a data store, written by Amazon to solve the problem of a system where updates must never ever fail and must take less than a specific amount of time in 99.99% of the cases. No matter what happens to the servers or the network, updates to the system must continue as usual, and they emphasize that they deal with hardware and network failures nearly constantly.
Emerson wrote: “Foolish consistency is the hobgoblin of small minds”. I love this quote, because it allows me to announce a presentation titled “7 Sins of Concurrency” and then show up with only 5. There are places where consistency is indeed foolish, while other times I wish for more consistency. Here is a nice story that illustrates both types of consistency, or lack of.
I think Michael Stonebraker overshot the target In a 2007 paper titled, “The End of an Architectural Era”. Why is this The End? According to Michael Stonebraker “current RDBMS code lines, while attempting to be ‘one size fits all’ solution, in face, excel at nothing. Hence, they are 25 years old legacy code lines that should be retired in favor of a collection of ‘from scratch’ specialized engined”.
So how does an Oracle DBA go about learning MySQL?
Obviously you start by reading the docs. Specifically, I looked for the MySQL equivalent of the famous Oracle “Concepts Guide”.
Unfortunately, it doesn’t exist. I couldn’t find any similar overview of the architecture and the ideas behind the database. The first chapter of “High Performance MySQL” had a high level architecture review, which was useful but being just one chapter in a book, it lacked many of the details I wanted to learn. Peter Zaitsev’s “InnoDB Architecture” presentation had the kind of information I needed – but covered just InnoDB.
I cloned Oracle software before and it is a simple process: tar $ORACLE_HOME, copy the tar file to the new server, untar, run the cloning script which will register the new home with the inventory, and you are done! In theory, at least. Here is what actually happened: