Millionlab foydalanuvchilar ishlata oladigan loyihalar qanday qilinadi

Millionlab foydalanuvchilar ishlata oladigan loyihalar qanday qilinadi

Millionlab foydalanuvchilar ishlata oladigan loyihalar qanday qilinadi

AWS DynamoDB, AWS IAM kabi loyihalar sekundiga millionlab, hattoki milliardlab requestlar bilan ishlashlari mumkin. Bunaqa darajadagi backend sistemalar qurishni tasavvur ham qilish qiyin.

Odatda loyihalar qanchalik ko’p foydalanuvchi ishlatishni boshlagani sari shunchalik sekinroq ishlashni boshlashadi. CPU yetishmaslikni boshlaydi, storage yetishmaslikni boshlaydi, database semirib ketganidan querylar ko’proq vaqt olishni boshlaydi va hokazo. Unda bu loyihalar bu ishni qanday uddalaydi? Ularning dokumentatsiyalariga nazar solsak sal tushuncha hosil qilish mumkin.

Ular eng yuqori darajada ishlashda davom etish uchun har xil chegaralar qo’yib qo’ygan.

Masalan DynamoDBda har bir record 400Kb dan oshib ketmasligi kerak. Yoki, bittadan ko’proq ma’lumotlarni scan/query qilish operatsiyasining requesti 1MB dan oshmaslik kerak. Yoki ma’lumotlarni yozishni olaylik. Bu operatsiyalar uchun «eventual consistency» va’da qilingan holos. Ular dar xol amalga oshmaydi. 1 sekund ichida barcha replikatsiyalarga yetib boradi odatda. U degani 1 sekund ichida siz hozirgina yozilgan ma’lumotni so’rasangiz eski versiyasini olishingiz mumkin. Va hokazo va hokazo.

O’zi DynamoDBning NoSQL bo’lganligi ham bitta chegara. Biz o’rganib qolgan PostgreSQL, MySQL lar kabi be’malol JOINlar qila olmaymiz. DynamoDB relationallikdan umuman vos kechgan.

Faqatgina shu chegaralar borlligi uchun DynamoDB shunchalik tez va shunchalik katta scaleda ishlay oladi.

Agar bu chegaralar bo’lmaganida qayerdadir nimasidir sekinroq ishlashni boshlagan bo’lar edi va bu loyiha bergan vadalari ustidan chiqa olmagan bo’lar edi.

Odamlar ham shunday. O’zingiz uchun chegara qo’ymasangiz, «sekin ishlashni» boshlaysiz. Kerakli joylarda nimalardandir voz keching, nimalarnidir kamaytiring. Natijada uzoqroqqa tezroq boring.

Be like DynamoDB.

Manba:

Umumiy Dasturlash
Millionlab foydalanuvchilar ishlata oladigan loyihalar qanday qilinadi