NoSQL տվյալների բազաների ակնարկ

Բովանդակություն:

NoSQL տվյալների բազաների ակնարկ
NoSQL տվյալների բազաների ակնարկ
Anonim

NoSQL հապավումը ստեղծվել է 1998 թվականին: Շատերը կարծում են, որ NoSQL-ը նսեմացնող տերմին է, որը ստեղծվել է SQL-ին խոցելու համար: Իրականում տերմինը նշանակում է ոչ միայն SQL: Գաղափարն այն է, որ երկու տեխնոլոգիաներն էլ կարող են գոյակցել, և յուրաքանչյուրն ունի իր տեղը: NoSQL շարժումը եղել է նորությունների մեջ վերջին մի քանի տարիների ընթացքում, քանի որ Web 2.0 առաջնորդներից շատերը որդեգրել են NoSQL տեխնոլոգիա: Ընկերությունները, ինչպիսիք են Facebook-ը, Twitter-ը, Digg-ը, Amazon-ը, LinkedIn-ը և Google-ը, այս կամ այն կերպ օգտագործում են NoSQL-ը: Եկեք բաժանենք NoSQL-ը, որպեսզի կարողանաք դա բացատրել ձեր CIO-ին կամ նույնիսկ ձեր գործընկերներին:

Image
Image

NoSQL առաջացել է կարիքից

Տվյալների պահպանում. Աշխարհում պահվող թվային տվյալները չափվում են էկսաբայթերով:Էկզաբայթը հավասար է մեկ միլիարդ գիգաբայթ (ԳԲ) տվյալների: Ըստ Internet.com-ի՝ 2006 թվականին ավելացված պահվող տվյալների քանակը կազմել է 161 էկսաբայթ։ Ընդամենը 4 տարի անց՝ 2010 թվականին, պահվող տվյալների քանակը կկազմի գրեթե 1000 ExaByte, ինչը ավելի քան 500% աճ է: Այլ կերպ ասած, աշխարհում շատ տվյալներ են պահվում, և դրանք պարզապես կշարունակեն աճել:

Փոխկապակցված տվյալներ. Տվյալները շարունակում են ավելի կապակցվել: Համացանցի ստեղծումը խթանվում է հիպերհղումներով, բլոգներն ունեն pingbacks, և յուրաքանչյուր հիմնական սոցիալական ցանցային համակարգ ունի պիտակներ, որոնք կապում են իրերը: Հիմնական համակարգերը կառուցված են փոխկապակցված լինելու համար:

Տվյալների բարդ կառուցվածք. NoSQL-ը կարող է հեշտությամբ կառավարել հիերարխիկ ներդիր տվյալների կառուցվածքները: SQL-ում նույն բանն իրականացնելու համար ձեզ հարկավոր են բազմաթիվ հարաբերական աղյուսակներ՝ բոլոր տեսակի ստեղներով: Բացի այդ, կա կատարողականի և տվյալների բարդության միջև հարաբերություն: Կատարումը կարող է վատթարանալ ավանդական RDBMS-ում, քանի որ մենք պահպանում ենք հսկայական քանակությամբ տվյալներ, որոնք պահանջվում են սոցիալական ցանցերի հավելվածներում և իմաստային ցանցում:

Ինչ է NoSQL?

Կարծում եմ, որ NoSQL-ը սահմանելու եղանակներից մեկն այն է, որ հաշվի առնենք այն, ինչ այն չէ: Դա SQL չէ և հարաբերական չէ: Ինչպես անունն է հուշում, այն չի փոխարինում RDBMS-ին, այլ հաճոյախոսում է այն: NoSQL-ը նախատեսված է բաշխված տվյալների պահեստների համար՝ շատ մեծ մասշտաբով տվյալների կարիքների համար: Մտածեք Facebook-ի մասին՝ իր 500,000,000 օգտատերերով կամ Twitter-ը, որն ամեն օր կուտակում է տերաբիթ տվյալներ։

NoSQL տվյալների բազայում չկա ֆիքսված սխեմա և չկա միացումներ: RDBMS-ը «մեծանում է»՝ ստանալով ավելի ու ավելի արագ սարքավորումներ և ավելացնելով հիշողություն: Մյուս կողմից, NoSQL-ը կարող է օգտվել «չափից դուրս գալուց»: Սանդղակը վերաբերում է ապրանքների բազմաթիվ համակարգերի վրա բեռի տարածմանը: Սա NoSQL-ի բաղադրիչն է, որը դարձնում է այն էժան լուծում մեծ տվյալների հավաքածուների համար:

NoSQL կատեգորիաներ

Ներկայիս NoSQL աշխարհը տեղավորվում է 4 հիմնական կատեգորիաների մեջ:

  1. Key-values Խանութները հիմնված են հիմնականում Amazon-ի Dynamo Paper-ի վրա, որը գրվել է 2007 թվականին:Հիմնական գաղափարը հեշ աղյուսակի գոյությունն է, որտեղ կա եզակի բանալի և տվյալների որոշակի տարրի ցուցիչ: Այս քարտեզագրումները սովորաբար ուղեկցվում են քեշի մեխանիզմներով՝ արդյունավետությունը առավելագույնի հասցնելու համար:
  2. Սյունակ Ընտանեկան Խանութներ ստեղծվել են շատ մեքենաների վրա բաշխված շատ մեծ քանակությամբ տվյալների պահպանման և մշակման համար: Դեռևս կան բանալիներ, բայց դրանք մատնանշում են բազմաթիվ սյունակներ: BigTable-ի դեպքում (Google-ի Column Family NoSQL մոդելը), տողերը նույնացվում են տողի ստեղնով, որի տվյալները դասավորված և պահվում են այս բանալիով: Սյունակները դասավորված են ըստ սյունակների ընտանիքի:

  3. Փաստաթղթերի տվյալների շտեմարաններ ոգեշնչված են Lotus Notes-ից և նման են հիմնական արժեքի խանութներին: Մոդելը հիմնականում տարբերակված փաստաթղթեր է, որոնք այլ հիմնական արժեքային հավաքածուների հավաքածուներ են: Կիսակազմակերպված փաստաթղթերը պահվում են JSON ձևաչափերով:
  4. Գրաֆիկի տվյալների շտեմարան-երը կառուցված են հանգույցներով, նշումների միջև հարաբերություններով և հանգույցների հատկություններով: Տողերի և սյունակների աղյուսակների և SQL-ի կոշտ կառուցվածքի փոխարեն օգտագործվում է ճկուն գրաֆիկական մոդել, որը կարող է մասշտաբավորվել բազմաթիվ մեքենաներում:

Խոշոր NoSQL նվագարկիչներ

NoSQL-ի հիմնական խաղացողները առաջացել են հիմնականում այն կազմակերպությունների շնորհիվ, որոնք ընդունել են դրանք: Ամենամեծ NoSQL տեխնոլոգիաներից մի քանիսը ներառում են՝

  • Dynamo: Dynamo-ն ստեղծվել է Amazon.com-ի կողմից և հանդիսանում է NoSQL Key-Value տվյալների ամենահայտնի բազան: Amazon-ը կարիք ուներ շատ լայնածավալ բաշխված հարթակի իրենց էլեկտրոնային առևտրի բիզնեսների համար, ուստի նրանք զարգացրեցին Dynamo-ն: Amazon S3-ն օգտագործում է Dynamo-ն որպես պահեստավորման մեխանիզմ:
  • Cassandra: Cassandra-ն բաց կոդավորված է Facebook-ի կողմից և հանդիսանում է սյունակային NoSQL տվյալների բազա:
  • BigTable: BigTable-ը Google-ի սեփական սյունակային տվյալների բազան է: Google-ը թույլ է տալիս օգտագործել BigTable-ը, բայց միայն Google App Engine-ի համար:
  • SimpleDB: SimpleDB-ը Amazon-ի մեկ այլ տվյալների բազա է: Օգտագործվում է Amazon EC2-ի և S3-ի համար, այն Amazon վեբ ծառայությունների մի մասն է, որը գանձում է վճարներ՝ կախված օգտագործումից:
  • CouchDB: CouchDB-ը MongoDB-ի հետ միասին բաց կոդով փաստաթղթերի վրա հիմնված NoSQL տվյալների բազաներ են:
  • Neo4J: Neo4j-ը բաց կոդով գրաֆիկական տվյալների բազա է:

Հարցում NoSQL

Հարցը, թե ինչպես հարցումներ կատարել NoSQL տվյալների բազայում, այն է, ինչ հետաքրքրում է մշակողների մեծամասնությանը: Ի վերջո, հսկայական տվյալների բազայում պահվող տվյալները ոչ մեկին ոչ մի օգուտ չեն տալիս, եթե չկարողանաք առբերել և ցուցադրել դրանք վերջնական օգտագործողներին: կամ վեբ ծառայություններ: NoSQL տվյալների բազաները չեն ապահովում բարձր մակարդակի դեկլարատիվ հարցումների լեզու, ինչպիսին SQL-ն է: Փոխարենը, այս տվյալների շտեմարանների հարցումը is> PREFIX foaf:

SELECT ?url

FROM

WHERE {

WHERE {

?contributor foaf:name "Jon Foobar":

?contributor foaf:weblog ?url.}

NoSQL-ի ապագան

Կազմակերպությունները, որոնք ունեն տվյալների պահպանման հսկայական կարիքներ, լրջորեն նայում են NoSQL-ին: Ըստ երևույթին, հայեցակարգը այնքան էլ տարածված չէ փոքր կազմակերպություններում: Information Week-ի կողմից անցկացված հարցման արդյունքում բիզնես ՏՏ ոլորտի մասնագետների 44%-ը չի լսել NoSQL-ի մասին:Ավելին, հարցվածների միայն 1%-ն է հայտնել, որ NoSQL-ն իրենց ռազմավարական ուղղության մի մասն է: Ակնհայտ է, որ NoSQL-ն իր տեղն ունի մեր կապված աշխարհում, բայց պետք է շարունակի զարգանալ՝ զանգվածային գրավչությունը ստանալու համար, որը շատերի կարծիքով կարող է ունենալ:

Խորհուրդ ենք տալիս: