ScyllaDB — Apache Cassandra bilan mos, ammo undan sezilarli yuqori samaradorlikka erishish uchun C++ tilida noldan qayta yozilgan NoSQL ma’lumotlar bazasi. Uning nomi “scylla” — dengiz jonzoti — Cassandra (yunon mifologiyasidagi bashoratchi) bilan bog’liq mifologik ma’noni saqlab qoladi.
Cassandra bilan mos, ammo C++ da qayta yozilishi
ScyllaDB yaratuvchilari Cassandra‘ning ma’lumotlar modeli va so’rov tilini (CQL) saqlab qolgan holda, uning ichki dvigatelini Java‘dan C++’ga o’zgartirishga qaror qilishdi. Bu qaror mavjud Cassandra foydalanuvchilariga kod o’zgarishisiz ScyllaDB’ga o’tish imkonini beradi, ayni paytda sezilarli samaradorlik yutug’ini taqdim etadi.
Yuqori samaradorlikka erishish sababi
Java‘da yozilgan Cassandra Java Virtual Machine va uning garbage collector mexanizmiga bog’liq bo’lib, bu ba’zida kutilmagan pauzalarni keltirib chiqarishi mumkin. C++’da yozilgan ScyllaDB bu qatlamni butunlay chetlab o’tib, apparat resurslaridan to’g’ridan-to’g’ri, samaraliroq foydalanadi.
Shard-per-core arxitekturasi
ScyllaDB’ning noyob dizayn qarori — har bir protsessor yadrosiga alohida, mustaqil “shard” ajratish bo’lib, bu shardlar bir-biri bilan minimal aloqa qiladi. Bu arxitektura ko’p yadroli zamonaviy protsessorlardan deyarli chiziqli miqyosda foydalanish imkonini beradi.
Cassandra’dan farqi
ScyllaDB Cassandra bilan API darajasida mos bo’lsa-da, uning ichki arxitekturasi butunlay boshqacha, bu esa amaliyotda ScyllaDB’ning bir xil apparat resurs bilan Cassandra‘ga qaraganda bir necha barobar yuqori o’tkazuvchanlikka erishishini ta’minlaydi, sanoat benchmarklariga ko’ra.
Qo’llanilish sohalari
ScyllaDB yuqori yozish tezligi va past kechikish talab qiladigan sohalarda — real vaqt tahlili, IoT ma’lumotlarini yig’ish va yuqori trafikli veb-xizmatlarda — qo’llaniladi, ayniqsa mavjud Cassandra infratuzilmasini samaradorlik sababli yangilashni istagan tashkilotlar orasida.
Bog’liq tushunchalar
Cassandra, NoSQL, C++, Samaradorlik, Taqsimlangan ma’lumotlar bazasi, Columnar ma’lumotlar bazasi