TiDB — xitoylik PingCAP kompaniyasi tomonidan ishlab chiqilgan, MySQL bilan mos taqsimlangan SQL ma’lumotlar bazasi. U Google’ning ichki Spanner va F1 tizimlari haqidagi ilmiy maqolalaridan ilhomlangan holda yaratilgan.
PingCAP kompaniyasi tomonidan yaratilishi
PingCAP jamoasi mavjud MySQL ma’lumotlar bazalarining gorizontal miqyoslash bilan bog’liq muammolarini hal qilish uchun TiDB’ni yaratdi — an’anaviy MySQL bitta serverda ishlashga mo’ljallangan bo’lib, ma’lumot hajmi oshgan sayin uni ko’plab serverga taqsimlash murakkab jarayon hisoblanadi.
MySQL bilan moslik
TiDB’ning eng katta amaliy afzalligi — u MySQL protokoli va so’rov tiliga to’liq mos, bu esa mavjud MySQL ilovalarini kod o’zgarishisiz yoki minimal o’zgarish bilan TiDB’ga o’tkazish imkonini beradi. Dasturchi TiDB bilan ishlayotganda, u MySQL bilan ishlayotgandek tuyuladi, faqat orqa tomonda ma’lumot ko’plab serverlar orasida taqsimlangan bo’ladi.
HTAP imkoniyati
TiDB’ning noyob xususiyati — u HTAP (Hybrid Transactional/Analytical Processing) arxitekturasini qo’llab-quvvatlaydi, ya’ni bitta tizimda ham kundalik tranzaksion amallarni (buyurtma qo’shish), ham murakkab tahliliy so’rovlarni (hisobot generatsiyasi) samarali bajarish mumkin, alohida ma’lumotlar omboriga ko’chirishga hojat qoldirmasdan.
Google Spanner/F1’dan ilhomlanishi
TiDB’ning taqsimlangan tranzaksiya va konsensus mexanizmlari Google’ning ichki Spanner (global miqyosda izchil ma’lumotlar bazasi) va F1 (Spanner ustiga qurilgan SQL qatlami) tizimlari haqidagi ilmiy maqolalardan bevosita ilhomlangan, xuddi CockroachDB kabi.
CockroachDB bilan qiyoslash
TiDB va CockroachDB o’xshash muammoni — Google Spanner g’oyalarini ochiq manba sifatida amalga oshirishni — yechadi, ammo TiDB o’zining MySQL bilan mosligiga urg’u bersa, CockroachDB ko’proq PostgreSQL bilan moslikka e’tibor qaratadi. Bu farq tashkilotlarning mavjud infratuzilmasiga qarab tanlovni belgilaydi.
Bog’liq tushunchalar
MySQL, Taqsimlangan ma’lumotlar bazasi, CockroachDB, HTAP, Google Spanner, NewSQL