NoSQL ma'lumotlar bazalariga umumiy nuqtai

NoSQL qisqartmasi 1998-yilda yaratilgan. Ko'p odamlar NoSQL-ni SQLda siqib chiqarish uchun yaratilgan kamsitish atamasi deb hisoblashadi. Aslida, atama faqat SQL emas. Ushbu g'oya shundan iboratki, har ikkala texnologiya ham birlashishi mumkin va ularning har biri o'z o'rnini egallaydi. NoSQL-harakati so'nggi bir necha yil ichida yangiliklar bo'ldi, chunki Web 2.0 rahbarlarining ko'pchiligi NoSQL texnologiyasini qabul qildilar. Facebook, Twitter, Digg, Amazon, LinkedIn va Google kabi kompaniyalar hech qanday tarzda NoSQL-dan foydalana olmaydi.

Keling, noSQL-ni buzaylik, siz uni CIO-ga yoki hatto hamkorlaringizga tushuntira olasiz.

NoSQL kerak emas

Ma'lumotni saqlash: Dunyoning saqlangan raqamli ma'lumotlari eksabaytda o'lchanadi. Exabyte bir milliard gigabayt (GB) ma'lumotga teng. Internet.com saytiga ko'ra, 2006 yilda qo'shilgan saqlangan ma'lumotlar hajmi 161 ta exabayt edi. Faqat 4 yil o'tib, 2010 yilda saqlangan ma'lumotlar miqdori deyarli 1000 ExaBytes bo'lib, bu ko'rsatkich 500% dan oshadi. Boshqacha aytganda, dunyoda ko'plab ma'lumot saqlanmoqda va uning o'sishi davom etmoqda.

Bir- biriga bog'langan ma'lumotlar: Ma'lumotlar yanada ulangan bo'lib qolmoqda. Ko'priklarda bloglar yaratilgani, bloglarda pingbacks bor va har bir yirik ijtimoiy tarmoq tizimida narsalarni bir-biriga bog'laydigan teglar bor. Katta tizimlar bir-biri bilan bog'lanish uchun qurilgan.

Murakkab ma'lumotlar tarkibi: NoSQL ierarxik ichki ma'lumotlar tuzilmalarini osongina boshqarishi mumkin. SQLda xuddi shu narsani bajarish uchun barcha turdagi kalitlarga ega bo'lgan ko'plab relatsion jadvallarga ega bo'lishingiz kerak.

Bundan tashqari, ishlash va ma'lumotlar murakkabligi o'rtasidagi munosabatlar mavjud. Ijtimoiy tarmoq ilovalari va semantik veb-da talab qilinadigan katta hajmdagi ma'lumotlarni saqlab turadigan bo'lsak, an'anaviy RDBMS-da ishlashi kamayishi mumkin.

NoSQL nima?

Menimcha, NoSQLni aniqlashning bir usuli - bu nima emasligini ko'rib chiqish.

SQL emas va u munosabatlar emas. Nomidan ko'rinib turibdiki, bu RDBMS-ni almashtirish emas, balki uni maqtaydi. NoSQL keng tarqalgan ma'lumotlar ehtiyojlari uchun tarqatilgan ma'lumotlar do'koni uchun mo'ljallangan. Terabits ma'lumotlarini har kuni to'playdigan o'zining 500 million foydalanuvchisi yoki Twitter bilan Facebook haqida o'ylang.

NoSQL ma'lumotlar bazasida biron-bir sobit sxema va qo'shilish yo'q. RDBMS tez va tezroq apparat va xotira qo'shib, "kengayib boradi". Boshqa tomondan NoSQL, "scaling out" dan foydalanishlari mumkin. O'lchov miqdori ko'plab tovar sistemalarida yukni yoyishni anglatadi. NoSQL komponenti bu katta ma'lumotlar to'plamlari uchun arzon yechim hisoblanadi.

NoSQL kategoriyalari

Hozirgi NoSQL dunyosi 4 asosiy toifaga to'g'ri keladi.

  1. Kalit-qiymatlar do'koni , asosan, 2007 yilda yozilgan Amazonning Dynamo Paper- ga asoslanadi. Asosiy g'oya ma'lum bir ma'lumot elementi uchun noyob kalit va ko'rsatgich bo'lgan xash jadvali mavjudligidir. Ushbu xaritalar odatda ishlashni maksimal darajada oshirish uchun kesh mexanizmlari bilan birga keladi.
    Ustun oilaviy do'konlar ko'plab mashinalarga tarqatilgan juda ko'p miqdorda ma'lumotlarni saqlash va qayta ishlash uchun yaratilgan. Tugmachalar mavjud, biroq ular bir nechta ustunlarga ishora qiladilar. BigTable (Google'ning ustunli oilasi NoSQL modeli) holatlarida satrlarni saralab qo'yilgan kalitlar bilan belgilash va ushbu kalit bilan saqlangan qatorlar aniqlanadi. Ustunlar ustunlar oilasi tomonidan joylashtirilgan.
  1. Hujjatlar bazasi Lotus Notes dan ilhomlangan va kalit-qiymat do'konlariga o'xshash. Model asosan boshqa kalit-qiymatlar to'plamlari to'plamlari bo'lgan versiyalangan hujjatlardir. Yarim tuzilgan hujjatlar JSON kabi formatlarda saqlanadi.
  2. Grafik bazalari n tugunlar, yozuvlar orasidagi aloqalar va düğümlerin xususiyatlari bilan qurilgan. Satrlar va ustunlar jadvallari va SQLning qattiq tuzilishi o'rniga, ko'plab mashinalar bo'ylab tarqaladigan moslashuvchan grafika modeli qo'llaniladi.

NoSQL-ning asosiy o'yinchilari

NoSQL-ning asosiy ishtirokchilari asosan ularni qabul qilgan tashkilotlar tufayli paydo bo'lgan. NoSQL ning eng yirik texnologiyalari quyidagilardan iborat:

NoSQL so'rovi

NoSQL ma'lumotlar bazasini so'rov qilish masalasi, ko'pchilik ishlab chiquvchilarni qiziqtiradi. Axir, katta ma'lumotlar bazasida saqlanadigan ma'lumotlar sizni qabul qila olmaysiz va oxirgi foydalanuvchilarga yoki veb-xizmatlarga ko'rsatmasangiz yaxshi bo'lmaydi. NoSQL ma'lumotlar bazalari SQL kabi yuqori darajali deklarativ so'rovlar tili bilan ta'minlamaydi. Buning o'rniga, ushbu ma'lumotlar bazalarini so'rov qilish ma'lumotlar modeli uchun o'ziga xosdir.

NoSQL-ning ko'pgina platformalari ma'lumotlarni RESTful interfeyslariga imkon beradi. Boshqa takliflar APIsi. Bir nechta NoSQL ma'lumotlar bazalarini so'rov qilish uchun ishlab chiqilgan so'rovlar vositasi mavjud. Ushbu vositalar odatda bitta NoSQL kategoriyasida ishlaydi. Masalan, SPARQL. SPARQL grafik ma'lumotlar bazalari uchun mo'ljallangan deklaratsiya so'rovining spetsifikatsiyasi. Muayyan bloggerning URL manzilini (IBM mulohazasi) olgan SPARQL so'rovining misoli:

PREFIX qoplami:
SELECT? Url
dan
WHERE {
ishtirokchi foaf: "Jon Foobar".
ishtirokchi: veb-blog? url.
}

NoSQL ning kelajagi

Katta ma'lumot saqlash talablariga ega tashkilotlar NoSQL-ga jiddiy qarashmoqda. Ko'rinib turibdiki, kontseptsiya kichik tashkilotlarda juda ko'p qiyinchiliklarga duch kelmayapti. Information Week tomonidan o'tkazilgan so'rovda IT-mutaxassislarning 44% NoSQL haqida eshitmagan. Bundan tashqari, respondentlarning atigi 1 foizi NoSQLning strategik yo'nalishlarining bir qismi ekanini aytdi. Ko'rinib turibdiki, NoSQL bizning dunyomizda o'z o'rnini egallaydi, lekin ko'pchilikning fikricha, ommaviy e'tirozni olish uchun rivojlanishga davom etish kerak.