Yandex inatsegula code ya DBMS YDB yogawidwa yothandizira SQL

Yandex yasindikiza zolemba zoyambira za YDB DBMS yogawidwa, yomwe imagwiritsa ntchito chilankhulo cha SQL ndi zochitika za ACID. DBMS idapangidwa kuchokera pachiwonetsero ndipo poyambilira idapangidwa ndi diso kuti zitsimikizire kulolerana kwa zolakwika, kuchira kodziwikiratu pakagwa zolephera komanso zovuta. Zimadziwika kuti Yandex idayambitsa magulu a YDB ogwira ntchito, kuphatikiza ma node opitilira 10, kusunga mazana a ma petabytes a data ndikutumizira mamiliyoni azinthu zomwe zimagawidwa pamphindikati. YDB imagwiritsidwa ntchito pama projekiti a Yandex monga Market, Cloud, Smart Home, Alice, Metrika ndi Auto.ru. Khodiyo imalembedwa mu C/C++ ndikugawidwa pansi pa chilolezo cha Apache 2.0. Kuti mudziwe bwino komanso kukhazikitsidwa mwachangu, mutha kugwiritsa ntchito chidebe cha Docker chokonzekera.

Zofunika za Pulojekiti:

  • Kugwiritsa ntchito deta yolumikizana ndi ma tebulo. YQL (YDB Query Language) imagwiritsidwa ntchito pofunsa ndi kufotokozera schema ya data, yomwe ndi chilankhulo cha SQL chosinthidwa kuti chigwire ntchito ndi nkhokwe zazikulu zogawidwa. Popanga chiwembu chosungirako, gulu lamatebulo lofanana ndi mtengo limathandizidwa, lofanana ndi zolemba pamafayilo. API imaperekedwa kuti igwire ntchito ndi data mumtundu wa JSON.
    Yandex inatsegula code ya DBMS YDB yogawidwa yothandizira SQL
  • Thandizo lopeza deta pogwiritsa ntchito mafunso opangidwa kuti azitha kufunsa mafunso ad-hoc motsutsana ndi nkhokwe, kuchitidwa mumayendedwe owerengera okha ndi kubwezera mtsinje wa grpc.
  • Kuyanjana ndi DBMS ndikutumiza zopempha kumachitika pogwiritsa ntchito mawonekedwe a mzere wa lamulo, mawonekedwe a intaneti omangidwa kapena YDB SDK, yomwe imapereka malaibulale a C ++, C # (.NET), Go, Java, Node.js, PHP ndi Python.
  • Kutha kupanga masinthidwe olekerera zolakwika omwe amapitilirabe kugwira ntchito pomwe ma disks, ma node, ma racks, ngakhale malo opangira data akulephera. YDB imathandizira kutumizidwa ndi kubwereza kofananira m'malo atatu opezeka kwinaku ikusunga thanzi la gululo pakalephera gawo limodzi.
  • Dzipezeni nokha ku zolephera ndikuchedwetsa pang'ono kwa mapulogalamu ndikusunga zokha zomwe zatchulidwa posunga deta.
  • Kupanga ma index pa kiyi yoyambira ndikutha kufotokozera ma index achiwiri kuti apititse patsogolo mwayi wopeza magawo osasintha.
  • Horizontal scalability. Pamene katundu ndi kukula kwa deta yosungidwa ikukula, masango akhoza kukulitsidwa mwa kungogwirizanitsa mfundo zatsopano. Magawo a compute ndi osungira amasiyanitsidwa, kulola kuwerengera ndi kusungirako padera. DBMS yokha imayang'anira kugawa kofanana kwa deta ndi katundu, poganizira za hardware zomwe zilipo. Ndizotheka kuyika masinthidwe omwe amagawidwa m'malo omwe amakhudza malo angapo a data kumadera osiyanasiyana padziko lapansi.
  • Thandizo lachitsanzo chokhazikika chokhazikika ndi zochitika za ACID pamene mukukonza mafunso okhudza ma node angapo ndi matebulo. Kuti muwongolere magwiridwe antchito, mutha kuletsa kuwongolera kosasinthasintha.
  • Kubwereza kwa data zokha, kugawanitsa (kugawa, kugawa) pamene kukula kapena katundu ukuwonjezeka, ndi katundu wodziwikiratu ndi kusanja deta pakati pa mfundo.
  • Kusunga deta mwachindunji pazida zotchinga pogwiritsa ntchito gawo la PDisk lachilengedwe ndi wosanjikiza wa VDisk. Pamwamba pa VDisk, DSProxy imathamanga, yomwe imasanthula kupezeka ndi magwiridwe antchito a disks kuti asawachotsere ngati mavuto apezeka.
  • Zomangamanga zosinthika zomwe zimakupatsani mwayi wopanga pamwamba pa YDB, mautumiki osiyanasiyana, mpaka zida za block ndi mizere yosalekeza (mzere wosalekeza). Kuyenerera kugwiritsa ntchito mitundu yosiyanasiyana ya kuchuluka kwa ntchito, OLTP ndi OLAP (mafunso owunika).
  • Kuthandizira kwa ogwiritsa ntchito ambiri (multitenant) ndi masinthidwe opanda seva. Kutha kutsimikizira makasitomala. Ogwiritsa ntchito amatha kupanga magulu awo enieni ndi nkhokwe m'malo omwe amagawana nawo, poganizira kugwiritsa ntchito zinthu pamlingo wa kuchuluka kwa zopempha ndi kukula kwa data, kapena kubwereka / kusunga zinthu zina zamakompyuta ndi malo osungira.
  • Kuthekera kosintha moyo wonse wa zolembedwa kuti zichotsedwe zokha za data yakale.

Source: opennet.ru

Kuwonjezera ndemanga