O'zbek

Zamonaviy global ilovalar uchun masshtablash, tarqatilgan ACID tranzaksiyalarini taqdim etish uchun mo'ljallangan NewSQL ma'lumotlar bazalari dunyosini o'rganing. Ularning arxitekturasini, afzalliklarini va real hayotdagi foydalanish holatlarini bilib oling.

NewSQL: Global Ilovalar uchun Tarqatilgan ACID Tranzaksiyalarini Masshtablash

Bugungi ma'lumotlarga asoslangan dunyoda ilovalar ham masshtablilikni, ham ma'lumotlar izchilligini talab qiladi. An'anaviy relyatsion ma'lumotlar bazalari, kuchli ACID (Atomlik, Izchillik, Izolyatsiya, Bardoshlik) kafolatlarini ta'minlasa-da, ko'pincha gorizontal masshtablashda qiynaladi. Boshqa tomondan, NoSQL ma'lumotlar bazalari masshtablilikni taklif qiladi, lekin odatda unumdorlik foydasiga ACID xususiyatlaridan voz kechadi. NewSQL ma'lumotlar bazalari ikkala dunyoning eng yaxshisini birlashtirishga qaratilgan oraliq sifatida paydo bo'ladi: NoSQL ning masshtabliligi va unumdorligi an'anaviy RDBMS ning ACID kafolatlari bilan.

NewSQL nima?

NewSQL - bu yagona ma'lumotlar bazasi texnologiyasi emas, balki an'anaviy ma'lumotlar bazasi tizimlari (RDBMS) bilan bir xil ACID kafolatlarini ta'minlashga intiladigan, NoSQL tizimlarining masshtabliligiga erishadigan zamonaviy relyatsion ma'lumotlar bazasini boshqarish tizimlarining (RDBMS) sinfidir. Ular yuqori hajmli tranzaktsiyalarni qayta ishlash va katta ma'lumotlar hajmlarini boshqarish uchun mo'ljallangan, bu ularni zamonaviy, tarqatilgan ilovalar uchun mos qiladi.

Aslida, NewSQL tizimlari an'anaviy RDBMS ning cheklovlarini masshtabda ishlaganda bartaraf etish uchun ishlab chiqilgan. Ular ma'lumotlar va ishlov berishni bir nechta tugunlarga tarqatadi, gorizontal masshtablashga imkon beradi, shu bilan birga tranzaktsiyalar ishonchli va izchil tarzda qayta ishlashini ta'minlaydi.

NewSQL ma'lumotlar bazalarining asosiy xususiyatlari

NewSQL-dagi arxitektura yondashuvlari

NewSQL ma'lumotlar bazasi realizatsiyalarida bir nechta arxitektura yondashuvlari qo'llaniladi. Bu yondashuvlar masshtablilikka va ACID kafolatlariga erishish usulida farq qiladi.

1. Hech narsani ulashmaslik arxitekturasi

Ulashmaslik arxitekturasida klasterdagi har bir tugun o'zining mustaqil resurslariga (CPU, xotira, saqlash) ega. Ma'lumotlar ushbu tugunlar bo'ylab bo'linadi va tarqatiladi. Ushbu arxitektura ajoyib masshtablilikni ta'minlaydi, chunki ko'proq tugunlarni qo'shish tizimning sig'imini chiziqli ravishda oshiradi. Google Spanner va CockroachDB kabi ulashmaslik arxitekturasidan foydalanadigan NewSQL ma'lumotlar bazalariga misollar.

Misol: Butun dunyo bo'ylab foydalanuvchilarga ega bo'lgan global elektron tijorat platformasini tasavvur qiling. Ulashmaslik NewSQL ma'lumotlar bazasidan foydalangan holda, platforma o'z ma'lumotlarini bir nechta geografik jihatdan tarqatilgan ma'lumotlar markazlari bo'ylab tarqatishi mumkin. Bu turli mintaqalardagi foydalanuvchilar uchun past kechikishni ta'minlaydi va mintaqaviy uzilishlar bo'lgan taqdirda yuqori mavjudlikni ta'minlaydi.

2. Umumiy xotira arxitekturasi

Umumiy xotira arxitekturasida klasterdagi barcha tugunlar bir xil xotira maydonini baham ko'radi. Bu tez ma'lumotlarga kirish va tugunlar orasidagi aloqaga imkon beradi. Biroq, bu arxitektura odatda masshtablilik jihatidan cheklangan, chunki umumiy xotira tugunlar soni ortib borishi bilan to'siqqa aylanadi. Ushbu arxitekturadan foydalanadigan ma'lumotlar bazalariga misollar (garchi sof ma'noda NewSQL bo'lmasa-da, lekin shunga o'xshash tranzaksion masshtablash yondashuvlarini namoyish etadi) ma'lumotlar bazasi klasterlari mavjud.

3. Umumiy disk arxitekturasi

Umumiy disk arxitekturasida klasterdagi barcha tugunlar bir xil saqlash qurilmalarini baham ko'radi. Bu ma'lumotlarni boshqarishni soddalashtiradi va yuqori mavjudlikni ta'minlaydi. Biroq, bu arxitektura ham to'siq bo'lishi mumkin, chunki barcha tugunlar bir xil saqlashga kirishi kerak. Ba'zi an'anaviy RDBMS tizimlari, klasterlashganda, kengroq masshtabli tranzaktsion ishlov berish doirasida ko'rib chiqilishi mumkin, garchi ular NewSQL deb belgilanishi mumkin bo'lmasa ham.

Tarqatilgan muhitda ACID tranzaksiyalari

Tarqatilgan muhitda ACID xususiyatlarini saqlab qolish murakkab vazifadir. NewSQL ma'lumotlar bazalari ma'lumotlar izchilligi va ishonchliligini ta'minlash uchun turli usullardan foydalanadi.

1. Ikki fazali fiksatsiya (2PC)

2PC - bu bir nechta tugunlar bo'ylab atomlikni ta'minlash uchun keng qo'llaniladigan protokol. 2PC-da, koordinatlashuvchi tugun barcha ishtirokchi tugunlar bo'ylab tranzaktsiyani muvofiqlashtiradi. Tranzaksiya ikki fazada amalga oshiriladi: tayyorlash fazasi va fiksatsiya fazasi. Tayyorlash fazasida har bir tugun tranzaktsiyani amalga oshirishga tayyorlanadi va koordinatlashuvchiga xabar beradi. Agar barcha tugunlar tayyor bo'lsa, koordinatlashuvchi ularni fiksatsiya qilishni buyuradi. Agar biron bir tugun tayyorlanmasa, koordinatlashuvchi barcha tugunlarga bekor qilishni buyuradi.

Muammo: 2PC sekin bo'lishi va bitta nuqson (koordinatlashuvchi) kiritishi mumkin. Shuning uchun, zamonaviy NewSQL tizimlari ko'pincha muqobil protokollarga afzallik beradi.

2. Paxos va Raft konsensus algoritmlari

Paxos va Raft - bu hatto nosozliklar mavjud bo'lganda ham, tarqatilgan tizimga yagona qiymat bo'yicha kelishishga imkon beradigan konsensus algoritmlari. Ushbu algoritmlar ko'pincha NewSQL ma'lumotlar bazalarida ma'lumotlar izchilligi va nosozliklarga chidamlilikni ta'minlash uchun qo'llaniladi. Ular 2PC ga nisbatan yanada mustahkam va samarali alternativa beradi.

Misol: CockroachDB ma'lumotlarni bir nechta tugunlar bo'ylab takrorlash va barcha replikalarning izchil bo'lishini ta'minlash uchun Raftdan foydalanadi. Bu bir tugun ishlamay qolsa ham, tizim ma'lumotlar yo'qotish yoki nomuvofiqliksiz ishlashda davom etishi mumkinligini anglatadi.

3. Spanner-ning TrueTime API

Google Spanner TrueTime deb nomlangan global tarqatilgan, tashqi izchil vaqt belgilash tizimidan foydalanadi. TrueTime soat noaniqligining kafolatlangan yuqori chegarasini ta'minlaydi, bu Spannerga geografik jihatdan tarqatilgan ma'lumotlar markazlari bo'ylab kuchli izchillikka erishishga imkon beradi. Bu Spannerga past kechikish va yuqori o'tkazuvchanlik bilan global tarqatilgan tranzaktsiyalarni amalga oshirishga imkon beradi.

Muhimligi: TrueTime - Spanner arxitekturasining muhim tarkibiy qismi bo'lib, u ma'lumotlar bazasiga tarqatilgan muhitda ham seriyalashtirish, izolyatsiyaning eng yuqori darajasini saqlab qolish imkonini beradi.

NewSQL ma'lumotlar bazalaridan foydalanishning afzalliklari

NewSQL ma'lumotlar bazalaridan foydalanish holatlari

NewSQL ma'lumotlar bazalari ham masshtablilikni, ham ma'lumotlar izchilligini talab qiladigan keng ko'lamli ilovalar uchun javob beradi. Ba'zi umumiy foydalanish holatlari quyidagilardan iborat:

1. Moliyaviy ilovalar

Moliyaviy ilovalar, masalan, bank tizimlari va to'lov protsessorlari, moliyaviy tranzaktsiyalarning aniqligi va ishonchliligini ta'minlash uchun qat'iy ACID kafolatlarini talab qiladi. NewSQL ma'lumotlar bazalari yuqori hajmdagi tranzaktsiyalarni qayta ishlashda ma'lumotlar yaxlitligini saqlab, masshtablilik va unumdorlikni ta'minlaydi.

Misol: Har kuni millionlab tranzaksiyalarni qayta ishlaydigan global to'lov shlyuzi yuqori trafik hajmini boshqarishga va barcha tranzaktsiyalar to'g'ri ishlashini ta'minlashga qodir ma'lumotlar bazasini talab qiladi. NewSQL ma'lumotlar bazasi ushbu talablarga javob beradigan masshtablilikni va ACID kafolatlarini ta'minlashi mumkin.

2. Elektron tijorat platformalari

Elektron tijorat platformalari bir vaqtning o'zida ko'p sonli foydalanuvchilar va tranzaktsiyalarni boshqarishi kerak. NewSQL ma'lumotlar bazalari ushbu ish yukini boshqarish uchun kerakli masshtablilikni va unumdorlikni ta'minlashi mumkin, shu bilan birga buyurtmalar to'g'ri ishlanishini va inventarizatsiya aniq yangilanishini ta'minlaydi.

Misol: Katta onlayn chakana sotuvchi bayram savdo mavsumlarida eng yuqori yuklarni boshqara oladigan ma'lumotlar bazasiga muhtoj. NewSQL ma'lumotlar bazasi talabni qondirish uchun masshtablashi va barcha buyurtmalar xatosiz ishlashini ta'minlashi mumkin.

3. O'yin ilovalari

Massiv ko'p o'yinchili onlayn o'yinlar (MMO) bir vaqtning o'zida ko'p sonli o'yinchilarni va murakkab o'yin mantig'ini boshqarishi kerak. NewSQL ma'lumotlar bazalari ushbu ish yukini boshqarish uchun kerakli masshtablilikni va unumdorlikni ta'minlashi mumkin, shu bilan birga o'yin holati izchil ekanligini va o'yinchilarning firibgarlik qilmasligini ta'minlaydi.

Misol: Ommabop MMO o'yini millionlab bir vaqtning o'zida o'yinchilarni boshqarishi va barcha o'yinchilar ma'lumotlarining izchil bo'lishini ta'minlashi kerak. NewSQL ma'lumotlar bazasi ushbu talablarga javob beradigan masshtablilikni va ACID kafolatlarini ta'minlashi mumkin.

4. Ta'minot zanjirini boshqarish

Zamonaviy ta'minot zanjirlari global miqyosda tarqatilgan va inventar darajalari, buyurtma holati va jo'natmalarni kuzatish bo'yicha real vaqtda ko'rinishni talab qiladi. NewSQL ma'lumotlar bazalari ta'minot zanjiri tizimlari tomonidan yaratilgan katta hajmdagi ma'lumotlarni boshqarish uchun kerakli masshtablilikni va unumdorlikni ta'minlashi mumkin, shu bilan birga ma'lumotlarning aniq va izchil bo'lishini ta'minlaydi.

5. IoT (Narsalar Interneti) platformalari

IoT platformalari ulangan qurilmalardan katta hajmdagi ma'lumotlarni yaratadi. NewSQL ma'lumotlar bazalari ushbu ma'lumotlarni saqlash va tahlil qilish uchun ishlatilishi mumkin, bu qurilmaning ishlashi, foydalanish naqshunmalari va potentsial muammolar haqida ma'lumot beradi. Ular, shuningdek, sensor o'qishlari va boshqaruv buyruqlari kabi muhim IoT ma'lumotlari ishonchli saqlanishi va qayta ishlanishini ta'minlaydi.

NewSQL ma'lumotlar bazalariga misollar

Mana NewSQL ma'lumotlar bazalarining bir nechta diqqatga sazovor misollari:

To'g'ri NewSQL ma'lumotlar bazasini tanlash

Ilovangiz uchun to'g'ri NewSQL ma'lumotlar bazasini tanlash bir nechta omillarga bog'liq, jumladan:

Qaror qabul qilishdan oldin talablaringizni diqqat bilan baholash va turli NewSQL ma'lumotlar bazalarining xususiyatlari va unumdorligini taqqoslash muhimdir. Muayyan ish yukingiz bilan turli ma'lumotlar bazalarining ishlashini sinab ko'rish uchun ko'rsatkichlardan foydalanishni ko'rib chiqing.

NewSQL kelajagi

NewSQL ma'lumotlar bazalari tez rivojlanayotgan texnologiyadir. Ma'lumotlar hajmi va ilovalarning murakkabligi o'sishda davom etar ekan, masshtablash va izchil ma'lumotlar bazalariga talab faqat ortadi. Yaqin yillarda NewSQL arxitekturalari, algoritmlari va vositalarida yanada ko'proq innovatsiyalarni kutishimiz mumkin.

NewSQL-da ba'zi potentsial kelajakdagi tendentsiyalar quyidagilarni o'z ichiga oladi:

Xulosa

NewSQL ma'lumotlar bazalari ham masshtablilikni, ham ma'lumotlar izchilligini talab qiladigan ilovalar uchun jozibali yechim taklif qiladi. An'anaviy RDBMS va NoSQL ma'lumotlar bazalarining eng yaxshisini birlashtirgan holda, NewSQL ma'lumotlar bazalari zamonaviy, tarqatilgan ilovalarni yaratish uchun kuchli platformani taqdim etadi. Masshtablilik va izchil ma'lumotlar bazalariga talab o'sishda davom etar ekan, NewSQL ma'lumotlarni boshqarish kelajagida tobora muhim rol o'ynashga tayyor.

Moliyaviy tizim, elektron tijorat platformasi, o'yin ilovasi yoki IoT platformasini yaratayotgan bo'lsangiz, NewSQL ma'lumotlar bazalari sizga ma'lumotlaringizning yaxlitligi va ishonchliligini ta'minlab, masshtab va murakkablik muammolarini hal qilishga yordam beradi. Tashkilotingizga qanday foyda keltirishi mumkinligini bilish uchun NewSQL dunyosini o'rganishni ko'rib chiqing.

NewSQL: Global Ilovalar uchun Tarqatilgan ACID Tranzaksiyalarini Masshtablash | MLOG