TiDB 3.0 таратылған ДҚБЖ шығарылымы

Қол жетімді таратылған ДҚБЖ шығару TiDB 3.0, Google технологияларының әсерінен жасалған Саңылаушы и F1. TiDB нақты уақыттағы транзакцияларды (OLTP) қамтамасыз етуге және аналитикалық сұрауларды өңдеуге қабілетті гибридті HTAP (гибридтік транзакция/аналитикалық өңдеу) жүйелерінің санатына жатады. Жоба Go тілінде жазылған және таралады Apache 2.0 бойынша лицензияланған.

TiDB мүмкіндіктері:

  • SQL қолдауы және MySQL протоколымен үйлесімді клиенттік интерфейсті қамтамасыз ету, бұл MySQL үшін жазылған бар қолданбаларды TiDB-ге бейімдеуді жеңілдетеді, сонымен қатар жалпы клиенттік кітапханаларды пайдалануға мүмкіндік береді. MySQL протоколына қосымша, JSON негізіндегі API және ДҚБЖ қол жеткізу үшін Spark қосқышын пайдалануға болады.
  • SQL мүмкіндіктері индекстерді, агрегаттық функцияларды, GROUP BY, ORDER BY, DISTINCT өрнектерді, біріктірулерді (СОЛҒА ҚОСЫЛУ / RIGHT JOIN / CROSS JOIN), көріністерді, терезе функцияларын және ішкі сұрауларды қолдайды. Берілген мүмкіндіктер PhpMyAdmin сияқты веб-қосымшалар үшін TiDB-мен жұмысты ұйымдастыруға жеткілікті. Гогтар және WordPress;
  • Көлденең масштабтау және ақауларға төзімділік: сақтау көлемі мен өңдеу қуатын жай ғана жаңа түйіндерді қосу арқылы арттыруға болады. Деректер жеке түйіндер сәтсіз болған жағдайда операцияны жалғастыруға мүмкіндік беретін артықшылығы бар түйіндер бойынша таратылады. Сәтсіздіктер автоматты түрде өңделеді.
  • Жүйе келісімділікке кепілдік береді және клиенттік бағдарламалық қамтамасыз ету үшін транзакцияны аяқтау үшін көптеген түйіндерден деректер тартылғанына қарамастан, ол бір үлкен ДҚБЖ сияқты көрінеді.
  • Түйіндердегі деректерді физикалық сақтау үшін әртүрлі серверлерді пайдалануға болады, мысалы, GoLevelDB және BoltDB жергілікті сақтау жүйелері немесе біздің жеке таратылған сақтау механизмі TiKV.
  • Ағымдағы операцияларды өңдеуді тоқтатпай жылдам бағандар мен индекстерді қосуға мүмкіндік беретін сақтау схемасын асинхронды өзгерту мүмкіндігі.

басты инновациялар:

  • Еңбек өнімділігін арттыру бойынша жұмыстар жүргізілді. Sysbench сынағында 3.0 шығарылымы таңдау және жаңарту әрекеттерін орындау кезінде 2.1 тармағына қарағанда 1.5 есе, ал TPC-C сынағында 4.5 есе жылдамырақ. Оңтайландырулар сұраулардың әртүрлі түрлеріне әсер етті, соның ішінде IN, DO және NOT EXISTS ішкі сұраулары, кестелерді біріктіру (JOIN) операциялары, индекстерді пайдалану және т.б.;
    TiDB 3.0 таратылған ДҚБЖ шығарылымыTiDB 3.0 таратылған ДҚБЖ шығарылымы

  • Бағаналық сақтаудың арқасында аналитикалық есептерді (OLAP) шешуде жоғары өнімділікке мүмкіндік беретін жаңа TiFlash сақтау механизмі қосылды. TiFlash бұрын ұсынылған TiKV жадын толықтырады, ол жолдар бойынша деректерді кілт/мән пішімінде сақтайды және транзакцияны өңдеу тапсырмалары (OLTP) үшін өте қолайлы. TiFlash TiKV-мен қатар жұмыс істейді және консенсусты анықтау үшін Raft хаттамасын пайдаланбас бұрын деректер TiKV-ге көшіру жалғасуда, бірақ Raft көшірмелерінің әрбір тобы үшін TiFlash-те қолданылатын қосымша көшірме жасалады. Бұл тәсіл OLTP және OLAP тапсырмалары арасында ресурстарды жақсырақ бөлісуге мүмкіндік береді, сонымен қатар транзакция деректерін аналитикалық сұраулар үшін лезде қолжетімді етеді;

    TiDB 3.0 таратылған ДҚБЖ шығарылымы

  • Үлкен кластерлерде қоқыс жинау жылдамдығын айтарлықтай арттыратын және тұрақтылықты жақсартатын бөлінген қоқыс жинағыш енгізілді;
  • Рөлге негізделген қатынасты басқарудың (RBAC) тәжірибелік іске асырылуы қосылды. Сондай-ақ ANALYZE, USE, SET GLOBAL және SHOW PROCESSLIST операциялары үшін кіру құқықтарын орнатуға болады;
  • Журналдан баяу сұрауларды шығару үшін SQL өрнектерін пайдалану мүмкіндігі қосылды;
  • Кездейсоқ жойылған деректерді қалпына келтіруге мүмкіндік беретін жойылған кестелерді жылдам қалпына келтіру механизмі енгізілді;
  • Жазылған журналдардың пішімі бірыңғайланды;
  • Транзакцияны өңдеуді MySQL-ге ұқсас ететін пессимистік құлыптау режиміне қолдау қосылды;
  • MySQL 8.0-мен үйлесімді терезе функцияларына (терезе функциялары немесе аналитикалық функциялар) қолдау қосылды. Терезе функциялары басқа жолдарды пайдаланып әрбір сұрау жолы үшін есептеулерді орындауға мүмкіндік береді. Топтастырылған жолдар жинағын бір жолға қысқартатын жиынтық функциялардан айырмашылығы, терезе функциялары нәтиже жиынынан бір немесе бірнеше жолдарды қамтитын «терезе» мазмұнына негізделген біріктіреді. Орындалған терезе функцияларының ішінде:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK және ROW_NUMBER;

  • Көріністерге эксперименттік қолдау қосылды (VIEW);
  • Бөлу жүйесі жетілдірілді, деректерді мәндер немесе хэштер ауқымы негізінде бөлімдерге бөлу мүмкіндігі қосылды;
  • Плагиндерді әзірлеуге арналған негіз қосылды, мысалы, IP ақ тізімін пайдалану немесе аудит журналын жүргізу үшін плагиндер әлдеқашан дайындалған;
  • SQL сұрауы үшін орындау жоспарын құруға арналған «ТАЛДАУДЫ ТҮСІНДІРУ» функциясына эксперименттік қолдау көрсетілді (SQL жоспарын басқару);
  • Келесі жолдың идентификаторын алу үшін next_row_id пәрмені қосылды;
  • JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE және NAME_CONST жаңа кірістірілген функциялар қосылды.

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

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