RethinkDB vs Vitess: What are the differences?
What is RethinkDB? JSON. Scales to multiple machines with very little effort. Open source. RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn.
What is Vitess? It is a database clustering system for horizontal scaling of MySQL. It is a database solution for deploying, scaling and managing large clusters of MySQL instances. It’s architected to run as effectively in a public or private cloud architecture as it does on dedicated hardware. It combines and extends many important MySQL features with the scalability of a NoSQL database.
RethinkDB and Vitess belong to "Databases" category of the tech stack.
Some of the features offered by RethinkDB are:
- JSON data model and immediate consistency.
- Distributed joins, subqueries, aggregation, atomic updates.
- Secondary, compound, and arbitrarily computed indexes.
On the other hand, Vitess provides the following key features:
- Connection pooling
RethinkDB is an open source tool with 22.4K GitHub stars and 1.74K GitHub forks. Here's a link to RethinkDB's open source repository on GitHub.
What is RethinkDB?
What is Vitess?
Need advice about which tool to choose?Ask the StackShare community!
Why do developers choose Vitess?
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using RethinkDB?
What are the cons of using Vitess?
Sign up to get full access to all the companiesMake informed product decisions
They're critical to the business data and operated by an ecosystem of tools. But once the tools have been used, it was important to verify that the data remains as expected at all times. Even with the best efforts to prevent errors, inconsistencies are bound to creep at any stage. In order to test the code in a comprehensive manner, Slack developed a structure known as a consistency check framework.
This is a responsive and personalized framework that can meaningfully analyze and report on your data with a number of proactive and reactive benefits. This framework is important because it can help with repair and recovery from an outage or bug, it can help ensure effective data migration through scripts that test the code post-migration, and find bugs throughout the database. This framework helped prevent duplication and identifies the canonical code in each case, running as reusable code.
The framework was created by creating generic versions of the scanning and reporting code and an interface for the checking code. The checks could be run from the command line and either a single team could be scanned or the whole system. The process was improved over time to further customize the checks and make them more specific. In order to make this framework accessible to everyone, a GUI was added and connected to the internal administrative system. The framework was also modified to include code that can fix certain problems, while others are left for manual intervention. For Slack, such a tool proved extremely beneficial in ensuring data integrity both internally and externally.
We initially chose RethinkDB because of the schema-less document store features, and better durability resilience/story than MongoDB In the end, it didn't work out quite as we expected: there's plenty of scalability issues, it's near impossible to run analytical workloads and small community makes working with Rethink a challenge. We're in process of migrating all our workloads to PostgreSQL and hopefully, we will be able to decommission our RethinkDB deployment soon.
High-speed update-aware storage used in our region server infrastructure; provides a good middle layer for storage of rapidly modified information.
Main database, using it in multiple datacenters in an active-active configuration.