NoSQL дерекқорларына шолу

Мазмұны:

NoSQL дерекқорларына шолу
NoSQL дерекқорларына шолу
Anonim

NoSQL аббревиатурасы 1998 жылы ойлап табылған. Көптеген адамдар NoSQL-ті SQL-ге ұрыну үшін жасалған кемсітетін термин деп ойлайды. Шындығында бұл термин тек SQL емес дегенді білдіреді. Бұл екі технология қатар өмір сүре алады және әрқайсысының өз орны бар. NoSQL қозғалысы соңғы бірнеше жылда жаңалықтарда болды, өйткені Web 2.0 көшбасшыларының көпшілігі NoSQL технологиясын қабылдады. Facebook, Twitter, Digg, Amazon, LinkedIn және Google сияқты компаниялар NoSQL-ті бір жолмен пайдаланады. CIO-ға немесе тіпті әріптестеріңізге түсіндіре алу үшін NoSQL-ті бөлшектеп көрейік.

Image
Image

NoSQL қажеттіліктен пайда болды

Деректерді сақтау: Әлемдегі сақталған сандық деректер экзабайтпен өлшенеді. Эксабайт бір миллиард гигабайт (ГБ) деректерге тең. Internet.com мәліметтері бойынша, 2006 жылы қосылған сақталған деректердің көлемі 161 экзабайтты құрады. 2010 жылы небәрі 4 жылдан кейін сақталған деректер көлемі 1 000 ExaBytes дерлік болады, бұл 500%-дан астам өсім. Басқаша айтқанда, әлемде көптеген деректер сақталуда және олар өсуді жалғастырады.

Бір-бірімен байланысты деректер: Деректер жалғасуда. Вебті құру гиперсілтемелерде, блогтарда пингбэктер бар және әрбір негізгі әлеуметтік желі жүйесінде заттарды біріктіретін тегтер бар. Негізгі жүйелер өзара байланысты болу үшін жасалған.

Күрделі деректер құрылымы: NoSQL иерархиялық кірістірілген деректер құрылымдарын оңай өңдей алады. SQL-де бірдей нәрсені орындау үшін кілттердің барлық түрлері бар бірнеше реляциялық кестелер қажет болады. Бұған қоса, өнімділік пен деректер күрделілігі арасында байланыс бар. Дәстүрлі RDBMS өнімділігі төмендеуі мүмкін, өйткені біз әлеуметтік желі қолданбаларында және семантикалық желіде талап етілетін деректердің үлкен көлемін сақтаймыз.

NoSQL дегеніміз не?

Менің ойымша, NoSQL-ті анықтаудың бір жолы оның не емес екенін қарастыру. Бұл SQL емес және реляциялық емес. Аты айтып тұрғандай, бұл RDBMS-ті алмастырмайды, бірақ оны мақтайды. NoSQL өте ауқымды деректер қажеттіліктері үшін таратылған деректер қоймаларына арналған. 500,000,000 пайдаланушысы бар Facebook немесе күн сайын терабит деректер жинайтын Twitter туралы ойланыңыз.

NoSQL дерекқорында бекітілген схема және біріктірулер жоқ. RDBMS жылдамырақ және жылдамырақ жабдықты алу және жад қосу арқылы «масштабын кеңейтеді». NoSQL, керісінше, «масштабтауды» пайдалана алады. Масштабты азайту жүктемені көптеген тауарлық жүйелерге таратуды білдіреді. Бұл үлкен деректер жиыны үшін оны арзан шешім ететін NoSQL құрамдас бөлігі.

NoSQL санаттары

Қазіргі NoSQL әлемі 4 негізгі санатқа сәйкес келеді.

  1. Негізгі мәндер дүкендері негізінен Amazon компаниясының 2007 жылы жазылған Dynamo Paper қағазына негізделген. Негізгі идея - бірегей кілт және деректердің белгілі бір элементіне көрсеткіш бар хэш кестесінің болуы. Бұл салыстырулар әдетте өнімділікті арттыру үшін кэш механизмдерімен бірге жүреді.
  2. Column Family Stores көптеген машиналарға таратылған деректердің өте үлкен көлемін сақтау және өңдеу үшін жасалған. Әлі де кілттер бар, бірақ олар бірнеше бағандарды көрсетеді. BigTable жағдайында (Google-дың бағандар тобы NoSQL үлгісі) жолдар осы кілт арқылы сұрыпталған және сақталған деректері бар жол пернесі арқылы анықталады. Бағандар бағандар тобы бойынша реттелген.

  3. Құжат дерекқорлары Lotus Notes арқылы шабыттандырылған және кілттер дүкендеріне ұқсас. Модель негізінен басқа кілт-мән жинақтарының жинақтары болып табылатын нұсқаланған құжаттар болып табылады. Жартылай құрылымдық құжаттар JSON сияқты пішімдерде сақталады.
  4. Графикалық дерекқор түйіндермен, жазбалар арасындағы қарым-қатынастармен және түйіндердің сипаттарымен құрастырылған. Жолдар мен бағандар кестелерінің және қатаң SQL құрылымының орнына көптеген машиналарда масштабтауға болатын икемді график үлгісі пайдаланылады.

Негізгі NoSQL ойыншылары

NoSQL-дегі негізгі ойыншылар, ең алдымен, оларды қабылдаған ұйымдардың арқасында пайда болды. Кейбір ең ірі NoSQL технологияларына мыналар жатады:

  • Динамо: Динамо Amazon.com жасаған және ең көрнекті Key-Value NoSQL дерекқоры болып табылады. Amazon электрондық коммерция бизнесі үшін жоғары ауқымды таратылатын платформаға мұқтаж болды, сондықтан олар Динамоны жасады. Amazon S3 сақтау механизмі ретінде Dynamo пайдаланады.
  • Кассандра: Кассандра Facebook арқылы ашық дереккөз болып табылады және бағанға бағытталған NoSQL дерекқоры болып табылады.
  • BigTable: BigTable - Google компаниясының жеке бағанға бағытталған дерекқоры. Google BigTable қолданбасын пайдалануға рұқсат береді, бірақ тек Google App Engine үшін.
  • SimpleDB: SimpleDB – басқа Amazon дерекқоры. Amazon EC2 және S3 үшін пайдаланылады, ол пайдалануға байланысты ақы алатын Amazon Web Services бөлігі болып табылады.
  • CouchDB: CouchDB және MongoDB-мен бірге бастапқы коды ашық құжатқа бағытталған NoSQL дерекқорлары.
  • Neo4J: Neo4j – ашық бастапқы графикалық дерекқор.

NoSQL сұрауы

NoSQL дерекқорын қалай сұрау керек деген сұрақ әзірлеушілердің көпшілігін қызықтырады. Ақыр соңында, үлкен дерекқорда сақталған деректер оны шығарып алып, соңғы пайдаланушыларға көрсете алмасаңыз, ешкімге пайда әкелмейді. немесе веб-қызметтері. NoSQL дерекқорлары SQL сияқты жоғары деңгейлі декларативті сұрау тілін қамтамасыз етпейді. Оның орнына, бұл дерекқорларды сұрау:> PREFIX foaf:

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributor foaf:weblog ?url.

}

NoSQL болашағы

Деректерді сақтауға үлкен қажеттіліктері бар ұйымдар NoSQL-ке мұқият қарайды. Шамасы, бұл тұжырымдама кішігірім ұйымдарда соншалықты тартымды емес. Ақпарат апталығы жүргізген сауалнамада IT мамандарының 44%-ы NoSQL туралы естімеген. Сонымен қатар, респонденттердің тек 1% ғана NoSQL олардың стратегиялық бағытының бір бөлігі екенін хабарлады. Әлбетте, NoSQL біздің қосылған әлемде өз орны бар, бірақ көпшілік ойлайтындай жаппай тартымды болу үшін дамуын жалғастыру керек.

Ұсынылған: