Jump to content

YugabyteDB: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Citation bot (talk | contribs)
Alter: template type, title. Add: bibcode, issue, volume, journal, doi-access, date, s2cid, isbn, page, doi, year, authors 1-12. Removed proxy/dead URL that duplicated identifier. Removed access-date with no URL. Removed parameters. | Use this bot. Report bugs. | Suggested by Headbomb | #UCB_toolbar
Line 37: Line 37:


==History==
==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 [[Apache Cassandra|Cassandra]] and [[Apache HBase|HBase]].<ref>{{cite web |title=Karthik Ranganathan |url=https://www.dataversity.net/contributors/karthik-ranganathan/ |website=Dataversity |access-date=30 December 2021}}</ref><ref>{{cite web |title=Apache hadoop goes realtime at Facebook |url=https://dl.acm.org/doi/abs/10.1145/1989323.1989438 |website=Association For Computer Machinery |access-date=15 January 2022}}</ref> The team scaled the data platform for massive real-time workloads such as Facebook [[Messenger (software)|Messenger]] and Facebook's [[Operational Data Store]] from millions to billions of users in just a few years.<ref>{{cite web |title=YugaByte Raises $8M in Series A Funding |access-date=30 December 2021|url=https://www.finsmes.com/2017/11/yugabyte-raises-8m-in-series-a-funding.html |website=FINSMES}}</ref>
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 [[Apache Cassandra|Cassandra]] and [[Apache HBase|HBase]].<ref>{{cite web |title=Karthik Ranganathan |url=https://www.dataversity.net/contributors/karthik-ranganathan/ |website=Dataversity |access-date=30 December 2021}}</ref><ref>{{cite book |title=Apache hadoop goes realtime at Facebook |url=https://dl.acm.org/doi/abs/10.1145/1989323.1989438 |website=Association For Computer Machinery |year=2011 |doi=10.1145/1989323.1989438 |access-date=15 January 2022|last1=Borthakur |first1=Dhruba |last2=Rash |first2=Samuel |last3=Schmidt |first3=Rodrigo |last4=Aiyer |first4=Amitanand |last5=Gray |first5=Jonathan |last6=Sarma |first6=Joydeep Sen |last7=Muthukkaruppan |first7=Kannan |last8=Spiegelberg |first8=Nicolas |last9=Kuang |first9=Hairong |last10=Ranganathan |first10=Karthik |last11=Molkov |first11=Dmytro |last12=Menon |first12=Aravind |page=1071 |isbn=9781450306614 |s2cid=207188340 }}</ref> The team scaled the data platform for massive real-time workloads such as Facebook [[Messenger (software)|Messenger]] and Facebook's [[Operational Data Store]] from millions to billions of users in just a few years.<ref>{{cite web |title=YugaByte Raises $8M in Series A Funding |access-date=30 December 2021|url=https://www.finsmes.com/2017/11/yugabyte-raises-8m-in-series-a-funding.html |website=FINSMES|date=2 November 2017 }}</ref>


The founders came together in February 2016 to build YugabyteDB,<ref>{{cite web |title=Yugabyte CTO outlines a PostgreSQL path to distributed cloud |url=https://venturebeat.com/2021/07/26/yugabyte-cto-outlines-a-postgresql-path-to-distributed-cloud/ |website=VentureBeat |access-date=31 December 2021}}</ref> believing that the trends they experienced at Facebook – [[microservices]], [[Containerization (computing)|containerization]], [[High-availability cluster|high availability]], geographic distribution, [[API]]s, and [[Open-source software|open-source]] – were relevant to all businesses, especially as they move from on-premise to cloud-native operations.<ref>{{cite web |title=Yugabyte expands its fully managed enterprise cloud service with $188M |access-date=30 December 2021|url=https://venturebeat.com/2021/10/28/yugabyte-expands-its-fully-managed-enterprise-cloud-service-with-188m/ |website=VentureBeat}}</ref>
The founders came together in February 2016 to build YugabyteDB,<ref>{{cite web |title=Yugabyte CTO outlines a PostgreSQL path to distributed cloud |url=https://venturebeat.com/2021/07/26/yugabyte-cto-outlines-a-postgresql-path-to-distributed-cloud/ |website=VentureBeat |date=26 July 2021 |access-date=31 December 2021}}</ref> believing that the trends they experienced at Facebook – [[microservices]], [[Containerization (computing)|containerization]], [[High-availability cluster|high availability]], geographic distribution, [[API]]s, and [[Open-source software|open-source]] – were relevant to all businesses, especially as they move from on-premise to cloud-native operations.<ref>{{cite web |title=Yugabyte expands its fully managed enterprise cloud service with $188M |access-date=30 December 2021|url=https://venturebeat.com/2021/10/28/yugabyte-expands-its-fully-managed-enterprise-cloud-service-with-188m/ |website=VentureBeat|date=28 October 2021 }}</ref>


YugabyteDB was initially available in two editions: community and enterprise. In July 2019, Yugabyte open sourced previously commercial features and launched YugabyteDB as 100% open-source under the [[Apache License|Apache]] 2.0 license.
YugabyteDB was initially available in two editions: community and enterprise. In July 2019, Yugabyte open sourced previously commercial features and launched YugabyteDB as 100% open-source under the [[Apache License|Apache]] 2.0 license.


The rapid evolution of the product led to being named as a 2020 [[Gartner]] Cool Vendor in Data Management.<ref>{{cite web |title=Yugabyte Named a 2020 Gartner Cool Vendor in Data Management |url=https://www.businesswire.com/news/home/20201102005567/en/Yugabyte-Named-a-2020-Gartner-Cool-Vendor-in-Data-Management |website=BusinessWire |access-date=30 December 2021}}</ref>
The rapid evolution of the product led to being named as a 2020 [[Gartner]] Cool Vendor in Data Management.<ref>{{cite web |title=Yugabyte Named a 2020 Gartner Cool Vendor in Data Management |url=https://www.businesswire.com/news/home/20201102005567/en/Yugabyte-Named-a-2020-Gartner-Cool-Vendor-in-Data-Management |website=BusinessWire |date=2 November 2020 |access-date=30 December 2021}}</ref>


Yugabyte launched Yugabyte Cloud,<ref>{{cite web |title=Yugabyte Cloud: a Managed Distributed SQL Database |url=https://www.infoq.com/news/2021/10/yugabyte-cloud/ |website=InfoQ |access-date=31 December 2021}}</ref> a fully managed [[Cloud database|database-as-a-service]] offering of YugabyteDB, in September 2021.<ref>{{cite web |title=Yugabyte Delivers Effortless Distributed SQL With Cloud Database-as-a-Service |url=https://www.businesswire.com/news/home/20210921005390/en/Yugabyte-Delivers-Effortless-Distributed-SQL-With-Cloud-Database-as-a-Service |website=BusinessWire |access-date=30 December 2021}}</ref> Yugabyte Cloud combines the power of distributed SQL with the ease of use of a cloud database management system.
Yugabyte launched Yugabyte Cloud,<ref>{{cite web |title=Yugabyte Cloud: a Managed Distributed SQL Database |url=https://www.infoq.com/news/2021/10/yugabyte-cloud/ |website=InfoQ |access-date=31 December 2021}}</ref> a fully managed [[Cloud database|database-as-a-service]] offering of YugabyteDB, in September 2021.<ref>{{cite web |title=Yugabyte Delivers Effortless Distributed SQL With Cloud Database-as-a-Service |url=https://www.businesswire.com/news/home/20210921005390/en/Yugabyte-Delivers-Effortless-Distributed-SQL-With-Cloud-Database-as-a-Service |website=BusinessWire |access-date=30 December 2021}}</ref> Yugabyte Cloud combines the power of distributed SQL with the ease of use of a cloud database management system.
Line 63: Line 63:
| 10 Feb 2016
| 10 Feb 2016
| $8M
| $8M
| [[Lightspeed Venture Partners]], Jeff Rothschild<ref>{{cite web |title=YugaByte Raises $8M in Series A Funding |url=http://www.finsmes.com/2017/11/yugabyte-raises-8m-in-series-a-funding.html |website=Finsmes}}</ref><ref>{{cite web |title=YugaByte Receives $8M Series A Round |url=http://www.vcnewsdaily.com/yugabyte/venture-capital-funding/rvcdzhbtxd |website=VC News Daily |access-date=12 January 2022}}</ref>
| [[Lightspeed Venture Partners]], Jeff Rothschild<ref>{{cite web |title=YugaByte Raises $8M in Series A Funding |url=http://www.finsmes.com/2017/11/yugabyte-raises-8m-in-series-a-funding.html |website=Finsmes|date=2 November 2017 }}</ref><ref>{{cite web |title=YugaByte Receives $8M Series A Round |url=http://www.vcnewsdaily.com/yugabyte/venture-capital-funding/rvcdzhbtxd |website=VC News Daily |access-date=12 January 2022}}</ref>
|-
|-
| A
| A
| 12 Jun 2018
| 12 Jun 2018
| $16M
| $16M
| Lightspeed Venture Partners, Dell Technology Capital<ref>{{cite web |title=YugaByte raises $16 Million to combine SQL and NoSQL in a single database |url=https://technologies.org/yugabyte-raises-16-million-to-combine-sql-and-nosql-in-a-single-database/ |website=Technologies.org |access-date=12 January 2022}}</ref><ref>{{cite web |title=YugaByte’s new database software rakes in $16 million so developers can move to any cloud |url=https://techcrunch.com/2018/06/12/yugabytes-new-database-software-rakes-in-16-million-so-developers-can-move-to-any-cloud/ |website=TechCrunch |access-date=12 January 2022}}</ref>
| Lightspeed Venture Partners, Dell Technology Capital<ref>{{cite web |title=YugaByte raises $16 Million to combine SQL and NoSQL in a single database |url=https://technologies.org/yugabyte-raises-16-million-to-combine-sql-and-nosql-in-a-single-database/ |website=Technologies.org |access-date=12 January 2022}}</ref><ref>{{cite web |title=YugaByte's new database software rakes in $16 million so developers can move to any cloud |url=https://techcrunch.com/2018/06/12/yugabytes-new-database-software-rakes-in-16-million-so-developers-can-move-to-any-cloud/ |website=TechCrunch |access-date=12 January 2022}}</ref>
|-
|-
| B
| B
| 09 Jun 2020
| 09 Jun 2020
| $30M
| $30M
| [[Wipro]] Ventures, Lightspeed Venture Partners. Dell Technology Capital. 8VC <ref>{{cite web |title=Another globally distributed cloud native SQL database on the rise: Yugabyte Raises $30 million in Series B Funding |url=https://zd.net/3dOJNIy |website=ZDNet |access-date=12 January 2022}}</ref><ref>{{cite web |title=Yugabyte raises $30M for its cloud-native distributed SQL database |url=https://siliconangle.com/2020/06/09/yugabyte-raises-30m-cloud-native-distributed-sql-database/ |website=SiliconAngle |access-date=12 January 2022}}</ref>
| [[Wipro]] Ventures, Lightspeed Venture Partners. Dell Technology Capital. 8VC <ref>{{cite web |title=Another globally distributed cloud native SQL database on the rise: Yugabyte Raises $30 million in Series B Funding |url=https://zd.net/3dOJNIy |website=ZDNet |access-date=12 January 2022}}</ref><ref>{{cite web |title=Yugabyte raises $30M for its cloud-native distributed SQL database |url=https://siliconangle.com/2020/06/09/yugabyte-raises-30m-cloud-native-distributed-sql-database/ |website=SiliconAngle |date=9 June 2020 |access-date=12 January 2022}}</ref>
|-
|-
| B
| B
| 03 Mar 2021
| 03 Mar 2021
| $48M
| $48M
| Wipro Ventures. Lightspeed Venture Partners. Greenspring Associates, Dell Technology Capital, 8VC<ref>{{cite web |title=Yugabyte raises $48M for open source SQL database alternative |url=https://venturebeat.com/2021/03/03/yugabyte-raises-48m-for-open-source-sql-database-alternative/ |website=VentureBeat |access-date=12 January 2022}}</ref><ref>{{cite web |title=Yugabyte Raises $48 Million Funding Round to Accelerate Distributed SQL Enterprise Adoption and Fuel Global Expansion |url=https://finance.yahoo.com/news/yugabyte-raises-48-million-funding-140000688.html |website=YahoonFinance |access-date=12 January 2022}}</ref>
| Wipro Ventures. Lightspeed Venture Partners. Greenspring Associates, Dell Technology Capital, 8VC<ref>{{cite web |title=Yugabyte raises $48M for open source SQL database alternative |url=https://venturebeat.com/2021/03/03/yugabyte-raises-48m-for-open-source-sql-database-alternative/ |website=VentureBeat |date=3 March 2021 |access-date=12 January 2022}}</ref><ref>{{cite web |title=Yugabyte Raises $48 Million Funding Round to Accelerate Distributed SQL Enterprise Adoption and Fuel Global Expansion |url=https://finance.yahoo.com/news/yugabyte-raises-48-million-funding-140000688.html |website=YahoonFinance |access-date=12 January 2022}}</ref>
|-
|-
| C
| C
| 28 Oct 2021
| 28 Oct 2021
| $188M
| $188M
| Wells Fargo Strategic Capital, [[Sapphire Ventures]], [[Meritech Capital Partners]], Lightspeed Venture Partners, Dell Technology Capital, 8VC<ref>{{cite web |title=Yugabyte's latest funding round values the distributed SQL system at $1.3bn |url=https://go.theregister.com/feed/www.theregister.com/2021/10/29/yugabyte_series_c/ |website=The Register |access-date=12 January 2022}}</ref><ref>{{cite web |title=Another cloud native SQL database unicorn: Yugabyte raises $188M Series C funding at $1.3B valuation |url=https://www.zdnet.com/article/another-globally-distributed-cloud-native-sql-database-unicorn-yugabyte-raises-188m-series-c-funding-at-1-3b-valuation/ |website=ZDNet |access-date=12 January 2022}}</ref><ref>{{cite web |title=High-performance database startup Yugabyte raises $188M in new funding round |url=https://siliconangle.com/2021/10/28/high-performance-database-startup-yugabyte-raises-188m-series-c-funding-round/ |website=Silicon Angle |access-date=12 January 2022}}</ref>
| Wells Fargo Strategic Capital, [[Sapphire Ventures]], [[Meritech Capital Partners]], Lightspeed Venture Partners, Dell Technology Capital, 8VC<ref>{{cite web |title=Yugabyte's latest funding round values the distributed SQL system at $1.3bn |url=https://go.theregister.com/feed/www.theregister.com/2021/10/29/yugabyte_series_c/ |website=The Register |access-date=12 January 2022}}</ref><ref>{{cite web |title=Another cloud native SQL database unicorn: Yugabyte raises $188M Series C funding at $1.3B valuation |url=https://www.zdnet.com/article/another-globally-distributed-cloud-native-sql-database-unicorn-yugabyte-raises-188m-series-c-funding-at-1-3b-valuation/ |website=ZDNet |access-date=12 January 2022}}</ref><ref>{{cite web |title=High-performance database startup Yugabyte raises $188M in new funding round |url=https://siliconangle.com/2021/10/28/high-performance-database-startup-yugabyte-raises-188m-series-c-funding-round/ |website=Silicon Angle |date=28 October 2021 |access-date=12 January 2022}}</ref>
|}
|}


== Architecture ==
== Architecture ==


YugabyteDB is a distributed SQL database that is strongly transactionally consistent across failure zones (i.e. [[ACID]] compliance]<ref>{{cite web |title=ACID Transactions |url=https://devopedia.org/acid-transactions |website=Devopedia |access-date=12 January 2022}}</ref><ref>{{cite web |title= ICT Solutions for local flexibility markets |url=https://www.conferenceie.ase.ro/wp-content/uploads/2020/06/ProceedingsIE2020/ict_solutions_for_local_flexibility_markets.pdf |website=Academia de Studii Economice din Bucuresti |publisher=Proceedings of the IE 2020 International Conference |access-date=15 January 2022}}</ref> as demonstrated by Jepsen testing.<ref>{{cite web |title=YugaByte DB 1.3.1 |url=https://jepsen.io/analyses/yugabyte-db-1.3.1 |access-date=30 December 2021|website=Jepsen.io}}</ref> In [[CAP Theorem]] terms YugabyteDB is a Consistent/Partition Tolerant (CP) database.<ref>{{cite web |title=YugaByteDB: A Distributed Cloud Native Database for a Highly Scalable Data Store |url=https://www.opensourceforu.com/2020/09/yugabytedb-a-distributed-cloud-native-database-for-a-highly-scalable-data-store/ |website=Open Source Foru |access-date=15 January 2022}}</ref><ref>{{cite web |title=Yugabyte Design Goals |url=https://docs.yugabyte.com/latest/architecture/design-goals/ |website=Yugabyte.com |access-date=15 January 2022}}</ref><ref>{{cite web |title=A Generic and Extensible Core and Prototype of Consistent, Distributed, and Resilient LIS |url=https://doi.org/10.3390/ijgi9070437 |website=MDPI Open source Journals |access-date=15 January 2022}}</ref>
YugabyteDB is a distributed SQL database that is strongly transactionally consistent across failure zones (i.e. [[ACID]] compliance]<ref>{{cite web |title=ACID Transactions |url=https://devopedia.org/acid-transactions |website=Devopedia |date=18 August 2019 |access-date=12 January 2022}}</ref><ref>{{cite web |title= ICT Solutions for local flexibility markets |url=https://www.conferenceie.ase.ro/wp-content/uploads/2020/06/ProceedingsIE2020/ict_solutions_for_local_flexibility_markets.pdf |website=Academia de Studii Economice din Bucuresti |publisher=Proceedings of the IE 2020 International Conference |access-date=15 January 2022}}</ref> as demonstrated by Jepsen testing.<ref>{{cite web |title=YugaByte DB 1.3.1 |url=https://jepsen.io/analyses/yugabyte-db-1.3.1 |access-date=30 December 2021|website=Jepsen.io}}</ref> In [[CAP Theorem]] terms YugabyteDB is a Consistent/Partition Tolerant (CP) database.<ref>{{cite web |title=YugaByteDB: A Distributed Cloud Native Database for a Highly Scalable Data Store |url=https://www.opensourceforu.com/2020/09/yugabytedb-a-distributed-cloud-native-database-for-a-highly-scalable-data-store/ |website=Open Source Foru |date=14 September 2020 |access-date=15 January 2022}}</ref><ref>{{cite web |title=Yugabyte Design Goals |url=https://docs.yugabyte.com/latest/architecture/design-goals/ |website=Yugabyte.com |access-date=15 January 2022}}</ref><ref>{{cite journal |title=A Generic and Extensible Core and Prototype of Consistent, Distributed, and Resilient LIS |year=2020 |doi=10.3390/ijgi9070437 |doi-access=free |last1=Galić |first1=Zdravko |last2=Vuzem |first2=Mario |journal=Isprs International Journal of Geo-Information |volume=9 |issue=7 |page=437 |bibcode=2020IJGI....9..437G }}</ref>


YugabyteDB has two layers,<ref>{{cite web |title=Yugabyte Layered Architecture |url=https://docs.yugabyte.com/latest/architecture/layered-architecture/ |website=Yugabyte |access-date=15 January 2022}}</ref> a storage engine known as DocDB and the Yugabyte Query Layer.<ref name="ntnu">{{cite web |last1=Hirsch |first1=Orhan Henrik |title=Scalability of NewSQL Databases in a Cloud Environment |url=https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2777732/no.ntnu%3ainspera%3a57320302%3a31535683.pdf?sequence=1&isAllowed=y |website=Norwegian University of Science and Technology |publisher=NYNU Open |access-date=15 January 2022}}</ref>
YugabyteDB has two layers,<ref>{{cite web |title=Yugabyte Layered Architecture |url=https://docs.yugabyte.com/latest/architecture/layered-architecture/ |website=Yugabyte |access-date=15 January 2022}}</ref> a storage engine known as DocDB and the Yugabyte Query Layer.<ref name="ntnu">{{cite web |last1=Hirsch |first1=Orhan Henrik |title=Scalability of NewSQL Databases in a Cloud Environment |url=https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2777732/no.ntnu%3ainspera%3a57320302%3a31535683.pdf?sequence=1&isAllowed=y |website=Norwegian University of Science and Technology |publisher=NYNU Open |access-date=15 January 2022}}</ref>
Line 106: Line 106:
Yugabyte has a pluggable query layer that abstracts the query layer from the storage layer below.<ref>{{cite web |title=Yugabyte DB 2.0 Ships Production-Ready Distributed SQL Database for Going Cloud Native |url=https://www.idevnews.com/stories/7298/Yugabyte-DB-20-Ships-Production-Ready-Distributed-SQL-Database-for-Going-Cloud-Native |website=Integration Developer News |access-date=15 January 2022}}</ref> There are currently two APIs that can access the database:<ref name="sisu" />
Yugabyte has a pluggable query layer that abstracts the query layer from the storage layer below.<ref>{{cite web |title=Yugabyte DB 2.0 Ships Production-Ready Distributed SQL Database for Going Cloud Native |url=https://www.idevnews.com/stories/7298/Yugabyte-DB-20-Ships-Production-Ready-Distributed-SQL-Database-for-Going-Cloud-Native |website=Integration Developer News |access-date=15 January 2022}}</ref> There are currently two APIs that can access the database:<ref name="sisu" />


'''YSQL'''<ref>{{cite web |title=Yugabyte Structured Query Language (YSQL) |url=https://docs.yugabyte.com/latest/enwiki/api/ysql/ |website=Yugabyte |access-date=15 January 2022}}</ref> is a PostgreSQL code-compatible API<ref>{{cite web |title=Yugabyte Meets Developer Demand for Comprehensive PostgreSQL Compatibility with YugabyteDB 2.11 |url=https://www.businesswire.com/news/home/20211123005572/en/Yugabyte-Meets-Developer-Demand-for-Comprehensive-PostgreSQL-Compatibility-with-YugabyteDB-2.11 |website=BusinessWire |access-date=15 January 2022}}</ref><ref name="ysql">{{cite web |title=PostgreSQL Compatibility in YugabyteDB 2.0 |url=https://blog.yugabyte.com/postgresql-compatibility-in-yugabyte-db-2-0/ |website=Yugabyte}}</ref> based around v11.2. YSQL is accessed via standard PostgreSQL drivers using native protocols.<ref>{{cite web |title=Client Drivers for YSQL |url=https://docs.yugabyte.com/latest/reference/drivers/ysql-client-drivers/ |website=Yugabyte}}</ref> It exploits the native PostgreSQL code for the query layer<ref>{{cite web |title=Why We Built YugabyteDB by Reusing the PostgreSQL Query Layer |url=https://blog.yugabyte.com/why-we-built-yugabytedb-by-reusing-the-postgresql-query-layer/ |website=Yugabyte |access-date=15 January 2022}}</ref> and replaces the storage engine with calls to the pluggable query layer. This re-use means that Yugabyte supports many features, including:
'''YSQL'''<ref>{{cite web |title=Yugabyte Structured Query Language (YSQL) |url=https://docs.yugabyte.com/latest/enwiki/api/ysql/ |website=Yugabyte |access-date=15 January 2022}}</ref> is a PostgreSQL code-compatible API<ref>{{cite web |title=Yugabyte Meets Developer Demand for Comprehensive PostgreSQL Compatibility with YugabyteDB 2.11 |url=https://www.businesswire.com/news/home/20211123005572/en/Yugabyte-Meets-Developer-Demand-for-Comprehensive-PostgreSQL-Compatibility-with-YugabyteDB-2.11 |website=BusinessWire |date=23 November 2021 |access-date=15 January 2022}}</ref><ref name="ysql">{{cite web |title=PostgreSQL Compatibility in YugabyteDB 2.0 |url=https://blog.yugabyte.com/postgresql-compatibility-in-yugabyte-db-2-0/ |website=Yugabyte|date=17 September 2019 }}</ref> based around v11.2. YSQL is accessed via standard PostgreSQL drivers using native protocols.<ref>{{cite web |title=Client Drivers for YSQL |url=https://docs.yugabyte.com/latest/reference/drivers/ysql-client-drivers/ |website=Yugabyte}}</ref> It exploits the native PostgreSQL code for the query layer<ref>{{cite web |title=Why We Built YugabyteDB by Reusing the PostgreSQL Query Layer |url=https://blog.yugabyte.com/why-we-built-yugabytedb-by-reusing-the-postgresql-query-layer/ |website=Yugabyte |date=24 April 2020 |access-date=15 January 2022}}</ref> 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<ref name="ysql" />
* Triggers & Stored Procedures<ref name="ysql" />
* PostgreSQL extensions that operate in the query layer<ref name="ysql" />
* PostgreSQL extensions that operate in the query layer<ref name="ysql" />
Line 116: Line 116:
* Tables can have secondary indexes<ref>{{cite web |title=YCQL Secondary Indexes |url=https://docs.yugabyte.com/latest/develop/learn/data-modeling-ycql/#secondary-indexes |website=Yugabyte |access-date=15 January 2022}}</ref>
* Tables can have secondary indexes<ref>{{cite web |title=YCQL Secondary Indexes |url=https://docs.yugabyte.com/latest/develop/learn/data-modeling-ycql/#secondary-indexes |website=Yugabyte |access-date=15 January 2022}}</ref>


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.<ref>{{cite web |title=YugabyteDB: Postgres foreign data wrapper |url=https://gruchalski.com/posts/2021-11-08-yugabytedb-postgres-foreign-data-wrapper/ |website=Gruchalski |access-date=15 January 2022}}</ref>
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.<ref>{{cite web |title=YugabyteDB: Postgres foreign data wrapper |url=https://gruchalski.com/posts/2021-11-08-yugabytedb-postgres-foreign-data-wrapper/ |website=Gruchalski |date=8 November 2021 |access-date=15 January 2022}}</ref>


The security model for accessing the system is inherited from the API, so access controls for YSQL look like PostgreSQL,<ref>{{cite web |title=YSQL Access Control |url=https://docs.yugabyte.com/latest/secure/authorization/rbac-model/ |website=Yugabyte |access-date=15 January 2022}}</ref> and YCQL looks like Cassandra access controls.<ref>{{cite web |title=YCWL access Controls |url=https://docs.yugabyte.com/latest/secure/authorization/rbac-model-ycql/ |website=Yugabyte |access-date=15 January 2022}}</ref>
The security model for accessing the system is inherited from the API, so access controls for YSQL look like PostgreSQL,<ref>{{cite web |title=YSQL Access Control |url=https://docs.yugabyte.com/latest/secure/authorization/rbac-model/ |website=Yugabyte |access-date=15 January 2022}}</ref> and YCQL looks like Cassandra access controls.<ref>{{cite web |title=YCWL access Controls |url=https://docs.yugabyte.com/latest/secure/authorization/rbac-model-ycql/ |website=Yugabyte |access-date=15 January 2022}}</ref>
Line 126: Line 126:
=== Cluster-to-cluster replication ===
=== Cluster-to-cluster replication ===


YugabyteDB has the ability to replicate between database instances.<ref>{{cite web |title=Yugabyte Expands Multi-Region Database Capabilities and Enterprise-Grade Security with YugabyteDB 2.5 |url=https://www.businesswire.com/news/home/20201112005160/en/Yugabyte-Expands-Multi-Region-Database-Capabilities-and-Enterprise-Grade-Security-with-YugabyteDB-2.5 |website=Business Wire |access-date=15 January 2022}}</ref><ref>{{cite web |title=xCLuster Replication |url=https://docs.yugabyte.com/latest/architecture/docdb-replication/async-replication/ |website=Yugabyte |access-date=15 January 2022}}</ref> The replication can be one-way or bi-directional and is asynchronous.
YugabyteDB has the ability to replicate between database instances.<ref>{{cite web |title=Yugabyte Expands Multi-Region Database Capabilities and Enterprise-Grade Security with YugabyteDB 2.5 |url=https://www.businesswire.com/news/home/20201112005160/en/Yugabyte-Expands-Multi-Region-Database-Capabilities-and-Enterprise-Grade-Security-with-YugabyteDB-2.5 |website=Business Wire |date=12 November 2020 |access-date=15 January 2022}}</ref><ref>{{cite web |title=xCLuster Replication |url=https://docs.yugabyte.com/latest/architecture/docdb-replication/async-replication/ |website=Yugabyte |access-date=15 January 2022}}</ref> 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.
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.
Bi-directional replication is generally used in read-write configurations and is used for active-active configurations, geo-distributed applications, etc.

Revision as of 14:28, 18 May 2022

Original author(s)Kannan Muthukkaruppan, Karthik Ranganathan, Mikhail Bautin
Developer(s)Yugabyte, Inc.
Initial release2016; 9 years ago (2016)
Stable release
2.8 (Stable)
2.11 (Development) / November 18, 2021; 3 years ago (2021-11-18)
November 23, 2021; 3 years ago (2021-11-23)
Repository
Written inC++
Operating systemLinux RedHat 7.x and derivatives, MacOS
PlatformBare Metal, Virtual Machine, Docker, Kubernetes and various container management platforms
Available inEnglish
TypeRDBMS
LicenseApache 2.0
Websitewww.yugabyte.com Edit this on Wikidata
Yugabyte, Inc.
Company typePrivate
IndustrySoftware
Founded2016; 9 years ago (2016)
FounderKannan Muthukkaruppan, Karthik Ranganathan, Mikhail Bautin
HeadquartersSunnyvale, 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)
ServicesCommercial database management systems
Websiteyugabyte.com

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] The team scaled the data platform for massive real-time workloads such as Facebook Messenger and Facebook's Operational Data Store from millions to billions of users in just a few years.[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 100% 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] a fully managed database-as-a-service offering of YugabyteDB, in September 2021.[9] Yugabyte Cloud combines the power of distributed SQL with the ease of use of a cloud database management system.

Funding

Only 6 years after the company inception Yugabyte closed a $188 Million Series C funding round to become a Unicorn start-up with a valuation of $1.3Bn[10]

Funding Rounds
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 is strongly transactionally consistent across failure zones (i.e. ACID compliance][22][23] as demonstrated by Jepsen testing.[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]

Architecture Block Diagram for YugabyteDB
YugabyteDB Architecture

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]

Additional Functionality

In addition to the core database functionality, there are some additional features of note

Cluster-to-cluster replication

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.

See also

References

  1. ^ "YugabyteDB System Properties". DB-Engines. Retrieved 30 December 2021.
  2. ^ "Karthik Ranganathan". Dataversity. Retrieved 30 December 2021.
  3. ^ Borthakur, Dhruba; Rash, Samuel; Schmidt, Rodrigo; Aiyer, Amitanand; Gray, Jonathan; Sarma, Joydeep Sen; Muthukkaruppan, Kannan; Spiegelberg, Nicolas; Kuang, Hairong; Ranganathan, Karthik; Molkov, Dmytro; Menon, Aravind (2011). Apache hadoop goes realtime at Facebook. p. 1071. doi:10.1145/1989323.1989438. ISBN 9781450306614. S2CID 207188340. Retrieved 15 January 2022. {{cite book}}: |website= ignored (help)
  4. ^ "YugaByte Raises $8M in Series A Funding". FINSMES. 2 November 2017. Retrieved 30 December 2021.
  5. ^ "Yugabyte CTO outlines a PostgreSQL path to distributed cloud". VentureBeat. 26 July 2021. Retrieved 31 December 2021.
  6. ^ "Yugabyte expands its fully managed enterprise cloud service with $188M". VentureBeat. 28 October 2021. Retrieved 30 December 2021.
  7. ^ "Yugabyte Named a 2020 Gartner Cool Vendor in Data Management". BusinessWire. 2 November 2020. Retrieved 30 December 2021.
  8. ^ "Yugabyte Cloud: a Managed Distributed SQL Database". InfoQ. Retrieved 31 December 2021.
  9. ^ "Yugabyte Delivers Effortless Distributed SQL With Cloud Database-as-a-Service". BusinessWire. Retrieved 30 December 2021.
  10. ^ "Another cloud native SQL database unicorn: Yugabyte raises $188M Series C funding at $1.3B valuation". ZDNet. Retrieved 12 January 2022.
  11. ^ "YugaByte Raises $8M in Series A Funding". Finsmes. 2 November 2017.
  12. ^ "YugaByte Receives $8M Series A Round". VC News Daily. Retrieved 12 January 2022.
  13. ^ "YugaByte raises $16 Million to combine SQL and NoSQL in a single database". Technologies.org. Retrieved 12 January 2022.
  14. ^ "YugaByte's new database software rakes in $16 million so developers can move to any cloud". TechCrunch. Retrieved 12 January 2022.
  15. ^ "Another globally distributed cloud native SQL database on the rise: Yugabyte Raises $30 million in Series B Funding". ZDNet. Retrieved 12 January 2022.
  16. ^ "Yugabyte raises $30M for its cloud-native distributed SQL database". SiliconAngle. 9 June 2020. Retrieved 12 January 2022.
  17. ^ "Yugabyte raises $48M for open source SQL database alternative". VentureBeat. 3 March 2021. Retrieved 12 January 2022.
  18. ^ "Yugabyte Raises $48 Million Funding Round to Accelerate Distributed SQL Enterprise Adoption and Fuel Global Expansion". YahoonFinance. Retrieved 12 January 2022.
  19. ^ "Yugabyte's latest funding round values the distributed SQL system at $1.3bn". The Register. Retrieved 12 January 2022.
  20. ^ "Another cloud native SQL database unicorn: Yugabyte raises $188M Series C funding at $1.3B valuation". ZDNet. Retrieved 12 January 2022.
  21. ^ "High-performance database startup Yugabyte raises $188M in new funding round". Silicon Angle. 28 October 2021. Retrieved 12 January 2022.
  22. ^ "ACID Transactions". Devopedia. 18 August 2019. Retrieved 12 January 2022.
  23. ^ "ICT Solutions for local flexibility markets" (PDF). Academia de Studii Economice din Bucuresti. Proceedings of the IE 2020 International Conference. Retrieved 15 January 2022.
  24. ^ "YugaByte DB 1.3.1". Jepsen.io. Retrieved 30 December 2021.
  25. ^ "YugaByteDB: A Distributed Cloud Native Database for a Highly Scalable Data Store". Open Source Foru. 14 September 2020. Retrieved 15 January 2022.
  26. ^ "Yugabyte Design Goals". Yugabyte.com. Retrieved 15 January 2022.
  27. ^ 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. Bibcode:2020IJGI....9..437G. doi:10.3390/ijgi9070437.
  28. ^ "Yugabyte Layered Architecture". Yugabyte. Retrieved 15 January 2022.
  29. ^ a b c d e f g Hirsch, Orhan Henrik. "Scalability of NewSQL Databases in a Cloud Environment" (PDF). Norwegian University of Science and Technology. NYNU Open. Retrieved 15 January 2022.
  30. ^ a b c d e f Budholia, Akash. "NewSQL Monitoring System". San Jose State University Scholar Works. Retrieved 15 January 2022.
  31. ^ "Hybrid Clock". Martin Fowler. Retrieved 30 December 2021.
  32. ^ "Distributed Transactions without Atomic Clocks" (PDF). Yugabyte. Retrieved 15 January 2022.
  33. ^ "Yugabyte DB 2.0 Ships Production-Ready Distributed SQL Database for Going Cloud Native". Integration Developer News. Retrieved 15 January 2022.
  34. ^ "Yugabyte Structured Query Language (YSQL)". Yugabyte. Retrieved 15 January 2022.
  35. ^ "Yugabyte Meets Developer Demand for Comprehensive PostgreSQL Compatibility with YugabyteDB 2.11". BusinessWire. 23 November 2021. Retrieved 15 January 2022.
  36. ^ a b c d "PostgreSQL Compatibility in YugabyteDB 2.0". Yugabyte. 17 September 2019.
  37. ^ "Client Drivers for YSQL". Yugabyte.
  38. ^ "Why We Built YugabyteDB by Reusing the PostgreSQL Query Layer". Yugabyte. 24 April 2020. Retrieved 15 January 2022.
  39. ^ "Yugabyte Cloud Query Language (YCQL)". Yugabyte. Retrieved 15 January 2022.
  40. ^ "Client drivers for YCQL". Yugabyte.
  41. ^ "ACID Transactions". Yugabyte.
  42. ^ "YCQL JSONB Data Type". Yugabyte. Retrieved 15 January 2022.
  43. ^ "YCQL Secondary Indexes". Yugabyte. Retrieved 15 January 2022.
  44. ^ "YugabyteDB: Postgres foreign data wrapper". Gruchalski. 8 November 2021. Retrieved 15 January 2022.
  45. ^ "YSQL Access Control". Yugabyte. Retrieved 15 January 2022.
  46. ^ "YCWL access Controls". Yugabyte. Retrieved 15 January 2022.
  47. ^ "Yugabyte Expands Multi-Region Database Capabilities and Enterprise-Grade Security with YugabyteDB 2.5". Business Wire. 12 November 2020. Retrieved 15 January 2022.
  48. ^ "xCLuster Replication". Yugabyte. Retrieved 15 January 2022.