Yandex allibero el codi font del seu DBMS «YDB»

Fa poc es va donar a conèixer la notícia que Yandex allibero el codi font del seu DBMS, «YDB», que implementa suport per al dialecte SQL i les transaccions ACID.

El DBMS es va crear des de zero i es va desenvolupar inicialment amb vista a garantir la tolerància a falles, la recuperació automàtica en cas de falles i l'escalabilitat. Cal assenyalar que Yandex va llançar clústers YDB en funcionament, inclosos més de 10 mil nodes, que emmagatzemen centenars de petabytes de dades i atenen milions de transaccions distribuïdes per segon.

Principals novetats de YDB

De les característiques que es destaquen de YDB és el ús del model de dades relacional amb taules YQL (YDB Query Language) s'utilitza per consultar i definir l'esquema de dades, que és un dialecte de SQL adaptat per treballar amb grans bases de dades distribuïdes. Quan creeu un esquema d'emmagatzematge, s'admet una agrupació de taules en forma d'arbre, que s'assembla als directoris d'un sistema de fitxers. Es proporciona una API per treballar amb dades en format JSON.

També es destaca la capacitat de crear configuracions tolerants a falles que continuen funcionant quan fallen discos, nodes, bastidors i fins i tot centres de dades individuals. YDB admet la implementació i la replicació síncrona a tres zones de disponibilitat mentre manté l'estat del clúster en cas de falla d'una de les zones.

Compatibilitat amb l'accés a dades mitjançant consultes d'escaneig, dissenyat per realitzar consultes analítiques ad-hoc a la base de dades, executades en mode de només lectura i tornant un flux grpc.

A més, també se'n destaca l'emmagatzematge de dades directament a dispositius de bloc utilitzant el component PDisk nadiu i la capa VDisk. A més de VDisk, s'executa DSProxy, que analitza la disponibilitat i el rendiment dels discos per excloure'ls si es detecten problemes.

De les altres característiques que es destaquen:

  • Una arquitectura flexible que us permet crear diversos serveis sobre YDB, fins a dispositius de blocs virtuals i cues persistents . Idoneïtat per a diferents tipus de càrrega de treball: OLTP i OLAP (consultes analítiques).
  • Compatibilitat amb configuracions multiusuari (multiusuari) i sense servidor.
  • Capacitat per autenticar clients. Els usuaris poden crear els seus propis clústers virtuals i bases de dades en una infraestructura comuna compartida, tenint en compte el consum de recursos a nivell de nombre de sol·licituds i mida de dades, o llogant/reservant certs recursos informàtics i espai d'emmagatzematge.
  • Possibilitat dajustar la vida útil dels registres per leliminació automàtica de dades obsoletes.
  • La interacció amb el DBMS i l'enviament de sol·licituds es duu a terme mitjançant la interfície de línia d'ordres, la interfície web integrada o el YDB SDK, que proporciona biblioteques per a C++, C# (.NET), Go, Java, Node.js, PHP i Python.
  • Recupereu automàticament de falles amb demores mínimes per a les aplicacions i mantingueu automàticament la redundància especificada en emmagatzemar dades.
  • Creació automàtica díndexs a la clau primària i la capacitat de definir índexs secundaris per millorar leficiència de laccés a columnes arbitràries.
  • Escalabilitat horitzontal. A mesura que creix la càrrega i la mida de les dades emmagatzemades, el clúster es pot expandir simplement connectant nous nodes. Els nivells de còmput i emmagatzematge estan separats, cosa que permet escalar el còmput i l'emmagatzematge per separat. El mateix DBMS supervisa la distribució uniforme de les dades i la càrrega, tenint en compte els recursos de maquinari disponibles. És possible implementar configuracions distribuïdes geogràficament que cobreixen diversos centres de dades a diferents parts del món.
  • Compatibilitat amb un model de consistència sòlida i transaccions ACID en processar consultes que abasten diversos nodes i taules. Per millorar el rendiment, podeu deshabilitar selectivament el control de coherència.
  • Replicació automàtica de dades, particionament automàtic (particionament, fragmentació) quan augmenta la mida o la càrrega, i equilibri automàtic de càrrega i dades entre nodes.

Finalment, cal destacar que YDB s'utilitza en projectes de Yandex, el codi està escrit en C/C++ i es distribueix sota la llicència Apache 2.0, poden conèixer el codi font, així com més detalls sobre això en el següent enllaç.


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.