TiDB 4.0 тархсан DBMS хувилбар

Боломжтой тархсан DBMS хувилбар TiDB 4.0Google технологийн нөлөөн дор хөгжсөн Спаннер и F1. TiDB нь бодит цагийн гүйлгээ (OLTP) болон аналитик асуулга боловсруулах чадвартай эрлийз HTAP (Hybrid Transactional/Analytical Processing) системийн ангилалд багтдаг. Төслийг Go and хэл дээр бичсэн тараасан Apache 2.0 дагуу лицензтэй.

TiDB-ийн онцлогууд:

  • SQL-ийн дэмжлэг, MySQL протоколд нийцсэн клиент интерфэйсийг хангах нь MySQL-д зориулж бичсэн одоо байгаа програмуудыг TiDB-д дасан зохицоход хялбар болгож, нийтлэг үйлчлүүлэгч номын санг ашиглах боломжийг олгодог. MySQL протоколоос гадна та DBMS-д хандахын тулд JSON-д суурилсан API болон Spark-ийн холбогчийг ашиглаж болно.
  • SQL-ийн онцлогуудаас индексүүд, нэгтгэх функцууд, БҮЛЭГЛЭХ, ЗАХИАЛАХ, DISTINCT илэрхийллүүд, нэгтгэх (LEFT JOIN / RIGHT JOIN / CROSS JOIN), харагдац, цонхны функцууд болон дэд хайлтуудыг дэмждэг. Өгөгдсөн боломжууд нь PhpMyAdmin зэрэг вэб програмуудын TiDB-тэй ажиллахад хангалттай юм. Гогууд болон WordPress;
  • Хэмжээг багасгах, тэсвэрлэх чадвар: Хадгалах болон боловсруулах хүчин чадлыг шинэ зангилаа нэмэх замаар л нэмэгдүүлэх боломжтой. Тус тусдаа зангилаа бүтэлгүйтсэн тохиолдолд үйл ажиллагааг үргэлжлүүлэх боломжийг олгохын тулд өгөгдлийг зангилаа даяар хуваарилдаг. Алдаа дутагдлыг автоматаар зохицуулдаг.
  • Энэхүү систем нь тогтвортой байдлыг баталгаажуулж, гүйлгээг дуусгахад олон зангилааны өгөгдлийг ашигладаг хэдий ч үйлчлүүлэгчийн програм хангамжийн хувьд нэг том DBMS шиг харагддаг.
  • Зангилаанууд дээр физик өгөгдөл хадгалахад өөр өөр арын хэсгийг ашиглаж болно, жишээлбэл, GoLevelDB болон BoltDB локал хадгалах систем эсвэл уугуул тархсан хадгалах систем TiKV болон TiFlash. TiKV нь өгөгдлийг мөрийн форматаар түлхүүр/утга форматаар хадгалдаг бөгөөд гүйлгээ боловсруулах (OLTP) ажлуудад илүү оновчтой байдаг. TiFlash нь өгөгдлийг баганад тулгуурласан байдлаар хадгалж, аналитик асуудлыг (OLAP) шийдвэрлэхэд илүү өндөр гүйцэтгэлд хүрэх боломжийг олгодог.
  • Хадгалалтын схемийг асинхроноор өөрчлөх чадвар нь явагдаж буй үйл ажиллагааны боловсруулалтыг зогсоохгүйгээр шууд багана, индекс нэмэх боломжийг олгодог.

Шинэ хувилбарт:

  • Анхдагч байдлаар, тархсан хог цуглуулагч Green GC идэвхжсэн бөгөөд энэ нь том кластерт хог цуглуулах хурдыг мэдэгдэхүйц нэмэгдүүлж, тогтвортой байдлыг сайжруулах боломжтой;
  • Хэмжээ нь бараг физик санах ойн хэмжээгээр хязгаарлагддаг томоохон гүйлгээний дэмжлэгийг нэмсэн. Нэг удаагийн гүйлгээний хэмжээ 100 МБ-аас 10 ГБ хүртэл нэмэгдсэн;
  • Нөөцлөхөд зориулсан НӨӨЦЛӨЛТ болон RESTORE командын дэмжлэг нэмэгдсэн;
  • Ширээн дээр түгжээ тавих чадварыг нэмсэн;
  • Унших түвшинд MySQL-тэй нийцтэй гүйлгээг тусгаарлах механизмыг нэмсэн (READ COMMITTED);
  • "ADMIN SHOW DDL JOBS" командад LIKE болон WHERE илэрхийллийг дэмжсэн;
  • RAM хангалтгүй нөхцөлд завсрын үр дүнг кэш хийхэд түр зуурын файлуудыг ашиглах боломжийг олгодог oom-use-tmp-storage параметрийг нэмсэн;
  • Шинж чанаруудад санамсаргүй утгыг оноохын тулд Random түлхүүр үг нэмсэн;
  • LOAD DATA команд нь одоо арван зургаан тоот болон хоёртын илэрхийллийг ашиглах чадвартай болсон;
  • Оновчлогчийн үйл ажиллагааг хянахын тулд 15 параметр нэмсэн;
  • SQL асуулгын гүйцэтгэлийг оношлох хэрэгслүүдийг нэмсэн. SLOW_QUERY / CLUSTER_SLOW_QUERY системийн хүснэгтээр дамжуулан удаан асуулгын бүртгэлийг нэмсэн;
  • Дараалалтай ажиллах функцүүдийн дэмжлэг нэмэгдсэн;
  • PD-ээс уншсан тохиргооны параметрүүдийг динамикаар өөрчлөх чадварыг нэмсэн (Байршуулах драйвер, кластерын удирдлагын сервер). PD/TiKV зангилааны тохиргоог өөрчлөхийн тулд "SET CONFIG" мэдэгдлийг ашиглах боломжийг нэмсэн.
  • Сервертэй нэгэн зэрэг холбогдохын дээд хэмжээг хязгаарлахын тулд max-server-connections тохиргоог нэмсэн (анхдагчаар 4096);
  • Хүссэн баганууд нь индексээр бүрэн хамрагдсан тохиолдолд гүйцэтгэл сайжирсан;
  • Индексүүдийг нэгтгэх үндсэн дээр асуулгын оновчлолыг нэмсэн;
  • Утгын мужтай үйлдлүүдийн гүйцэтгэл сайжирсан;
  • Индексүүдэд хандах үр дүнг кэшлэх, давхардсан файлуудыг шүүх замаар CPU-ийн ачааллыг бууруулсан;
  • Олон тооны багана бүхий хүснэгтүүдийн гүйцэтгэлийг нэмэгдүүлэх боломжийг олгодог шинэ мөр хадгалах форматын дэмжлэг нэмэгдсэн;
  • GROUP_CONCAT функц нь одоо "ORDER BY" илэрхийллийг дэмждэг;
  • SQL-ээр дамжуулан TiFlash бүртгэлээс өгөгдлийг задлах боломжийг нэмсэн;
  • "RECOVER TABLE" команд нь таслагдсан хүснэгтүүдийг сэргээх дэмжлэгийг хэрэгжүүлдэг;
  • DDL ажлын гүйцэтгэлийн талаарх дэлгэрэнгүй мэдээллийг асуухын тулд DDLJobs системийн хүснэгтийг нэмсэн;
  • PD болон TiKV тохиргоог харуулахын тулд SHOW CONFIG командыг ашиглах боломжийг нэмсэн;
  • Асаах анхдагч копроцессорын кэш;
  • Дахин хийх оролдлого хийх үе шатанд байгаа goroutines-ийн тоог одоо committer-concurrency тохиргоог ашиглан хянах боломжтой;
  • Хүснэгтийн хуваалтын мужуудыг харуулах боломжийг нэмсэн;
  • Tidb-серверт түр хадгалах сангийн хэмжээг хязгаарлах боломжийг нэмсэн;
  • "tbl_name partition(partition_name_list) руу оруулах" болон "tbl_name partition(partition_name_list) руу солих" үйлдлүүдийн дэмжлэгийг нэмсэн;
  • Хуваалтад (хуваалтанд) ашигласан хэш-д "нэг" гэсэн үндсэн дээр шүүлтүүрийн дэмжлэг нэмэгдсэн;
  • Хуваасан хүснэгтүүдийн хувьд индексийг шалгах, цэвэрлэх, сэргээх дэмжлэг нэмэгдсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх