AttentionThis page documents an earlier version. Go to the latest (v2.0)version.
When is YugabyteDB a good fit?
YugabyteDB is a good fit for fast-growing, cloud native applications that need to serve business-critical data reliably, with zero data loss, high availability and low latency. Common use cases include:
Distributed Online Transaction Processing (OLTP) applications needing multi-region scalability without compromising strong consistency and low latency. E.g. User identity, Retail product catalog, Financial data service.
Hybrid Transactional/Analytical Processing (HTAP), also known as Translytical, applications needing real-time analytics on transactional data. E.g User personalization, fraud detection, machine learning.
Streaming applications needing to efficiently ingest, analyze and store ever-growing data. E.g. IoT sensor analytics, time series metrics, real time monitoring.
A few such use cases are detailed here.
When is YugabyteDB not a good fit?
How many major releases YugabyteDB has had so far?
YugabyteDB has had 4 major releases.
Next major release is the v2.0 release in Summer 2019.
Can I deploy YugabyteDB to production?
Yes, YugabyteDB is production ready starting with v1.0 in May 2018. The YSQL API is in beta and is expected to reach production readiness in the v2.0 (Summer 2019).
Which companies are currently using YugabyteDB in production?
Reference deployments are listed here.
What is the definition of the “Beta” feature tag?
Some features are marked Beta in every release. Following are the points to consider:
Code is well tested. Enabling the feature is considered safe. Some of these features enabled by default.
Support for the overall feature will not be dropped, though details may change in incompatible ways in a subsequent beta or GA release.
Recommended only for non-production use.
Any performance benchmarks available?
Yahoo Cloud Serving Benchmark (YCSB) is a popular benchmarking framework for NoSQL databases. We benchmarked Yugabyte Cloud QL (YCQL) API against standard Apache Cassandra using YCSB. YugabyteDB outperformed Apache Cassandra by increasing margins as the number of keys (data density) increased across all the 6 YCSB workload configurations.
Netflix Data Benchmark (NDBench) is another publicly available, cloud-enabled benchmark tool for data store systems. We ran NDBench against YugabyteDB for 7 days and observed P99 and P995 latencies that were orders of magnitude less than that of Apache Cassandra.
Details for both the above benchhmarks are published in Building a Strongly Consistent Cassandra with Better Performance.
What about correctness testing?
Jepsen is a widely used framework to evaluate databases’ behavior under different failure scenarios. It allows for a database to be run across multiple nodes, and create artificial failure scenarios, as well as verify the correctness of the system under these scenarios. YugabyteDB 1.2 passes formal Jepsen testing.
Is the Community Edition open source?
Yes, the Community Edition is a completely open source, fully functioning version of YugabyteDB. It is licensed under Apache 2.0 and the source is available on GitHub.
How do the Community Edition and the Enterprise Edition differ from each other?
Community Edition is the best choice for the startup organizations with strong technical operations expertise looking to deploy YugabyteDB into production with traditional DevOps tools.
Enterprise Edition includes all the features of the Community Edition as well as additional features such as built-in cloud native operations, enterprise-grade deployment options and world-class support. It is the simplest way to run YugabyteDB in mission-critical production environments with one or more regions (across both public cloud and on-premises datacenters).
A more detailed comparison of the two editions is available here.
How does YugabyteDB compare to other SQL and NoSQL databases?
- Google Cloud Spanner
- Amazon DynamoDB
- Apache Cassandra
- Azure Cosmos DB
- Apache HBase
- Redis In-Memory Store
What is the status of the YEDIS API?
For key-value workloads that need persistence, elasticity and fault-tolerance, YCQL (with notion of keyspaces, tables, role-based acces control and more) is often a great fit, especially if the application new rather than an existing one already written in Redis. The YCQL drivers are also more clustering aware, and hence YCQL is expected to perform better than YEDIS for equivalent scenarios. In general, our new feature development (support for data types, built-ins, TLS, backups and more), correctness testing (using Jepsen) and performance optimization is in the YSQL and YCQL areas.