Yandex-ek SQL onartzen duen banatutako DBMS YDBren kodea ireki zuen

Yandex-ek banatutako DBMS YDB-ren iturburu-kodea argitaratu du, SQL dialektoaren eta ACID transakzioetarako laguntza ezartzen duena. DBMS hutsetik sortu zen eta hasieran hutsegiteen tolerantzia, hutsegiteen berreskuratze automatikoa eta eskalagarritasuna bermatzeko asmoz garatu zen. Kontuan izan da Yandex-ek YDB klusterrak abiarazi dituela, 10 mila nodo baino gehiago barne, ehunka petabyte datu gordetzeko eta segundoko milioika transakzio banatuz. YDB Yandex proiektuetan erabiltzen da Market, Cloud, Smart Home, Alice, Metrica eta Auto.ru. Kodea C/C++-n idatzita dago eta Apache 2.0 lizentziapean banatzen da. Ezagutzeko eta abiarazteko, prest egindako Docker edukiontzi bat erabil dezakezu.

Proiektuaren Ezaugarriak:

  • Taulekin erlazionatutako datu-eredua erabiltzea. Kontsultak egiteko eta datu-eskema definitzeko, YQL lengoaia (YDB Query Language) erabiltzen da, hau da, banatutako datu-base handiekin lan egiteko egokitutako SQLren dialektoa. Biltegiratze-eskema bat sortzean, zuhaitz-itxurako taulen multzokatzea onartzen da, fitxategi-sistema bateko direktorioak gogorarazten dituena. JSON formatuan datuekin lan egiteko API bat eskaintzen da.
    Yandex-ek SQL onartzen duen banatutako DBMS YDBren kodea ireki zuen
  • Datu-sarbiderako laguntza datu-basean ad-hoc kontsulta analitikoak egiteko diseinatutako eskaneatu kontsultak erabiliz, irakurtzeko moduan exekutatuta eta grpc korronte bat itzultzeko.
  • DBMSarekin eta eskaerak bidaltzeko interakzioa komando-lerroko interfazea, integratutako web interfazea edo YDB SDK-a erabiliz egiten da, C++, C# (.NET), Go, Java, Node.js, PHP eta Python-en liburutegiak eskaintzen dituena.
  • Banakako disko, nodo, rack eta baita datu-zentroek huts egiten dutenean funtzionatzen jarraitzen duten akatsekiko tolerantzia duten konfigurazioak sortzeko gaitasuna. YDB-k inplementazioa eta erreplikazio sinkronikoa onartzen ditu hiru erabilgarritasun-eremutan, klusterren funtzionaltasuna mantenduz, zonalderen baten hutsegitearen kasuan.
  • Berreskuratu automatikoki hutsegiteetatik aplikazioetarako latentzia minimoarekin eta automatikoki mantendu zehaztutako datuen erredundantzia.
  • Indizeak automatikoki sortzea gako nagusian oinarrituta eta bigarren mailako indizeak definitzeko aukeran, zutabe arbitrarioetarako sarbidearen eraginkortasuna hobetzeko.
  • Eskalagarritasun horizontala. Biltegiratutako datuen karga eta tamaina hazten diren heinean, klusterra heda daiteke nodo berriak konektatuz. Konputazio- eta biltegiratze-mailak bereizita daude, zure konputazio-potentzia eta biltegiratze-tamaina bereizita zabaltzeko aukera ematen dizu. DBMSk berak datuen eta kargaren banaketa uniformea ​​kontrolatzen du, eskuragarri dauden hardware baliabideak kontuan hartuta. Geografikoki banatutako konfigurazioak zabaltzea posible da munduko hainbat datu-zentro hartzen dituztenak.
  • Koherentzia eredu sendoa eta ACID transakzioak onartzen ditu hainbat nodo eta taula hartzen dituzten kontsultak prozesatzen dituztenean. Errendimendua hobetzeko, koherentzia-egiaztapena selektiboki desgaitu dezakezu.
  • Datuen erreplikazio automatikoa, partizio automatikoa (partizioa, zatiketa) tamaina edo karga handitzen denean eta nodoen arteko karga eta datuen oreka automatikoa.
  • Datuak zuzenean gordetzea bloke gailuetan jatorrizko PDisk osagaia eta VDisk geruza erabiliz. DSProxy VDisk-en gainean exekutatzen da, eta diskoen erabilgarritasuna eta errendimendu-ezaugarriak aztertzen ditu, arazoak hautematen badira horiek kentzeko.
  • YDBren gainean hainbat zerbitzu sortzeko aukera ematen duen arkitektura malgua, bloke birtualeko gailuak eta ilara iraunkorrak barne. Lan-karga mota ezberdinetarako egokitasuna, OLTP eta OLAP (kontsulta analitikoak).
  • Maizter anitzeko eta zerbitzaririk gabeko konfigurazioetarako laguntza. Bezeroa autentifikatzeko aukera. Erabiltzaileek beren kluster birtualak eta datu-baseak partekatutako azpiegitura komun batean sor ditzakete, eskaera-kopuruaren eta datu-tamainaren mailan baliabide-kontsumoa kontuan hartuta, edo baliabide informatiko eta biltegiratze espazio jakin batzuk alokatuz/erreserbatuz.
  • Erregistroen iraupena konfiguratzeko gaitasuna, zaharkitutako datuak automatikoki kentzeko.

Iturria: opennet.ru

Gehitu iruzkin berria