YugabyteDB: Difference between revisions
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 |
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= |
| 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 |
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 release | 2016 |
Stable release | 2.8 (Stable) 2.11 (Development) / November 18, 2021 November 23, 2021 |
Repository | |
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 |
Website | www |
Company 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] 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]
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]
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
- 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". DB-Engines. Retrieved 30 December 2021.
- ^ "Karthik Ranganathan". Dataversity. Retrieved 30 December 2021.
- ^ 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) - ^ "YugaByte Raises $8M in Series A Funding". FINSMES. 2 November 2017. Retrieved 30 December 2021.
- ^ "Yugabyte CTO outlines a PostgreSQL path to distributed cloud". VentureBeat. 26 July 2021. Retrieved 31 December 2021.
- ^ "Yugabyte expands its fully managed enterprise cloud service with $188M". VentureBeat. 28 October 2021. Retrieved 30 December 2021.
- ^ "Yugabyte Named a 2020 Gartner Cool Vendor in Data Management". BusinessWire. 2 November 2020. Retrieved 30 December 2021.
- ^ "Yugabyte Cloud: a Managed Distributed SQL Database". InfoQ. Retrieved 31 December 2021.
- ^ "Yugabyte Delivers Effortless Distributed SQL With Cloud Database-as-a-Service". BusinessWire. Retrieved 30 December 2021.
- ^ "Another cloud native SQL database unicorn: Yugabyte raises $188M Series C funding at $1.3B valuation". ZDNet. Retrieved 12 January 2022.
- ^ "YugaByte Raises $8M in Series A Funding". Finsmes. 2 November 2017.
- ^ "YugaByte Receives $8M Series A Round". VC News Daily. Retrieved 12 January 2022.
- ^ "YugaByte raises $16 Million to combine SQL and NoSQL in a single database". Technologies.org. Retrieved 12 January 2022.
- ^ "YugaByte's new database software rakes in $16 million so developers can move to any cloud". TechCrunch. Retrieved 12 January 2022.
- ^ "Another globally distributed cloud native SQL database on the rise: Yugabyte Raises $30 million in Series B Funding". ZDNet. Retrieved 12 January 2022.
- ^ "Yugabyte raises $30M for its cloud-native distributed SQL database". SiliconAngle. 9 June 2020. Retrieved 12 January 2022.
- ^ "Yugabyte raises $48M for open source SQL database alternative". VentureBeat. 3 March 2021. Retrieved 12 January 2022.
- ^ "Yugabyte Raises $48 Million Funding Round to Accelerate Distributed SQL Enterprise Adoption and Fuel Global Expansion". YahoonFinance. Retrieved 12 January 2022.
- ^ "Yugabyte's latest funding round values the distributed SQL system at $1.3bn". The Register. Retrieved 12 January 2022.
- ^ "Another cloud native SQL database unicorn: Yugabyte raises $188M Series C funding at $1.3B valuation". ZDNet. Retrieved 12 January 2022.
- ^ "High-performance database startup Yugabyte raises $188M in new funding round". Silicon Angle. 28 October 2021. Retrieved 12 January 2022.
- ^ "ACID Transactions". Devopedia. 18 August 2019. Retrieved 12 January 2022.
- ^ "ICT Solutions for local flexibility markets" (PDF). Academia de Studii Economice din Bucuresti. Proceedings of the IE 2020 International Conference. Retrieved 15 January 2022.
- ^ "YugaByte DB 1.3.1". Jepsen.io. Retrieved 30 December 2021.
- ^ "YugaByteDB: A Distributed Cloud Native Database for a Highly Scalable Data Store". Open Source Foru. 14 September 2020. Retrieved 15 January 2022.
- ^ "Yugabyte Design Goals". Yugabyte.com. Retrieved 15 January 2022.
- ^ 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.
- ^ "Yugabyte Layered Architecture". Yugabyte. Retrieved 15 January 2022.
- ^ 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.
- ^ a b c d e f Budholia, Akash. "NewSQL Monitoring System". San Jose State University Scholar Works. Retrieved 15 January 2022.
- ^ "Hybrid Clock". Martin Fowler. Retrieved 30 December 2021.
- ^ "Distributed Transactions without Atomic Clocks" (PDF). Yugabyte. Retrieved 15 January 2022.
- ^ "Yugabyte DB 2.0 Ships Production-Ready Distributed SQL Database for Going Cloud Native". Integration Developer News. Retrieved 15 January 2022.
- ^ "Yugabyte Structured Query Language (YSQL)". Yugabyte. Retrieved 15 January 2022.
- ^ "Yugabyte Meets Developer Demand for Comprehensive PostgreSQL Compatibility with YugabyteDB 2.11". BusinessWire. 23 November 2021. Retrieved 15 January 2022.
- ^ a b c d "PostgreSQL Compatibility in YugabyteDB 2.0". Yugabyte. 17 September 2019.
- ^ "Client Drivers for YSQL". Yugabyte.
- ^ "Why We Built YugabyteDB by Reusing the PostgreSQL Query Layer". Yugabyte. 24 April 2020. Retrieved 15 January 2022.
- ^ "Yugabyte Cloud Query Language (YCQL)". Yugabyte. Retrieved 15 January 2022.
- ^ "Client drivers for YCQL". Yugabyte.
- ^ "ACID Transactions". Yugabyte.
- ^ "YCQL JSONB Data Type". Yugabyte. Retrieved 15 January 2022.
- ^ "YCQL Secondary Indexes". Yugabyte. Retrieved 15 January 2022.
- ^ "YugabyteDB: Postgres foreign data wrapper". Gruchalski. 8 November 2021. Retrieved 15 January 2022.
- ^ "YSQL Access Control". Yugabyte. Retrieved 15 January 2022.
- ^ "YCWL access Controls". Yugabyte. Retrieved 15 January 2022.
- ^ "Yugabyte Expands Multi-Region Database Capabilities and Enterprise-Grade Security with YugabyteDB 2.5". Business Wire. 12 November 2020. Retrieved 15 January 2022.
- ^ "xCLuster Replication". Yugabyte. Retrieved 15 January 2022.