Yandex zveřejnil zdrojový kód svého DBMS «YDB»

Nedávno to zprávy prolomily Yandex zveřejnil zdrojový kód svého DBMS, «YDB», který implementuje podporu pro SQL dialekt a ACID transakce.

DBMS byl postaven od základů a byl původně vyvinut s ohledem na zajištění odolnosti proti chybám, automatické převzetí služeb při selhání a škálovatelnost. Je třeba poznamenat, že Yandex spustil fungující clustery YDB, včetně více než 10 tisíc uzlů, které ukládají stovky petabajtů dat a obsluhují miliony distribuovaných transakcí za sekundu.

Hlavní novinky YDB

Mezi funkce, které vyčnívají z YDB, je použití relačního datového modelu s tabulkami YQL (YDB Query Language) se používá k dotazování a definování datového schématu, což je dialekt SQL přizpůsobený pro práci s velkými distribuovanými databázemi. Při vytváření schématu úložiště je podporováno stromové seskupení tabulek, které připomíná adresáře souborového systému. Pro práci s daty ve formátu JSON je k dispozici API.

The schopnost vytvářet konfigurace odolné proti chybám které nadále fungují, když selžou disky, uzly, stojany a dokonce i jednotlivá datová centra. YDB podporuje synchronní nasazení a replikaci napříč třemi zónami dostupnosti při zachování stavu clusteru v případě selhání jedné ze zón.

Podpora přístupu k datům pomocí skenovacích dotazů, navržených k provádění ad-hoc analytických dotazů na databázi, spouštěných v režimu pouze pro čtení a vracejících proud grpc.

Kromě toho také vyniká ukládání dat přímo na bloková zařízení pomocí komponenty PDisk nativní a vrstva VDisk. Kromě VDisk běží DSProxy, který analyzuje dostupnost a výkon disků, aby je v případě zjištění problémů vyloučil.

Z další funkce které vynikají:

  • Flexibilní architektura, která vám umožňuje stavět různé služby nad YDB, až po virtuální bloková zařízení a trvalé fronty. Vhodnost pro různé typy zátěže: OLTP a OLAP (analytické dotazy).
  • Podpora konfigurací pro více uživatelů (více nájemců) a bez serverů.
  • Schopnost autentizovat klienty. Uživatelé mohou vytvářet své vlastní virtuální clustery a databáze na společné sdílené infrastruktuře s ohledem na spotřebu zdrojů z hlediska počtu požadavků a velikosti dat nebo pronájmem/rezervací určitých výpočetních zdrojů a úložného prostoru.
  • Možnost upravit životnost záznamů pro automatické mazání zastaralých dat.
  • Interakce s DBMS a odesílání požadavků se provádí pomocí rozhraní příkazového řádku, integrovaného webového rozhraní nebo sady YDB SDK, která poskytuje knihovny pro C++, C# (.NET), Go, Java, Node.js, PHP a Python.
  • Automaticky se zotavujte po selhání s minimálním zpožděním pro aplikace a automaticky udržujte specifikovanou redundanci při ukládání dat.
  • Automatické vytváření indexů na primárním klíči a schopnost definovat sekundární indexy pro zlepšení efektivity přístupu k libovolnému sloupci.
  • Horizontální škálovatelnost. S rostoucí zátěží a velikostí uložených dat lze cluster jednoduše rozšířit připojením nových uzlů. Výpočetní a úložné vrstvy jsou oddělené, což vám umožňuje škálovat výpočetní a úložný prostor samostatně. Samotný DBMS sleduje rovnoměrné rozložení dat a zátěže s přihlédnutím k dostupným hardwarovým zdrojům. Je možné implementovat geograficky distribuované konfigurace, které pokrývají více datových center v různých částech světa.
  • Podpora modelu silné konzistence a ACID transakcí při zpracování dotazů, které zahrnují více uzlů a tabulek. Chcete-li zlepšit výkon, můžete selektivně zakázat kontrolu konzistence.
  • Automatická replikace dat, automatické dělení (rozdělování, sharding) při zvýšení velikosti nebo zatížení a automatické vyvažování zatížení a dat mezi uzly.

Konečně, je třeba poznamenat, že YDB se používá v projektech Yandex, kód je napsán v C/C++ a je distribuován pod licencí Apache 2.0, můžete vidět zdrojový kód a další podrobnosti o něm Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.