Software:YugabyteDB
![]() | |
Original author(s) | Kannan Muthukkaruppan, Karthik Ranganathan, Mikhail Bautin |
---|---|
Developer(s) | Yugabyte, Inc. |
Initial release | 2016 |
Stable release | 2.16 (Stable) 2.17 (Development) / December 15, 2022 December 8, 2022 |
Written in | C++ |
Operating system | Linux RedHat 7.x and derivatives, MacOS |
Platform | Bare Metal, Virtual Machine, Docker, Kubernetes and various container management platforms |
Available in | English |
Type | RDBMS |
License | Apache 2.0 |
Type | Private |
---|---|
Industry | Software |
Founded | 2016 |
Founder | Kannan Muthukkaruppan, Karthik Ranganathan, Mikhail Bautin |
Headquarters | Sunnyvale, California , USA |
Key people | Kannan Muthukkaruppan (Co-Founder & President, Product Development) Karthik Ranganathan (Co-Founder & CTO) Mikhail Bautin (Co-Founder & Software Architect) Bill Cook (CEO) |
Services | Commercial database management systems |
Website | yugabyte |
YugabyteDB is a high-performance transactional distributed SQL database for cloud-native applications, developed by Yugabyte.[1]
History
Yugabyte was founded by ex-Facebook engineers Kannan Muthukkaruppan, Karthik Ranganathan, and Mikhail Bautin. At Facebook, they were part of the team that built and operated Cassandra and HBase[2][3] during a period of significant growth in workloads such as Facebook Messenger and Facebook's Operational Data Store.[4]
The founders came together in February 2016 to build YugabyteDB,[5] believing that the trends they experienced at Facebook – microservices, containerization, high availability, geographic distribution, APIs, and open-source – were relevant to all businesses, especially as they move from on-premise to cloud-native operations.[6]
YugabyteDB was initially available in two editions: community and enterprise. In July 2019, Yugabyte open sourced previously commercial features and launched YugabyteDB as open-source under the Apache 2.0 license.
The rapid evolution of the product led to being named as a 2020 Gartner Cool Vendor in Data Management.[7]
Yugabyte launched Yugabyte Cloud,[8] now renamed YugabyteDB Managed, a fully managed database-as-a-service offering of YugabyteDB, in September 2021.[9]
Funding
Six years after the company's inception, Yugabyte closed a $188 Million Series C funding round to become a Unicorn start-up with a valuation of $1.3Bn[10]
Series | Date Announced | Amount | Investors |
---|---|---|---|
A | 10 Feb 2016 | $8M | Lightspeed Venture Partners, Jeff Rothschild[11][12] |
A | 12 Jun 2018 | $16M | Lightspeed Venture Partners, Dell Technology Capital[13][14] |
B | 09 Jun 2020 | $30M | Wipro Ventures, Lightspeed Venture Partners. Dell Technology Capital. 8VC [15][16] |
B | 03 Mar 2021 | $48M | Wipro Ventures. Lightspeed Venture Partners. Greenspring Associates, Dell Technology Capital, 8VC[17][18] |
C | 28 Oct 2021 | $188M | Wells Fargo Strategic Capital, Sapphire Ventures, Meritech Capital Partners, Lightspeed Venture Partners, Dell Technology Capital, 8VC[19][20][21] |
Architecture
YugabyteDB is a distributed SQL database that aims to be strongly transactionally consistent across failure zones (i.e. ACID compliance].[22][23] Jepsen testing, the de facto industry standard for verifying correctness, has never fully passed, mainly due to race conditions during schema changes.[24] In CAP Theorem terms YugabyteDB is a Consistent/Partition Tolerant (CP) database.[25][26][27]
YugabyteDB has two layers,[28] a storage engine known as DocDB and the Yugabyte Query Layer.[29]
DocDB
The storage engine consists of a customized RocksDB[29][30] combined with sharding and load balancing algorithms for the data. In addition, the Raft consensus algorithm controls the replication of data between the nodes.[29][30] There is also a Distributed transaction manager[29][30] and Multiversion concurrency control (MVCC)[29][30] to support distributed transactions.[30]
The engine also exploits a Hybrid Logical Clock[31][29] that combines coarsely-synchronized physical clocks with Lamport clocks to track causal relationships.[32]
The DocDB layer is not directly accessible by users.[29]
YugabyteDB Query Layer
Yugabyte has a pluggable query layer that abstracts the query layer from the storage layer below.[33] There are currently two APIs that can access the database:[30]
YSQL[34] is a PostgreSQL code-compatible API[35][36] based around v11.2. YSQL is accessed via standard PostgreSQL drivers using native protocols.[37] It exploits the native PostgreSQL code for the query layer[38] and replaces the storage engine with calls to the pluggable query layer. This re-use means that Yugabyte supports many features, including:
- Triggers & Stored Procedures[36]
- PostgreSQL extensions that operate in the query layer[36]
- Native JSONB support[36]
YCQL[39] is a Cassandra-like API based around v3.10 and re-written in C++. YCQL is accessed via standard Cassandra drivers[40] using the native protocol port of 9042. In addition to the 'vanilla' Cassandra components, YCQL is augmented with the following features:
- Transactional consistency - unlike Cassandra, Yugabyte YCQL is transactional.[41]
- JSON data types supported natively[42]
- Tables can have secondary indexes[43]
Currently, data written to either API is not accessible via the other API, however YSQL can access YCQL using the PostgreSQL foreign data wrapper feature.[44]
The security model for accessing the system is inherited from the API, so access controls for YSQL look like PostgreSQL,[45] and YCQL looks like Cassandra access controls.[46]
Cluster-to-cluster replication
In addition to its core functionality of distributing a single database, YugabyteDB has the ability to replicate between database instances.[47][48] The replication can be one-way or bi-directional and is asynchronous. One-way replication is used either to create a read-only copy for workload off-loading or in a read-write mode to create an active-passive standby. Bi-directional replication is generally used in read-write configurations and is used for active-active configurations, geo-distributed applications, etc.
Migration tooling
Yugabyte also provides YugabyteDB Voyager, tooling to facilitate the migration of Oracle and other similar databases to YugabyteDB.[49][50] This tool supports the migration of schemas, procedural code and data from the source platform to YugabyteDB.
See also
- Cloud database
- Distributed SQL
- Comparison of relational database management systems
- Comparison of object–relational database management systems
- Cloud native computing
- Database management system
- List of databases using MVCC
- List of relational database management systems
- CockroachDB
- TiDB
References
- ↑ "YugabyteDB System Properties". https://db-engines.com/en/system/YugabyteDB.
- ↑ "Karthik Ranganathan". https://www.dataversity.net/contributors/karthik-ranganathan/.
- ↑ Borthakur, Dhruba; Rash, Samuel; Schmidt, Rodrigo; Aiyer, Amitanand; Gray, Jonathan; Sarma, Joydeep Sen; Muthukkaruppan, Kannan; Spiegelberg, Nicolas et al. (2011). "Apache hadoop goes realtime at Facebook". Proceedings of the 2011 ACM SIGMOD International Conference on Management of data. p. 1071. doi:10.1145/1989323.1989438. ISBN 9781450306614. https://dl.acm.org/doi/abs/10.1145/1989323.1989438. Retrieved 15 January 2022.
- ↑ "YugaByte Raises $8M in Series A Funding". 2 November 2017. https://www.finsmes.com/2017/11/yugabyte-raises-8m-in-series-a-funding.html.
- ↑ "Yugabyte CTO outlines a PostgreSQL path to distributed cloud". 26 July 2021. https://venturebeat.com/2021/07/26/yugabyte-cto-outlines-a-postgresql-path-to-distributed-cloud/.
- ↑ "Yugabyte expands its fully managed enterprise cloud service with $188M". 28 October 2021. https://venturebeat.com/2021/10/28/yugabyte-expands-its-fully-managed-enterprise-cloud-service-with-188m/.
- ↑ "Yugabyte Named a 2020 Gartner Cool Vendor in Data Management". 2 November 2020. https://www.businesswire.com/news/home/20201102005567/en/Yugabyte-Named-a-2020-Gartner-Cool-Vendor-in-Data-Management.
- ↑ "Yugabyte Cloud: a Managed Distributed SQL Database". https://www.infoq.com/news/2021/10/yugabyte-cloud/.
- ↑ "Yugabyte Delivers Effortless Distributed SQL With Cloud Database-as-a-Service". 21 September 2021. https://www.businesswire.com/news/home/20210921005390/en/Yugabyte-Delivers-Effortless-Distributed-SQL-With-Cloud-Database-as-a-Service.
- ↑ "Another cloud native SQL database unicorn: Yugabyte raises $188M Series C funding at $1.3B valuation". https://www.zdnet.com/article/another-globally-distributed-cloud-native-sql-database-unicorn-yugabyte-raises-188m-series-c-funding-at-1-3b-valuation/.
- ↑ "YugaByte Raises $8M in Series A Funding". 2 November 2017. http://www.finsmes.com/2017/11/yugabyte-raises-8m-in-series-a-funding.html.
- ↑ "YugaByte Receives $8M Series A Round". http://www.vcnewsdaily.com/yugabyte/venture-capital-funding/rvcdzhbtxd.
- ↑ "YugaByte raises $16 Million to combine SQL and NoSQL in a single database". https://technologies.org/yugabyte-raises-16-million-to-combine-sql-and-nosql-in-a-single-database/.
- ↑ "YugaByte's new database software rakes in $16 million so developers can move to any cloud". 12 June 2018. https://techcrunch.com/2018/06/12/yugabytes-new-database-software-rakes-in-16-million-so-developers-can-move-to-any-cloud/.
- ↑ "Another globally distributed cloud native SQL database on the rise: Yugabyte Raises $30 million in Series B Funding". https://zd.net/3dOJNIy.
- ↑ "Yugabyte raises $30M for its cloud-native distributed SQL database". 9 June 2020. https://siliconangle.com/2020/06/09/yugabyte-raises-30m-cloud-native-distributed-sql-database/.
- ↑ "Yugabyte raises $48M for open source SQL database alternative". 3 March 2021. https://venturebeat.com/2021/03/03/yugabyte-raises-48m-for-open-source-sql-database-alternative/.
- ↑ "Yugabyte Raises $48 Million Funding Round to Accelerate Distributed SQL Enterprise Adoption and Fuel Global Expansion". https://finance.yahoo.com/news/yugabyte-raises-48-million-funding-140000688.html.
- ↑ "Yugabyte's latest funding round values the distributed SQL system at $1.3bn". https://go.theregister.com/feed/www.theregister.com/2021/10/29/yugabyte_series_c/.
- ↑ "Another cloud native SQL database unicorn: Yugabyte raises $188M Series C funding at $1.3B valuation". https://www.zdnet.com/article/another-globally-distributed-cloud-native-sql-database-unicorn-yugabyte-raises-188m-series-c-funding-at-1-3b-valuation/.
- ↑ "High-performance database startup Yugabyte raises $188M in new funding round". 28 October 2021. https://siliconangle.com/2021/10/28/high-performance-database-startup-yugabyte-raises-188m-series-c-funding-round/.
- ↑ "ACID Transactions". 18 August 2019. https://devopedia.org/acid-transactions.
- ↑ "ICT Solutions for local flexibility markets". Proceedings of the IE 2020 International Conference. https://www.conferenceie.ase.ro/wp-content/uploads/2020/06/ProceedingsIE2020/ict_solutions_for_local_flexibility_markets.pdf.
- ↑ "YugaByte DB 1.3.1". https://jepsen.io/analyses/yugabyte-db-1.3.1.
- ↑ "YugaByteDB: A Distributed Cloud Native Database for a Highly Scalable Data Store". 14 September 2020. https://www.opensourceforu.com/2020/09/yugabytedb-a-distributed-cloud-native-database-for-a-highly-scalable-data-store/.
- ↑ "Yugabyte Design Goals". https://docs.yugabyte.com/latest/architecture/design-goals/.
- ↑ Galić, Zdravko; Vuzem, Mario (2020). "A Generic and Extensible Core and Prototype of Consistent, Distributed, and Resilient LIS". ISPRS International Journal of Geo-Information 9 (7): 437. doi:10.3390/ijgi9070437. Bibcode: 2020IJGI....9..437G.
- ↑ "Yugabyte Layered Architecture". https://docs.yugabyte.com/latest/architecture/layered-architecture/.
- ↑ 29.0 29.1 29.2 29.3 29.4 29.5 29.6 Hirsch, Orhan Henrik. "Scalability of NewSQL Databases in a Cloud Environment". NYNU Open. https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2777732/no.ntnu%3ainspera%3a57320302%3a31535683.pdf?sequence=1&isAllowed=y.
- ↑ 30.0 30.1 30.2 30.3 30.4 30.5 Budholia, Akash. "NewSQL Monitoring System". https://scholarworks.sjsu.edu/cgi/viewcontent.cgi?article=1996&context=etd_projects.
- ↑ "Hybrid Clock". https://martinfowler.com/articles/patterns-of-distributed-systems/hybrid-clock.html.
- ↑ "Distributed Transactions without Atomic Clocks". https://www.yugabyte.com/wp-content/uploads/2021/05/Distributed-Transactions-Without-Atomic-Clocks.pdf.
- ↑ "Yugabyte DB 2.0 Ships Production-Ready Distributed SQL Database for Going Cloud Native". https://www.idevnews.com/stories/7298/Yugabyte-DB-20-Ships-Production-Ready-Distributed-SQL-Database-for-Going-Cloud-Native.
- ↑ "Yugabyte Structured Query Language (YSQL)". https://docs.yugabyte.com/latest/api/ysql/.
- ↑ "Yugabyte Meets Developer Demand for Comprehensive PostgreSQL Compatibility with YugabyteDB 2.11". 23 November 2021. https://www.businesswire.com/news/home/20211123005572/en/Yugabyte-Meets-Developer-Demand-for-Comprehensive-PostgreSQL-Compatibility-with-YugabyteDB-2.11.
- ↑ 36.0 36.1 36.2 36.3 "PostgreSQL Compatibility in YugabyteDB 2.0". 17 September 2019. https://blog.yugabyte.com/postgresql-compatibility-in-yugabyte-db-2-0/.
- ↑ "Client Drivers for YSQL". https://docs.yugabyte.com/latest/reference/drivers/ysql-client-drivers/.
- ↑ "Why We Built YugabyteDB by Reusing the PostgreSQL Query Layer". 24 April 2020. https://blog.yugabyte.com/why-we-built-yugabytedb-by-reusing-the-postgresql-query-layer/.
- ↑ "Yugabyte Cloud Query Language (YCQL)". https://docs.yugabyte.com/latest/api/ycql/.
- ↑ "Client drivers for YCQL". https://docs.yugabyte.com/latest/reference/drivers/ycql-client-drivers/.
- ↑ "ACID Transactions". https://docs.yugabyte.com/latest/develop/learn/acid-transactions-ycql/.
- ↑ "YCQL JSONB Data Type". https://docs.yugabyte.com/latest/api/ycql/type_jsonb/.
- ↑ "YCQL Secondary Indexes". https://docs.yugabyte.com/latest/develop/learn/data-modeling-ycql/#secondary-indexes.
- ↑ "YugabyteDB: Postgres foreign data wrapper". 8 November 2021. https://gruchalski.com/posts/2021-11-08-yugabytedb-postgres-foreign-data-wrapper/.
- ↑ "YSQL Access Control". https://docs.yugabyte.com/latest/secure/authorization/rbac-model/.
- ↑ "YCWL access Controls". https://docs.yugabyte.com/latest/secure/authorization/rbac-model-ycql/.
- ↑ "Yugabyte Expands Multi-Region Database Capabilities and Enterprise-Grade Security with YugabyteDB 2.5". 12 November 2020. https://www.businesswire.com/news/home/20201112005160/en/Yugabyte-Expands-Multi-Region-Database-Capabilities-and-Enterprise-Grade-Security-with-YugabyteDB-2.5.
- ↑ "xCLuster Replication". https://docs.yugabyte.com/latest/architecture/docdb-replication/async-replication/.
- ↑ "Yugabyte simplifies SQL database migration with YugabyteDB Voyager". 24 January 2023. https://siliconangle.com/2023/01/24/yugabyte-simplifies-sql-database-migration-yugabytedb-voyager/?utm_content=235627152&utm_medium=social&utm_source=linkedin&hss_channel=lcp-10643910.
- ↑ "Yugabyte chomps into cloud migration". 2 February 2023. https://www.techzine.eu/blogs/data-management/101380/yugabyte-chomps-into-cloud-migration/.
External links
![]() | Original source: https://en.wikipedia.org/wiki/YugabyteDB.
Read more |