Database clusters are pretty sophisticated distributed systems with complex dependencies between nodes. The failure of a node will generally impact the overall cluster, as the remaining nodes need to reconfigure themselves to continue to operate without the failed node. Since re-introducing a node will also affect the existing cluster, the timing could therefore be dependent on the state of the other nodes in the cluster. Repair and restarts often needs to be performed[Read more...]
Use your MySQL expertise to analyze the strengths and weaknesses of MongoDB.
SPEAKER: Tim Callaghan, VP of Engineering at Tokutek
DATE: Tuesday, December 17th
TIME: 1pm ET
MongoDB is a popular NoSQL DBMS that shares the ease-of-use and quick setup that made MySQL famous. But is MongoDB really up to the job? Is it right for your applications? If you understand MySQL well, you know how database systems work.
Join Tim Callaghan, VP/Engineering at Tokutek as he recaps his and CEO of Continuent, Robert Hodges, session from 2013′s Percona Live London. Learn how to lean on your knowledge of topics like schema design, query optimization, indexing, sharding, and high availability to analyze the strengths and weaknesses of MongoDB. System design is all about asking the right[Read more...]
The Severalnines team is pleased to announce the release of ClusterControl 1.2.4. This release contains key new features along with performance improvements and bug fixes.
We have outlined some of the key features below. For additional details about the release:[Read more...]
Dan McKinley (Etsy) wrote an [IMHO] insightful article Why MongoDB Never Worked at Etsy.
First off, it’s important to realise that it’s not a snipe at MongoDB – it’s a fine tool.
The lessons are related to mixing multiple databases in a deployment (administration and monitoring overhead) and the acknowledgement that issues of schema design, scalability and maintenance need attention regardless of which brand or technology you pick for your database. That comes back to the old insight that migrations are rarely worth it (regardless of what you migrate to what).
I think these are indeed important considerations as they have a major impact on the ongoing costs of your entire environment (production as well as development and testing) – these days we[Read more...]
We’re particularly excited about this year’s Percona Live London MySQL Conference. The line-up of speakers & topics looks excellent and it’s good to see speakers from Oracle, Percona, the MariaDB Foundation (amongst others) scheduled at the same event. It demonstrates not just the diversity of the ever broadening MySQL ecosystem, but also the fact that there really is room for everyone to contribute, participate in and advance MySQL in manifold directions while still retaining a certain amount of uniformity.
And this is how we will be contributing to the event ...[Read more...]
Since our initial release last summer, TokuMX has supported fully ACID and MVCC multi-statement transactions. I’d like to take this post to explain exactly what we’ve done and what features are now available to the user.
But before beginning, an important note: we have implemented this for non-sharded clusters only. We do not support distributed transactions across different shards.
At a high level, what have we done?
We have taken MongoDB’s basic transactional behavior, and extended it. MongoDB is transactional with respect to one, and only one, document. MongoDB guarantees single document atomicity. Journaling provides durability[Read more...]
The upcoming Percona Live London conference, November 11-12, features quite a number of talks about the latest MySQL features and related technologies. There will be a lots of talks about the new MySQL 5.6 features:
We already discussed one to one relations in MongoDB, and the main conclusion was that you should design your collections according to the most frequent access pattern. With one to many relations, this is still valid, but other factors may come into play.
Let’s look at a simple problem: we are a shop and we want to store customers’ information as well as their orders. Each customer can make several orders, this is a one to many relation. With MySQL or any relational database system, we would create 2 tables:
CREATE TABLE customer ( customer_id int(11) NOT NULL AUTO_INCREMENT, name varchar(50) NOT NULL DEFAULT '', zipcode varchar(10) DEFAULT NULL, PRIMARY KEY (customer_id) ) ENGINE=InnoDB; CREATE TABLE orders ([Read more...]
Since introducing TokuMX, we’ve discussed benefits that TokuMX has for existing MongoDB applications that require no changes. In this post, I introduce an extension we’ve made to the indexing API: clustering indexes, a tool that can tremendously improve query performance. If I were to speak to someone about clustering indexes, I think the conversation could go something like this…
What is a Clustering Index?
A clustering index is an index that stores the entire document, not just the defined key.
A common example is[Read more...]