Yandex zverejnil zdrojový kód svojho DBMS «YDB»

To nedávno prelomili správy Yandex zverejnil zdrojový kód svojho DBMS, «YDB», ktorý implementuje podporu pre SQL dialekt a ACID transakcie.

DBMS bol postavený od základov a bol pôvodne vyvinutý s ohľadom na zabezpečenie odolnosti voči chybámautomatické prepnutie pri zlyhaní a škálovateľnosť. Je potrebné poznamenať, že Yandex spustil fungujúce klastre YDB, vrátane viac ako 10 XNUMX uzlov, ktoré uchovávajú stovky petabajtov údajov a obsluhujú milióny distribuovaných transakcií za sekundu.

Hlavné novinky YDB

Z funkcií, ktoré vyčnievajú z YDB, je použitie relačného dátového modelu s tabuľkami YQL (YDB Query Language) sa používa na dopytovanie a definovanie dátovej schémy, ktorá je dialekt SQL prispôsobený na prácu s veľkými distribuovanými databázami. Pri vytváraní schémy úložiska je podporované stromové zoskupenie tabuliek, ktoré pripomína adresáre súborového systému. Na prácu s údajmi vo formáte JSON je k dispozícii rozhranie API.

The schopnosť vytvárať konfigurácie odolné voči chybám ktoré naďalej fungujú, keď zlyhajú disky, uzly, stojany a dokonca aj jednotlivé dátové centrá. YDB podporuje synchrónne nasadenie a replikáciu cez tri zóny dostupnosti pri zachovaní stavu klastra v prípade zlyhania jednej zo zón.

Podpora prístupu k údajom pomocou skenovacích dotazov, navrhnutých na vykonávanie ad-hoc analytických dotazov na databázu, vykonávaných v režime len na čítanie a vracajúcich prúd grpc.

Okrem toho aj vyniká ukladanie dát priamo na blokové zariadenia pomocou komponentu PDisk natívnu a vrstvu VDisk. Okrem VDisk beží aj DSProxy, ktorý analyzuje dostupnosť a výkon diskov, aby ich v prípade zistenia problémov vylúčil.

Z ďalšie funkcie ktoré vynikajú:

  • Flexibilná architektúra, ktorá vám umožňuje vybudovať rôzne služby na vrchole YDB, až po virtuálne blokové zariadenia a trvalé fronty. Vhodnosť pre rôzne typy pracovného zaťaženia: OLTP a OLAP (analytické dotazy).
  • Podpora konfigurácií pre viacerých používateľov (viac nájomníkov) a bez serverov.
  • Schopnosť autentifikovať klientov. Používatelia môžu vytvárať svoje vlastné virtuálne klastre a databázy na spoločnej zdieľanej infraštruktúre, berúc do úvahy spotrebu zdrojov z hľadiska počtu požiadaviek a veľkosti dát, alebo prenájmom/rezerváciou určitých výpočtových zdrojov a úložného priestoru.
  • Možnosť nastavenia doby životnosti záznamov pre automatické mazanie neaktuálnych údajov.
  • Interakcia s DBMS a odosielanie požiadaviek sa vykonáva pomocou rozhrania príkazového riadka, integrovaného webového rozhrania alebo súpravy YDB SDK, ktorá poskytuje knižnice pre C++, C# (.NET), Go, Java, Node.js, PHP a Python.
  • Automaticky sa obnovujte po zlyhaniach s minimálnym oneskorením aplikácií a automaticky udržiavajte špecifikovanú redundanciu pri ukladaní údajov.
  • Automatické vytváranie indexov na primárnom kľúči a schopnosť definovať sekundárne indexy na zlepšenie efektívnosti prístupu k ľubovoľným stĺpcom.
  • Horizontálna škálovateľnosť. S rastúcim zaťažením a veľkosťou uložených údajov je možné klaster rozšíriť jednoduchým pripojením nových uzlov. Výpočtové a úložné vrstvy sú oddelené, čo vám umožňuje škálovať výpočtové a úložné priestory oddelene. Samotný DBMS monitoruje rovnomerné rozloženie dát a záťaže s prihliadnutím na dostupné hardvérové ​​zdroje. Je možné implementovať geograficky distribuované konfigurácie, ktoré pokrývajú viacero dátových centier v rôznych častiach sveta.
  • Podpora modelu silnej konzistencie a ACID transakcií pri spracovaní dotazov, ktoré zahŕňajú viacero uzlov a tabuliek. Ak chcete zlepšiť výkon, môžete selektívne vypnúť kontrolu konzistencie.
  • Automatická replikácia údajov, automatické rozdelenie na oddiely (rozdelenie, sharding) pri zvýšení veľkosti alebo zaťaženia a automatické zaťaženie a vyvažovanie údajov medzi uzlami.

konečne, treba poznamenať, že YDB sa používa v projektoch Yandex, kód je napísaný v C/C++ a je distribuovaný pod licenciou Apache 2.0, môžete vidieť zdrojový kód, ako aj ďalšie podrobnosti o ňom Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.