YugabyteDB

YugabyteDB
Oryginalni autorzy Kannan Muthukkaruppan, Karthik Ranganathan, Michaił Bautin
Deweloperzy Yugabyte, Inc.
Pierwsze wydanie 2016 ; 7 lat temu ( 2016 )
Wersja stabilna


2,16 (stabilny) 2,17 (rozwój) / 15 grudnia 2022 r .; 3 miesiące temu ( 15.12.2022 ) 8 grudnia 2022 ; 3 miesiące temu ( 2022-12-08 )
Magazyn
Napisane w C++
System operacyjny Linux RedHat 7.x i pochodne, MacOS
Platforma Bare Metal , Virtual Machine , Docker , Kubernetes i różne platformy do zarządzania kontenerami
Dostępne w język angielski
Typ RDBMS
Licencja Apache 2.0
Strona internetowa www.yugabyte.com _ _  Edit this on Wikidata
Yugabyte, Inc.
Typ Prywatny
Przemysł Oprogramowanie
Założony 2016 ; 7 lat temu ( 2016 )
Założyciel Kannan Muthukkaruppan, Karthik Ranganathan, Michaił Bautin
Siedziba Sunnyvale , Kalifornia , USA
Kluczowi ludzie







Kannan Muthukkaruppan
(współzałożyciel i prezes ds. rozwoju produktów)
Karthik Ranganathan (współzałożyciel i dyrektor techniczny) Mikhail Bautin
(współzałożyciel i architekt oprogramowania)
Bill Cook (CEO)
Usługi Komercyjne systemy zarządzania bazami danych
Strona internetowa yugabyte .com

YugabyteDB to wysokowydajna transakcyjna rozproszona baza danych SQL dla aplikacji natywnych w chmurze , opracowana przez firmę Yugabyte.

Historia

Yugabyte zostało założone przez byłych inżynierów Facebooka , Kannana Muthukkaruppana, Karthika Ranganathana i Michaiła Bautina. Na Facebooku byli częścią zespołu, który zbudował i obsługiwał Cassandrę i HBase w okresie znacznego wzrostu obciążeń, takich jak Facebook Messenger i Operational Data Store Facebooka .

Założyciele spotkali się w lutym 2016 r., aby zbudować YugabyteDB, wierząc, że trendy, których doświadczyli na Facebooku – mikrousługi , konteneryzacja , wysoka dostępność , dystrybucja geograficzna, interfejsy API i oprogramowanie typu open source – są istotne dla wszystkich firm, zwłaszcza gdy przechodzą z on- przesłanki do operacji natywnych w chmurze.

YugabyteDB był początkowo dostępny w dwóch wersjach: community i enterprise. W lipcu 2019 roku firma Yugabyte pozyskała wcześniej komercyjne funkcje typu open source i uruchomiła YugabyteDB jako oprogramowanie typu open source na Apache 2.0.

Szybka ewolucja produktu doprowadziła do zdobycia tytułu Gartner Cool Vendor 2020 w dziedzinie zarządzania danymi.

Yugabyte uruchomił Yugabyte Cloud, teraz przemianowaną na YugabyteDB Managed, w pełni zarządzaną ofertę YugabyteDB typu baza danych jako usługa , we wrześniu 2021 r.

Finansowanie

Sześć lat po powstaniu firmy, Yugabyte zamknął rundę finansowania serii C o wartości 188 milionów dolarów, aby stać się start-upem Unicorn z wyceną 1,3 miliarda dolarów

Rundy finansowania
Seria Data ogłoszona Kwota Inwestorzy
A 10 lutego 2016 r 8 milionów dolarów Partnerzy Lightspeed Venture , Jeff Rothschild
A 12 czerwca 2018 r 16 milionów dolarów Partnerzy Lightspeed Venture, kapitał technologiczny firmy Dell
B 09 czerwca 2020 r 30 milionów dolarów Wipro Ventures, partnerzy Lightspeed Venture. Kapitał technologiczny firmy Dell. 8VC
B 03 marca 2021 r 48 milionów dolarów Wipro Ventures. Partnerzy Lightspeed Venture. Współpracownicy Greenspring, Dell Technology Capital, 8VC
C 28 października 2021 r 188 milionów dolarów Wells Fargo Strategic Capital, Sapphire Ventures , Meritech Capital Partners , Lightspeed Venture Partners, Dell Technology Capital, 8VC

Architektura

YugabyteDB to rozproszona baza danych SQL, której celem jest zapewnienie dużej spójności transakcyjnej w strefach awarii (tj. zgodność z ACID ). Testy Jepsen, de facto branżowy standard weryfikacji poprawności, nigdy nie zostały w pełni spełnione, głównie ze względu na warunki wyścigu podczas zmian schematu. W CAP Warunki twierdzenia YugabyteDB jest bazą danych spójną/odporną na partycje (CP).

YugabyteDB ma dwie warstwy, silnik pamięci masowej znany jako DocDB i Yugabyte Query Layer.

Architecture Block Diagram for YugabyteDB
Architektura YugabyteDB

DocDB

Silnik pamięci masowej składa się z dostosowanej bazy danych RocksDB połączonej z algorytmami dzielenia na części i równoważenia obciążenia dla danych. Ponadto algorytm konsensusu Raft kontroluje replikację danych między węzłami. Dostępny jest również transakcji rozproszonych i kontrola współbieżności wielu wersji (MVCC) do obsługi transakcji rozproszonych.

Silnik wykorzystuje również hybrydowy zegar logiczny, który łączy zgrubnie zsynchronizowane zegary fizyczne z zegarami Lamporta w celu śledzenia związków przyczynowych.

Warstwa DocDB nie jest bezpośrednio dostępna dla użytkowników.

Warstwa zapytań YugabyteDB

Yugabyte ma podłączaną warstwę zapytań, która wyodrębnia warstwę zapytań z warstwy przechowywania poniżej. Obecnie istnieją dwa interfejsy API, które mogą uzyskiwać dostęp do bazy danych:

YSQL to interfejs API zgodny z kodem PostgreSQL, oparty na wersji 11.2. Dostęp do YSQL uzyskuje się za pośrednictwem standardowych sterowników PostgreSQL przy użyciu natywnych protokołów. Wykorzystuje natywny kod PostgreSQL dla warstwy zapytań i zastępuje silnik pamięci wywołaniami podłączanej warstwy zapytań. To ponowne użycie oznacza, że ​​Yugabyte obsługuje wiele funkcji, w tym:

  • Wyzwalacze i procedury składowane
  • Rozszerzenia PostgreSQL działające w warstwie zapytań
  • Natywna obsługa JSONB

YCQL to podobny do Cassandry interfejs API oparty na wersji 3.10 i ponownie napisany w C++. Dostęp do YCQL uzyskuje się za pośrednictwem standardowych sterowników Cassandry przy użyciu natywnego portu protokołu 9042. Oprócz „waniliowych” komponentów Cassandry, YCQL jest rozszerzony o następujące funkcje:

  • Spójność transakcyjna - w przeciwieństwie do Cassandry, Yugabyte YCQL jest transakcyjny.
  • Typy danych JSON obsługiwane natywnie
  • Tabele mogą mieć indeksy pomocnicze

Obecnie dane zapisane w żadnym interfejsie API nie są dostępne za pośrednictwem drugiego interfejsu API, jednak YSQL może uzyskiwać dostęp do YCQL za pomocą funkcji opakowywania danych obcych PostgreSQL.

Model bezpieczeństwa dostępu do systemu jest dziedziczony z interfejsu API, więc kontrola dostępu dla YSQL wygląda jak PostgreSQL, a YCQL wygląda jak kontrola dostępu Cassandra.

Replikacja między klastrami

Oprócz podstawowej funkcjonalności dystrybucji pojedynczej bazy danych, YugabyteDB ma możliwość replikacji między instancjami bazy danych. Replikacja może być jednokierunkowa lub dwukierunkowa i jest asynchroniczna. Replikacja jednokierunkowa jest używana do tworzenia kopii tylko do odczytu w celu odciążenia lub w trybie do odczytu i zapisu w celu utworzenia aktywnego-pasywnego trybu gotowości. Replikacja dwukierunkowa jest zwykle używana w konfiguracjach do odczytu i zapisu oraz w konfiguracjach aktywny-aktywny, aplikacjach rozproszonych geograficznie itp.

Narzędzia do migracji

Yugabyte zapewnia również YugabyteDB Voyager, narzędzia ułatwiające migrację Oracle i innych podobnych baz danych do YugabyteDB. To narzędzie wspiera migrację schematów, kodu proceduralnego i danych z platformy źródłowej do YugabyteDB.

Zobacz też

Linki zewnętrzne