Dimissio distributorum DBMS TiDB 4.0

available DBMS emittere de distributi TiDB 4.0, evoluta sub influxu technologiarum Google mechanica ΠΈ F1. TiDB pertinet ad categoriam systematis hybridorum HTAP (Hybrid Transactionalis/Analyticae) systemata, capax utriusque negotii real-time (OLTP) et inquisitionum analyticarum expediendi. Exertum scriptum est in Go and per distribui licentiatus sub Apache 2.0.

Features TiDB:

  • SQL sustentatio et provisio clientis interfaciei compatitur cum protocollo MySQL, quod simpliciorem facit adaptationem applicationum existentium pro MySQL ad TiDB scriptum, et etiam permittit usum bibliothecarum clientium communium. Praeter protocollum MySQL, JSON substructum API et iungo pro Scintilla DBMS uti potes.
  • SQL lineamenta suscipiunt indices, functiones aggregati, GROUP BY, ORDINE BY, DISTINCTIS expressiones, merges (Sinistra JOIN/IURE CONIUNCTIO / CRUCIS CONIUNCTA), sententiae, fenestrae functiones et subqueries. Facultates providae sufficiunt ad opus ordinandum cum TiDB pro talibus applicationibus interretialibus sicut PhpMyAdmin, goggles and WordPress;
  • Scalabilitas horizontalis et tolerantia culpae: amplitudo et potestas reposita augeri possunt per iungentes novos nodos simpliciter. Data per nodos cum redundantia distributa sunt, operandi ut continue si nodi singuli deficiant. Peccata automatice tractantur.
  • Systema constantiam spondet et pro programmate clientis unum magnum DBMS spectat, non obstante quod notitia ex multis nodi alliciatur ad rem perficiendam.
  • Для физичСского хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΠ·Π»Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ бэкСнды, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ хранСния GoLevelDB ΠΈ BoltDB ΠΈΠ»ΠΈ собствСнныС Π΄Π²ΠΈΠΆΠΊΠΈ распрСдСлённого Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° TiKV ΠΈ TiFlash. TiKV Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ строк Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ являСтся Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ для Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ (OLTP). TiFlash Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² привязкС ΠΊ столбцам ΠΈ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ аналитичСских Π·Π°Π΄Π°Ρ‡ (OLAP).
  • Facultas asynchrone schema reponendi mutare sinit, ut columnas et indices in musca adde sine intermissione processus operationum permanentium.

in nova emissione;

  • По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ распрСдСлённый сборщик мусора 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;
  • Switched on ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ кэш сопроцСссора;
  • Число сопрограмм (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Β»;
  • Для сСкционированных Ρ‚Π°Π±Π»ΠΈΡ† Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, чистки ΠΈ восстановлСния индСксов.

Source: opennet.ru