Выпуск размеркаванай СКБД TiDB 4.0

даступны рэліз размеркаванай СКБД TiDB 4.0, якая развіваецца пад уражаннем ад тэхналогій Google гаечны ключ и F1. TiDB адносіцца да катэгорыі гібрыдных сістэм HTAP (Hybrid Transactional / Analytical Processing), здольных як забяспечваць выкананне транзакцый у рэальным часе (OLTP), так і выконваць апрацоўку аналітычных запытаў. Праект напісаны на мове Go і распаўсюджваецца пад ліцэнзіяй Apache 2.0.

Асаблівасці TiDB:

  • Падтрымка SQL і падаванне кліенцкага інтэрфейсу, сумяшчальнага з пратаколам MySQL, што спрашчае адаптацыю для TiDB існых прыкладанняў, напісаных для MySQL, а таксама дазваляе задзейнічаць распаўсюджаныя кліенцкія бібліятэкі. Акрамя пратаколу MySQL для звароту да СКБД можна выкарыстоўваць API на базе JSON і канектар для Spark.
  • З магчымасцяў SQL падтрымліваюцца азначнікі, агрэгатныя функцыі, выразы GROUP BY, ORDER BY, DISTINCT, зліцці (LEFT JOIN / RIGHT JOIN / CROSS JOIN), паданні, аконныя функцыі і подзапросы. Якія прадстаўляюцца магчымасцяў досыць для арганізацыі працы з TiDB такіх web-прыкладанняў, як PhpMyAdmin, Гогі і WordPress;
  • Магчымасць гарызантальнага маштабавання і забеспячэнні адмоваўстойлівасці: памер сховішчы і вылічальную магутнасць можна нарошчваць простым падлучэннем новых вузлоў. Дадзеныя размяркоўваюцца па вузлах з надмернасцю, якая дазваляе працягнуць працу ў выпадку збою асобных вузлоў. Збоі апрацоўваюцца аўтаматычна.
  • Сістэма гарантуе несупярэчлівасць і для кліенцкага ПА выглядае як адна вялікая СКБД, нягледзячы на ​​тое, што фактычна для выканання транзакцыі прыцягваюцца дадзеныя са мноства вузлоў.
  • Для фізічнага захоўвання дадзеных на вузлах могуць прымяняцца розныя бэкенды, напрыклад, лакальныя рухавічкі захоўвання GoLevelDB і BoltDB або ўласныя рухавічкі размеркаванага сховішча TiKV і TiFlash. TiKV захоўвае дадзеныя ў разрэзе радкоў у фармаце ключ/значэнне і з'яўляецца больш аптымальным для задач апрацоўкі транзакцый (OLTP). TiFlash захоўвае дадзеныя ў прывязцы да слупкоў і дазваляе дамагчыся больш высокай прадукцыйнасці пры рашэнні аналітычных задач (OLAP).
  • Магчымасць асінхроннай змены схемы захоўвання, якая дазваляе на лёце дадаваць слупкі і азначнікі без прыпынку апрацоўкі бягучых аперацый.

У новым выпуску:

  • Па змаўчанні ўключаны размеркаваны зборшчык смецця Green GC, які дазваляе істотна павысіць хуткасць зборкі смецця ў буйных кластарах і павысіць стабільнасць працы;
  • Дададзена падтрымка вялікіх транзакцый, памер якіх абмежаваны практычна памерам фізічнай памяці. Абмежаванне памеру адной транзакцыі павялічана са 100 МБ да 10ГБ;
  • Дададзена падтрымка каманд BACKUP і RESTORE для рэзервовага капіявання;
  • Дададзена магчымасць усталёўкі блакавання на табліцы;
  • Дададзены сумяшчальны з MySQL механізм ізаляцыі транзакцый на ўзроўні чытання (READ COMMITTED);
  • У каманду "ADMIN SHOW DDL JOBS" дададзена падтрымка выразаў LIKE і WHERE;
  • Дададзены параметр oom-use-tmp-storage, які дазваляе выкарыстоўваць часовыя файлы для кэшавання прамежкавых вынікаў ва ўмовах недахопу аператыўнай памяці;
  • Дададзена ключавое слова Random для прысваення атрыбутам выпадковых значэнняў;
  • У камандзе LOAD DATA з'явілася магчымасць выкарыстання шаснаццатковых і двайковых выразаў;
  • Дададзена 15 параметраў для кіравання паводзінамі аптымізатара;
  • Дададзеныя сродкі для дыягностыкі прадукцыйнасці SQL-запытаў. Дададзены лог павольных запытаў, даступны праз сістэмныя табліцы SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • Дададзена падтрымка функцый для працы з паслядоўнасцямі;
  • Дададзена магчымасць дынамічнай змены параметраў канфігурацыі, чытэльных з PD (Placement Driver, сервер кіравання кластарам). Дададзена магчымасць выкарыстання выраза "SET CONFIG" для змены налад вузлоў PD/TiKV.
  • Дададзена налада max-server-connections для абмежавання максімальнай колькасці адначасовых злучэнняў да сервера (па змаўчанні 4096);
  • Павялічана прадукцыйнасць у сітуацыях, калі запытаныя слупкі поўнасцю пакрываюцца індэксамі;
  • Дададзена аптымізацыя запытаў на аснове зліцця індэксаў;
  • Падвышаная прадукцыйнасць аперацый з дыяпазонамі значэнняў;
  • Зніжана нагрузка на CPU за кошт кэшавання вынікаў звароту да індэксаў і адсявання дублікатаў;
  • Дададзена падтрымка новага фармату захоўвання радкоў, які дазваляе павялічыць прадукцыйнасць табліц з вялікай колькасцю слупкоў;
  • У функцыі GROUP_CONCAT з'явілася падтрымка выраза "ORDER BY";
  • Дададзена магчымасць вымання дадзеных з лога TiFlash праз SQL;
  • У камандзе “RECOVER TABLE рэалізавана падтрымка аднаўлення абрэзаных табліц;
  • Дададзена сістэмная табліца DDLJobs для запыту дэталяў аб выкананні работ DDL;
  • Дададзена магчымасць ужывання каманды SHOW CONFIG для паказу налад PD і TiKV;
  • Уключаны па змаўчанні кэш супрацэсара;
  • Лік супраграм (goroutine) у фазе паўторных спроб коммита зараз можа кантралявацца пры дапамозе налады committer-concurrency;
  • Дададзена магчымасць адлюстравання рэгіёнаў часткі табліц (table partition);
  • У tidb-server дададзена магчымасць абмежавання памеру часавага сховішча;
  • Дададзена падтрымка аперацый "insert into tbl_name partition(partition_name_list)" і "replace into tbl_name partition(partition_name_list)";
  • У хэшы, які выкарыстоўваецца для секцыянавання (партыцыравання), дададзена падтрымка фільтрацыі па прыкмеце «is null»;
  • Для секцыянаваных табліц дададзена падтрымка аперацый праверкі, чысткі і аднаўленні індэксаў.

Крыніца: opennet.ru

Дадаць каментар