Many of you know I publish a newsletter monthly. One thing I love about it is that after almost a decade of writing it regularly, the list has grown considerably. And I’m always surprised at how many former colleagues are actually reading it. So that is a really gratifying thing. Thanks to those who are, … Continue reading Should we be muddying the relational waters? Use cases for MySQL & Mongodb → …[Read more]
Engine condition pushdown is a MySQL internal mechanism that is intended to avoid to send non matching rows from the storage engine to the SQL layer. This is very important when the storage engine involves traffic over the network. This mechanism was initially created to optimize MySQL Cluster (NDB) behavior. For the NDB storage engine [...]
There are three solutions for providing consistency in a data
service that operates across a wide area network (WAN). None of
them are free. What are you willing to pay and where are you
willing to add complexity? Depending on what you choose your
system can be more complex for external users, internal
application developers or operations. The choices are
multi-master with conflict resolution (eventual consistency),
multi-master with conflict prevention (strong consistency) and
single master with downtime on failover.
If you choose eventual consistency (EC) then internal application developers must write logic to resolve conflicts and external users will occasionally encounter inconsistent data. This might be a small price to pay for a system that provides higher availability and transparent failover. I am not aware of support for …
Stonebraker wrote a post on CAP. It is interesting because he
highlights all of the causes for failures in a database service
and then provides his estimates on the frequency of those causes.
Many posts on CAP ignore failures caused by how the service is
used and operated.
- Choose CA - You can get CA (consistency, availability) for a database service running within a datacenter. Use DRBD with MySQL. Then use asynchronous replication to a remote datacenter to survive the loss of a datacenter. You don't get CA between datacenters in this setup. Others have written about the …
Do you want to reference the CAP theorem at your next tech
conference? I certainly do. Consistency, availability and
partition tolerance are wonderful. You only get two and sometimes
you only get one. But what are they? In the CAP context
availability and partition tolerance are labels for behavior
defined by the CAP presentation and paper and this is the source
of much confusion. Start with the original work before reading
summaries by others.
Eric Brewer presented CAP in a keynote at the PODC. The best slides are on page 4. With XA you forfeit partitions and get CA (consistency + availability). With majority protocols you forfeit availability and get CP (consistency + partition tolerance). XA == CA is easy for me to remember and then I know that majority protocols provide CP.
CAP was proved in a …
Key-value databases are catching fire these days. Memcached, Redis, Cassandra, Keyspace, Tokyo Tyrant, and a handful of others are surging in popularity, judging by the contents of my feed reader.
I find a number of things interesting about these tools.
- There are many more of them than open-source traditional relational databases. (edit: I mean that there are many options that all seem similar to each other, instead of 3 or 4 standing out as the giants.)
- It seems that a lot of people are simultaneously inventing solutions to their problems in private without being aware of each other, then open-sourcing the results. That points to a sudden sea change in architectures. Tipping points tend to be abrupt, which would explain isolated redundant development.
- Many of the products are feature-rich with things programmers need: diverse language bindings, APIs, embeddability, and the ability to speak familiar …
As I distribute my card, the most common question I run into is
"what does MySQL AB do?"
My answer is usually something like "we allow you to store a lot of information and process it efficiently."
But I've been thinking a bit, and perhaps a better quip might be "you know what the Central Intelligence Agency is, right? Well, we are the most popular database system used by the Decentralized Intelligence Agency, as it were."