Kutolewa kwa DBMS TiDB 4.0 iliyosambazwa

Inapatikana kutolewa kwa DBMS iliyosambazwa TiDB 4.0, iliyotengenezwa chini ya ushawishi wa teknolojia za Google Spanner ΠΈ F1. TiDB iko katika aina ya mifumo mseto ya HTAP (Uamala Mseto/Uchakataji wa Uchanganuzi), yenye uwezo wa kutoa miamala ya wakati halisi (OLTP) na kuchakata hoja za uchanganuzi. Mradi umeandikwa kwa lugha ya Go na kusambazwa na leseni chini ya Apache 2.0.

Vipengele vya TiDB:

  • Usaidizi wa SQL na utoaji wa kiolesura cha mteja kinachooana na itifaki ya MySQL, ambayo hurahisisha urekebishaji wa programu zilizopo zilizoandikwa kwa ajili ya MySQL hadi TiDB, na pia inaruhusu matumizi ya maktaba za wateja wa kawaida. Kando na itifaki ya MySQL, unaweza kutumia API ya JSON na kiunganishi cha Spark kufikia DBMS.
  • Vipengele vya SQL vinasaidia faharisi, utendakazi wa jumla, KUNDI KWA, KUAGIZA KWA, misemo TOFAUTI, miunganisho (KUJIUNGA KUSHOTO / KUJIUNGA KULIA / KUJIUNGA NA KUPANDA), mionekano, vitendakazi vya dirisha na hoja ndogo. Uwezo uliotolewa unatosha kupanga kazi na TiDB kwa programu tumizi za wavuti kama PhpMyAdmin, Nguruwe na WordPress;
  • Kuongezeka kwa usawa na uvumilivu wa makosa: saizi ya uhifadhi na nguvu ya usindikaji inaweza kuongezwa kwa kuunganisha nodi mpya tu. Data inasambazwa katika sehemu zote kwa kupunguzwa tena, kuruhusu uendeshaji kuendelea ikiwa nodi za kibinafsi zitashindwa. Kushindwa kunashughulikiwa kiotomatiki.
  • Mfumo unahakikisha uthabiti na kwa programu ya mteja inaonekana kama DBMS moja kubwa, licha ya ukweli kwamba kwa kweli, data kutoka kwa nodi nyingi huvutiwa kukamilisha shughuli.
  • Для физичСского хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΠ·Π»Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ бэкСнды, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ хранСния GoLevelDB ΠΈ BoltDB ΠΈΠ»ΠΈ собствСнныС Π΄Π²ΠΈΠΆΠΊΠΈ распрСдСлённого Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° TiKV ΠΈ TiFlash. TiKV Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ строк Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ являСтся Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ для Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ (OLTP). TiFlash Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² привязкС ΠΊ столбцам ΠΈ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ аналитичСских Π·Π°Π΄Π°Ρ‡ (OLAP).
  • Uwezo wa kubadilisha schema ya uhifadhi kwa asynchronously, kukuwezesha kuongeza safu na indexes kwenye kuruka bila kuacha usindikaji wa shughuli zinazoendelea.

Katika toleo jipya:

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

Chanzo: opennet.ru

Kuongeza maoni