Inilabas ng Yandex ang source code ng DBMS nito na «YDB»

Kamakailan-lamang na ang balita ay sinira iyon Inilabas ng Yandex ang source code ng DBMS nito, «YDB», na nagpapatupad ng suporta para sa SQL dialect at mga transaksyong ACID.

ang DBMS ay binuo mula sa simula at sa simula ay binuo na may isang mata patungo sa pagtiyak fault tolerance, awtomatikong failover, at scalability. Dapat pansinin na ang Yandex ay naglunsad ng gumaganang mga kumpol ng YDB, kabilang ang higit sa 10 libong mga node, na nag-iimbak ng daan-daang petabytes ng data at nagsisilbi sa milyun-milyong ipinamamahaging mga transaksyon sa bawat segundo.

Mga pangunahing bagong bagay ng YDB

Sa mga tampok na namumukod-tangi sa YDB ay ang paggamit ng relational data model na may mga talahanayan ng YQL (YDB Query Language) ay ginagamit para mag-query at tukuyin ang data schema, which is isang diyalekto ng SQL na inangkop upang gumana sa malalaking distributed database. Kapag gumagawa ng schema ng storage, sinusuportahan ang isang parang punong pagpapangkat ng mga talahanayan, na kahawig ng mga direktoryo sa isang file system. Ang isang API ay ibinigay para sa pagtatrabaho sa data sa JSON na format.

Ang kakayahang lumikha ng mga pagsasaayos na mapagparaya sa kasalanan na patuloy na gumagana kapag nabigo ang mga disk, node, rack, at maging ang mga indibidwal na data center. Sinusuportahan ng YDB ang magkasabay na pag-deploy at pagtitiklop sa tatlong Availability Zone habang pinapanatili ang estado ng cluster kung sakaling mabigo ang isa sa mga zone.

Suporta sa Pag-access ng Data gamit ang mga scan query, na idinisenyo upang magsagawa ng ad-hoc analytical na mga query sa database, na isinasagawa sa read-only na mode at nagbabalik ng grpc stream.

Bilang karagdagan, ito rin ay namumukod-tangi direktang pag-iimbak ng data sa mga block device gamit ang bahagi ng PDisk native at ang VDisk layer. Bilang karagdagan sa VDisk, tumatakbo ang DSProxy, na sinusuri ang pagkakaroon at pagganap ng mga disk upang ibukod ang mga ito kung may nakitang mga problema.

Ng iba pang mga tampok matindi yan:

  • Isang flexible na arkitektura na nagbibigay-daan sa iyong bumuo ng iba't ibang serbisyo sa itaas ng YDB, hanggang sa mga virtual block device at patuloy na mga pila. Angkop para sa iba't ibang uri ng workload: OLTP at OLAP (analytical query).
  • Suporta para sa mga multi-user (multi-tenant) at walang server na mga configuration.
  • Kakayahang mag-authenticate ng mga kliyente. Ang mga user ay maaaring gumawa ng sarili nilang mga virtual na cluster at database sa isang karaniwang nakabahaging imprastraktura, isinasaalang-alang ang pagkonsumo ng mapagkukunan sa mga tuntunin ng bilang ng mga kahilingan at laki ng data, o sa pamamagitan ng pagrenta/pagreserba ng ilang mga mapagkukunan ng computing at espasyo sa imbakan.
  • Posibilidad na ayusin ang kapaki-pakinabang na buhay ng mga talaan para sa awtomatikong pagtanggal ng hindi na ginagamit na data.
  • Ang pakikipag-ugnayan sa DBMS at pagsusumite ng mga kahilingan ay ginagawa gamit ang command line interface, ang integrated web interface, o ang YDB SDK, na nagbibigay ng mga library para sa C++, C# (.NET), Go, Java, Node.js, PHP at Python.
  • Awtomatikong makabawi mula sa mga pagkabigo na may kaunting pagkaantala sa mga application at awtomatikong mapanatili ang tinukoy na redundancy kapag nag-iimbak ng data.
  • Awtomatikong paglikha ng mga index sa pangunahing key at ang kakayahang tukuyin ang mga pangalawang index upang mapabuti ang kahusayan ng arbitrary na pag-access sa column.
  • Pahalang na scalability. Habang lumalaki ang load at laki ng data na nakaimbak, ang cluster ay maaaring palawakin sa pamamagitan lamang ng pagkonekta ng mga bagong node. Magkahiwalay ang compute at storage tier, na nagbibigay-daan sa iyong i-scale ang compute at storage nang hiwalay. Ang DBMS mismo ay sinusubaybayan ang pantay na pamamahagi ng data at pagkarga, na isinasaalang-alang ang mga magagamit na mapagkukunan ng hardware. Posibleng ipatupad ang mga configuration na ipinamahagi sa heograpiya na sumasaklaw sa maraming data center sa iba't ibang bahagi ng mundo.
  • Suporta para sa isang matatag na modelo ng pagkakapare-pareho at mga transaksyon sa ACID kapag nagpoproseso ng mga query na sumasaklaw sa maraming node at talahanayan. Para mapahusay ang performance, maaari mong piliing i-disable ang consistency checking.
  • Awtomatikong pagtitiklop ng data, awtomatikong paghahati (paghahati, pagbabahagi) kapag tumataas ang laki o pag-load, at awtomatikong pag-load at pagbabalanse ng data sa pagitan ng mga node.

Sa wakas, dapat tandaan na ang YDB ay ginagamit sa mga proyekto ng Yandex, ang code ay nakasulat sa C/C++ at ipinamahagi sa ilalim ng Apache 2.0 na lisensya, makikita mo ang source code, pati na rin ang higit pang mga detalye tungkol dito Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.