Яндекс SQL тілін қолдайтын таратылған ДҚБЖ YDB кодын ашты

Яндекс SQL диалектісі мен ACID транзакцияларын қолдауды жүзеге асыратын таратылған ДҚБЖ YDB бастапқы кодын жариялады. ДҚБЖ нөлден жасалған және бастапқыда ақауларға төзімділікті, сәтсіздіктерден автоматты түрде қалпына келтіруді және масштабтауды қамтамасыз ету мақсатында әзірленді. Яндекс жүздеген петабайт деректерді сақтайтын және секундына миллиондаған таратылған транзакцияларға қызмет көрсететін 10 мыңнан астам түйінді қамтитын жұмыс істейтін YDB кластерлерін іске қосқаны атап өтілді. YDB Market, Cloud, Smart Home, Alice, Metrica және Auto.ru сияқты Яндекс жобаларында қолданылады. Код C/C++ тілінде жазылған және Apache 2.0 лицензиясы бойынша таратылады. Танысу және жылдам іске қосу үшін сіз дайын Docker контейнерін пайдалана аласыз.

Жобаның ерекшеліктері:

  • Реляциялық деректер моделін кестелермен пайдалану. Сұраулар және деректер схемасын анықтау үшін YQL тілі (YDB Query Language) пайдаланылады, ол үлкен таратылған дерекқорлармен жұмыс істеуге бейімделген SQL диалектісі болып табылады. Сақтау схемасын құру кезінде файлдық жүйедегі каталогтарды еске түсіретін кестелерді ағаш тәрізді топтастыруға қолдау көрсетіледі. JSON пішіміндегі деректермен жұмыс істеу үшін API қамтамасыз етілген.
    Яндекс SQL тілін қолдайтын таратылған ДҚБЖ YDB кодын ашты
  • Тек оқу режимінде орындалатын және grpc ағынын қайтаратын дерекқордағы аналитикалық уақытша сұрауларды орындауға арналған сканерлеу сұрауларын пайдаланып деректерге қол жеткізуге қолдау көрсету.
  • ДҚБЖ-мен өзара әрекеттесу және сұраныстарды жіберу C++, C# (.NET), Go, Java, Node.js, PHP және Python үшін кітапханаларды қамтамасыз ететін пәрмен жолы интерфейсі, кірістірілген веб-интерфейс немесе YDB SDK арқылы жүзеге асырылады.
  • Жеке дискілер, түйіндер, тіректер және тіпті деректер орталықтары істен шыққан кезде жұмысын жалғастыратын ақауларға төзімді конфигурацияларды жасау мүмкіндігі. YDB аймақтардың бірі істен шыққан жағдайда кластердің функционалдығын сақтай отырып, үш қолжетімділік аймағында орналастыруды және синхронды репликацияны қолдайды.
  • Қолданбалар үшін ең аз кідіріспен сәтсіздіктерден автоматты түрде қалпына келтіріңіз және көрсетілген деректердің артықтығын автоматты түрде сақтаңыз.
  • Бастапқы кілт негізінде индекстерді автоматты түрде жасау және ерікті бағандарға қол жеткізу тиімділігін арттыру үшін қосымша индекстерді анықтау мүмкіндігі.
  • Көлденең масштабтау. Сақталған деректердің жүктемесі мен өлшемі өскен сайын, кластерді жай ғана жаңа түйіндерді қосу арқылы кеңейтуге болады. Есептеу және сақтау деңгейлері бөлек, бұл есептеу қуаты мен жад көлемін бөлек кеңейтуге мүмкіндік береді. ДҚБЖ өзі қолда бар аппараттық ресурстарды ескере отырып, деректер мен жүктеменің біркелкі таралуын бақылайды. Әлемнің әртүрлі бөліктеріндегі бірнеше деректер орталықтарын қамтитын географиялық бөлінген конфигурацияларды орналастыруға болады.
  • Бірнеше түйіндер мен кестелерді қамтитын сұрауларды өңдеу кезінде күшті үйлесімділік үлгісін және ACID транзакцияларын қолдайды. Өнімділікті жақсарту үшін сәйкестікті тексеруді таңдаулы түрде өшіруге болады.
  • Деректерді автоматты түрде репликациялау, өлшем немесе жүктеме ұлғайған кезде автоматты түрде бөлу (бөлу, бөлшектеу) және түйіндер арасында автоматты жүктеу және деректерді теңдестіру.
  • Жергілікті PDisk компоненті мен VDisk қабатын пайдаланып деректерді тікелей блоктық құрылғыларда сақтау. DSProxy VDisk үстінде жұмыс істейді, ол дискілердің қол жетімділігі мен өнімділік сипаттамаларын, ақаулар анықталған жағдайда оларды жою үшін талдайды.
  • YDB үстіңгі жағында әртүрлі қызметтерді, соның ішінде виртуалды блок құрылғыларын және тұрақты кезектерді жасауға мүмкіндік беретін икемді архитектура. Жұмыс жүктемелерінің әртүрлі түрлеріне, OLTP және OLAP (аналитикалық сұраулар) үшін жарамдылық.
  • Көп клиенттік және серверсіз конфигурацияларды қолдау. Клиенттің аутентификациясының мүмкіндігі. Пайдаланушылар өздерінің виртуалды кластерлері мен дерекқорларын сұраулар саны мен деректер өлшемі деңгейінде ресурстарды тұтынуды ескере отырып, ортақ ортақ инфрақұрылымда немесе белгілі бір есептеу ресурстары мен сақтау кеңістігін жалға алу/брондау арқылы жасай алады.
  • Ескірген деректерді автоматты түрде жою үшін жазбалардың қызмет ету мерзімін конфигурациялау мүмкіндігі.

Ақпарат көзі: opennet.ru

пікір қалдыру