TiDB 4.0 ferspraat DBMS release

Beskikber frijlitting fan in ferspraat DBMS TiDB 4.0, Γ»ntwikkele Γ»nder de ynfloed fan Google-technologyen Stretcher ΠΈ F1. TiDB heart ta de kategory fan hybride HTAP (Hybrid Transactional/Analytical Processing) systemen, by steat om sawol real-time transaksjes (OLTP) te leverjen as analytyske fragen te ferwurkjen. It projekt is skreaun yn Go en ferspraat troch lisinsje Γ»nder Apache 2.0.

Funksjes fan TiDB:

  • SQL-stipe en it oanbieden fan in client-ynterface kompatibel mei it MySQL-protokol, wat de oanpassing fan besteande applikaasjes skreaun foar MySQL nei TiDB simplifies, en ek it brΓ»ken fan mienskiplike kliΓ―ntbiblioteken mooglik makket. Neist it MySQL-protokol kinne jo in JSON-basearre API en in ferbining brΓ»ke foar Spark om tagong te krijen ta de DBMS.
  • SQL-funksjes stypje yndeksen, aggregate funksjes, GROUP BY, ORDER BY, DISTINCT-ΓΊtdrukkingen, gearfoegings (LEFT JOIN / RIGHT JOIN / CROSS JOIN), werjeften, finsterfunksjes en subqueries. De levere mooglikheden binne genΓ΄ch om wurk mei TiDB te organisearjen foar sokke webapplikaasjes as PhpMyAdmin, bril en WordPress;
  • Horizontale skalberens en fouttolerΓ’nsje: opslachgrutte en ferwurkingskrΓͺft kinne wurde ferhege troch gewoan nije knopen te ferbinen. Gegevens wurde ferdield oer knooppunten mei redundans, wΓͺrtroch operaasje kin trochgean as yndividuele knooppunten mislearje. Mislearrings wurde automatysk behannele.
  • It systeem garandearret konsistinsje en foar de kliΓ―ntsoftware liket it op ien grutte DBMS, nettsjinsteande it feit dat feitlik gegevens fan in protte knooppunten oanlutsen wurde om de transaksje te foltΓ΄gjen.
  • Для физичСского хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΠ·Π»Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ бэкСнды, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ хранСния GoLevelDB ΠΈ BoltDB ΠΈΠ»ΠΈ собствСнныС Π΄Π²ΠΈΠΆΠΊΠΈ распрСдСлённого Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° TiKV ΠΈ TiFlash. TiKV Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ строк Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ являСтся Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ для Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ (OLTP). TiFlash Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² привязкС ΠΊ столбцам ΠΈ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ аналитичСских Π·Π°Π΄Π°Ρ‡ (OLAP).
  • De mooglikheid om it opslachskema asynchronysk te feroarjen, wΓͺrtroch jo kolommen en yndeksen op 'e flecht kinne tafoegje sΓ»nder de ferwurking fan trochgeande operaasjes te stopjen.

Yn de nije release:

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

Boarne: opennet.ru

Add a comment