MySQL Connect
First up today was a visit to the MySQL Keynote featuring some speakers from Twitter, Paypal and Verizon Wireless. I've been interested in MySQL for sometime but never really played with it for myself. My company is seeking to investigate it further since we've got over 50 instances of it running, but also to look into open source alternatives (cost reduction mainly).
Very interesting what these large companies are doing with MySQL and how they are using the technology. Twitter uses it extensively because:
- It is fast, even compared with NoSQL alternatives (depending on what you are doing with it of course)
- It has very low latency
- It scales well
- It has a large ecosystem
- The safety of InnoDB (i.e. it does not lose data)
It is not all roses however, as there were some words of caution::
- It is not yet optimized for SSD (which they are working on)
- There is room for a configuration management tool
- It is not a complete solution and should be used as a building block
- It is not a purpose-built key-value (KV) store (so try other NoSQL if that is your true requirement)
- It is not schema-less (both pro and con)
- There is a need for better performance/response time metrics
- There is a need for better monitoring
What they could share of there environment is also very interesting:
- 25 traditional master-slaves
- 3-100 machines with 6 DBAs and 1 developer
- > 6 million queries per second (qps) w/400 million tweets per day (+ metadata)
The talk from Verizon Wireless was also interesting as they apparently use MySQL for their intranet with a customized landing page for each user (based on location, function, etc.) which the user can further customize. It is all highly performant (since that was a main criteria) and scalably. Their "Verizon Infrastructure as a Service (IaaS) Group" was inspirational! An internal group which provides IaaS to the rest of the company.