Tarqatilgan DBMS TiDB 3.0 nashri

Mavjud tarqatilgan DBMS nashri TiDB3.0Google texnologiyalari ta'sirida ishlab chiqilgan Tarmoqli и F1. TiDB real vaqt rejimida tranzaktsiyalarni (OLTP) ta'minlash va analitik so'rovlarni qayta ishlashga qodir bo'lgan gibrid HTAP (Gibrid Transaction/Analytical Processing) tizimlari toifasiga kiradi. Loyiha Go va tilida yozilgan tarqaladi Apache 2.0 ostida litsenziyalangan.

TiDB xususiyatlari:

  • SQL-ni qo'llab-quvvatlash va MySQL protokoli bilan mos keladigan mijoz interfeysini ta'minlash, bu MySQL uchun yozilgan mavjud ilovalarni TiDB ga moslashtirishni osonlashtiradi, shuningdek, umumiy mijozlar kutubxonalaridan foydalanishga imkon beradi. MySQL protokoliga qo'shimcha ravishda JSON-ga asoslangan API va DBMSga kirish uchun Spark ulagichidan foydalanishingiz mumkin.
  • SQL xususiyatlaridan indekslar, jamlash funktsiyalari, GROUP BY, TARTIBI BO'YICHA, DISTINCT ifodalari, birlashmalar (LEFT JOIN / RIGHT JOIN / CROSS JOIN), ko'rinishlar, oyna funktsiyalari va pastki so'rovlar qo'llab-quvvatlanadi. Taqdim etilgan imkoniyatlar PhpMyAdmin kabi veb-ilovalarning TiDB bilan ishlashni tashkil qilish uchun etarli. Goglar va WordPress;
  • Masshtabni kengaytirish va chidamlilik: Saqlash va qayta ishlash quvvatini oddiygina yangi tugunlarni qo'shish orqali oshirish mumkin. Alohida tugunlar ishlamay qolsa, operatsiyalarni davom ettirishga imkon berish uchun ma'lumotlar ortiqcha bilan tugunlar bo'ylab taqsimlanadi. Muvaffaqiyatsizliklar avtomatik tarzda hal qilinadi.
  • Tizim izchillikni kafolatlaydi va mijoz dasturiy ta'minoti uchun bitta katta DBMSga o'xshaydi, garchi ko'plab tugunlardan olingan ma'lumotlar tranzaksiyani yakunlash uchun ishlatiladi.
  • Tugunlarda jismoniy ma'lumotlarni saqlash uchun turli xil backendlardan foydalanish mumkin, masalan, mahalliy saqlash dvigatellari GoLevelDB va BoltDB yoki xususiy taqsimlangan saqlash mexanizmi TiKV.
  • Saqlash sxemasini asinxron ravishda o'zgartirish imkoniyati, davom etayotgan operatsiyalarni qayta ishlashni to'xtatmasdan tezda ustunlar va indekslarni qo'shish imkonini beradi.

asosiy yangiliklar:

  • Hosildorlikni oshirish borasida ishlar amalga oshirildi. Sysbench testida 3.0 versiyasi tanlash va yangilash operatsiyalarida 2.1 filialidan 1.5 baravar, TPC-C testida esa 4.5 baravar ko'p ishlaydi. Optimallashtirishlar har xil turdagi so'rovlarga ta'sir ko'rsatdi, jumladan "IN", "DO" va "NOT EXISTS" pastki so'rovlari, jadvallarni birlashtirish operatsiyalari (JOIN), indekslardan foydalanish va boshqalar;
    Tarqatilgan DBMS TiDB 3.0 nashriTarqatilgan DBMS TiDB 3.0 nashri

  • Ustun bilan bog'langan saqlash orqali yaxshiroq tahliliy (OLAP) ishlashga erishish uchun yangi saqlash mexanizmi TiFlash qo'shildi. TiFlash ilgari taklif qilingan TiKV xotirasini to'ldiradi, u kalit/qiymat formatidagi qatorlar kontekstida ma'lumotlarni saqlaydi va tranzaksiyalarni qayta ishlash (OLTP) vazifalari uchun ko'proq mos keladi. TiFlash TiKV bilan yonma-yon ishlaydi va ma'lumotlar konsensusni aniqlash uchun Raft protokolidan foydalanishdan oldingidek TiKVga ko'paytirilishda davom etmoqda, ammo Raft replikalarining har bir guruhi uchun qo'shimcha nusxa yaratiladi va TiFlashda ishlatiladi. Bunday yondashuv OLTP va OLAP vazifalari o'rtasida resurslarni yaxshiroq taqsimlash imkonini beradi, shuningdek, tranzaksiya ma'lumotlarini analitik so'rovlar uchun bir zumda mavjud qiladi;

    Tarqatilgan DBMS TiDB 3.0 nashri

  • Katta klasterlarda axlat yig'ish tezligini sezilarli darajada oshirishi va barqarorlikni yaxshilashi mumkin bo'lgan taqsimlangan axlat yig'uvchisi amalga oshirildi;
  • Rolga asoslangan kirishni boshqarish (RBAC) tizimining eksperimental amaliyoti qo'shildi. Shuningdek, ANALYZE, USE, SET GLOBAL va SHOW PROCESS LIST operatsiyalariga kirish huquqlarini o'rnatish mumkin;
  • Sekin so'rovlar jurnalidan chiqarish uchun SQL ifodalaridan foydalanish imkoniyati qo'shildi;
  • Tasodifan o'chirilgan ma'lumotlarni qayta tiklash imkonini beruvchi o'chirilgan jadvallarni tezda tiklash mexanizmi joriy etildi;
  • Ro'yxatga olingan jurnallarning yagona formati;
  • Tranzaksiyani qayta ishlashni MySQL ga yaqinlashtiradigan pessimistik qulflash rejimini qo'llab-quvvatlash qo'shildi;
  • MySQL 8.0 bilan mos keluvchi oyna funksiyalari (oyna funksiyalari yoki analitik funksiyalar) uchun qo‘shimcha yordam. Oyna funktsiyalari so'rovning har bir qatoriga boshqa qatorlar yordamida hisob-kitoblarni amalga oshirish imkonini beradi. Guruhlangan qatorlar toʻplamini bitta qatorga yigʻuvchi agregat funksiyalardan farqli oʻlaroq, oyna funksiyalari natijalar toʻplamidan bir yoki bir nechta satrlarni oʻz ichiga olgan “oyna” mazmuni asosida yigʻiladi. Amalga oshirilgan oyna funktsiyalari orasida:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE , LAST_VALUE, RANK, DENSE_RANK va ROW_NUMBER;

  • Ko'rishlar uchun eksperimental yordam qo'shildi (VIEW);
  • Yaxshilangan bo'lim tizimi (bo'lim), ma'lumotlarni bir qator qiymatlar yoki xeshlar asosida bo'limlarga taqsimlash qobiliyatini qo'shdi;
  • Plaginlarni ishlab chiqish uchun ramka qo'shildi, masalan, plaginlar allaqachon IP oq ro'yxati yoki audit jurnalidan foydalanish uchun tayyorlangan;
  • SQL so'rovlarini bajarish rejasini (SQL rejasini boshqarish) yaratish uchun "TAHLILI TUSHUN" funksiyasi uchun eksperimental yordam ko'rsatildi;
  • Keyingi qator identifikatorini olish uchun next_row_id buyrug'i qo'shildi;
  • JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE va NAME_CONST yangi o‘rnatilgan funksiyalar qo‘shildi.

Manba: opennet.ru

a Izoh qo'shish