даступны рэліз размеркаванай СКБД 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;