NoSQL- ի հապավումը 1998-ին կազմված էր: Շատերը կարծում են, որ NoSQL- ն անհարկի տերմին է, որը ստեղծվել է SQL- ում: Իրականում, տերմինը նշանակում է ոչ միայն SQL: Գաղափարը կայանում է նրանում, որ երկու տեխնոլոգիաները կարող են գոյատեւել, եւ յուրաքանչյուրն ունի իր տեղը: NoSQL- ի շարժումը վերջին մի քանի տարիներին եղել է նորությունների շարքում, քանի որ Web 2.0 ղեկավարներից շատերը ընդունել են NoSQL տեխնոլոգիա: Facebook, Twitter, Digg, Amazon, LinkedIn- ը եւ Google- ը նման կերպ օգտագործում են NoSQL- ը:
Եկեք ոչնչացնենք NoSQL- ը, այնպես որ կարող եք բացատրել այն ձեր CIO- ին կամ ձեր գործընկերներին:
NoSQL- ն ստեղծվեց անհրաժեշտության դեպքում
Տվյալների պահպանում. Աշխարհի պահված թվային տվյալները չափվում են exabytes- ում: Էքսաբայթը հավասար է մեկ միլիարդ գիգաբայթ (ԳԲ) տվյալների: Internet.com- ի տվյալներով, 2006-ին ավելացված տվյալների պահպանման ծավալը եղել է 161 արտաբայտ: Ընդամենը 4 տարի անց 2010-ին պահվող տվյալների քանակը կազմում է մոտ 1000 ExaBytes, ինչը 500% -ից ավելի է: Այլ կերպ ասած, աշխարհում կա պահված շատ տվյալներ, եւ այն պարզապես կշարունակի աճել:
Ինտերակտիվ տվյալներ. Տվյալները շարունակում են ավելի շատ կապված լինել: Վեբի ստեղծումը հիպերհղումներում, բլոգներում ունենում են պինգբուքներ եւ սոցիալական ցանցի ամեն մի մեծ համակարգ ունի պիտակներ, որոնք կապում են միմյանց հետ: Հիմնական համակարգերը կառուցված են փոխկապակցված:
Կառուցված տվյալների կառուցվածքը. NoSQL- ը կարող է հեշտությամբ կառավարել հիերարխիկ կառուցվածքային տվյալների կառուցվածքները: SQL- ում նույն բանն իրականացնելու համար դուք պետք է բազմակի հարաբերական աղյուսակներ ունենաք բոլոր տեսակի բանալիներով:
Բացի այդ, գոյություն ունի հարաբերակցություն եւ տվյալների բարդության միջեւ: Կատարումը կարող է դանդաղեցնել ավանդական RDBMS- ներում, երբ մենք պահպանում ենք սոցիալական ցանցերի ծրագրերում եւ սիմվանտային ցանցում պահանջվող զանգվածային գումարները:
Որն է NoSQL- ը:
Կարծում եմ, NoSQL- ը որոշելու մի ձեւ պետք է հաշվի առնի, թե ինչն է դա:
Դա SQL չէ եւ դա հարաբերական չէ: Ինչպես նշում է անունը, դա RDBMS- ի փոխարինումը չէ, այլ այն հաճոյախոսում է: NoSQL- ը նախատեսված է տվյալների բազաների բաշխված լինելու համար, որոնք շատ մեծ մասշտաբի կարիք ունեն: Մտածեք Ֆեյսբուքի հետ իր 500,000,000 օգտվողների կամ Twitter- ի հետ, որը կուտակում է տվյալների ամեն օր Թաբաբիտները:
NoSQL տվյալների բազայում չկա ֆիքսված սխեմա եւ ոչ մի միացում: RDBMS- ը «կշռում է», ստանալով ավելի արագ եւ արագ սարքավորում եւ ավելացնում հիշողություն: Այլ կերպ, NoSQL- ը կարող է օգտվել «խոշորացումից»: Խոշորացումը վերաբերում է բազմաթիվ ապրանքային համակարգերի վրա բեռի տարածմանը: Սա NoSQL- ի բաղադրիչն է, որը կազմում է մեծ տվյալների հավաքածուի էժան լուծում:
NoSQL բաժիններ
Ներկայիս NoSQL աշխարհը համապատասխանում է 4 հիմնական կատեգորիաներ:
- Հիմնական արժեքներ Խանութները հիմնականում հիմնված են Amazon- ի Դինամո թղթի վրա, որը գրվել է 2007 թվականին: Հիմնական գաղափարը հեշ սեղանի առկայությունն է, որտեղ կա յուրահատուկ բանալին եւ տվյալ կետի ցուցիչ: Այս քարտեզագրությունները սովորաբար ուղեկցվում են cache մեխանիզմներով `առավելագույնը կատարելու համար:
Սյունակային Ընտանեկան Խանութներ են ստեղծվել եւ պահպանել շատ մեծ քանակությամբ տվյալների տարածված բազմաթիվ մեքենաների վրա: Դեռեւս ստեղներ կան, բայց դրանք նշում են բազմաթիվ սյունակներ: BigTable- ի (Google- ի Սյունակային Ընտանիք NoSQL մոդելը) դեպքում տողերը նույնականացվում են ստեղնային բանալիով, որոնք դասավորված են եւ պահվում են այս բանալին: Սյունակները կազմակերպվում են սյունակ ընտանիքի կողմից:
- Փաստաթղթերի տվյալների շտեմարանները ոգեշնչված են Lotus Notes- ից եւ նման են հիմնական արժեքների խանութների: Մոդելը հիմնականում տարբերակված փաստաթղթեր է, որոնք այլ արժեքների հավաքածուների հավաքածուներ են: Կիսավոր կառուցվածքային փաստաթղթերը պահվում են JSON- ի ձեւաչափերով:
- Գրաֆիկի տվյալների շտեմարանները կառուցված են հանգույցների, նոտաների փոխհարաբերությունների եւ հանգույցների հատկությունների հետ: Դարակների եւ սյուների սեղանների եւ SQL- ի կոշտ կառուցվածքի փոխարեն, օգտագործվում է ճկուն գրաֆիկական մոդելը, որը կարող է տարածել բազմաթիվ մեքենաների վրա:
NoSQL հիմնական խաղացողներ
NoSQL- ի հիմնական դերակատարները հայտնվել են հիմնականում այն պատճառով, որ նրանք ընդունում են դրանք: Որոշ խոշորագույն NoSQL տեխնոլոգիաներն են `
- Դինամո. Դինամոն ստեղծվել է Amazon.com- ի կողմից եւ հանդիսանում է ամենատարածված NoSQL տվյալների բազան: Amazon- ը կարիք ունի չափազանց լայնամասշտաբ բաշխված հարթակ էլեկտրոնային առեւտրի բիզնեսի համար, այնպես որ նրանք զարգացրեցին Դինամոն: Amazon S3- ը Dynamo- ն օգտագործում է որպես պահեստավորման մեխանիզմ:
- Cassandra: Cassandra- ը բաց էր բացված 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- ի նման բարձր մակարդակի հայտարարագրային հարցման լեզու: Փոխարենը, այդ տվյալների շտեմարանների հարցումը տվյալների մոդելի հատուկ է:
NoSQL պլատֆորմներից շատերը թույլ են տալիս RESTful ինտերֆեյսների տվյալները: Այլ առաջարկի API- ներ: Կա մի քանի հարցման գործիքներ, որոնք մշակվել են, փորձելով հարցումներ կատարել բազմաթիվ NoSQL տվյալների բազաների վրա: Այս գործիքները սովորաբար աշխատում են NoSQL- ի մեկ կատեգորիայի վրա: Օրինակ, SPARQL- ն է: SPARQL- ը գրաֆ տվյալների բազաների համար նախատեսված հայտարարագրման հարցման բնութագիր է: Ահա SPARQL- ի հարցման օրինակ, որը բխում է տվյալ բլոգերի URL- ն (IBM- ի տրամադրվածությունը):
PREFIX ծածկույթ:
SELECT url
WHERE {
«նպաստող ֆիլաֆ» անվանումը `« Ջոն Ֆոբար »անվանումը:
ածխածնային: folog: weblog? url.
}
NoSQL- ի ապագան
Տվյալների պահպանման զանգվածային կարիք ունեցող կազմակերպությունները լրջորեն նայում են NoSQL- ին: Ակնհայտ է, որ հայեցակարգը փոքր կազմակերպությունների մեջ այնքան էլ չի ձգձգվում: Տեղեկատվական շաբաթ անցկացրած հարցման արդյունքում գործարար մասնագետների 44% -ը չի լսել NoSQL- ի մասին: Հետագայում, հարցվողների միայն 1% -ը հայտնել է, որ NoSQL- ը ռազմավարական ուղղության մի մասն է: Ակնհայտ է, որ NoSQL- ն իր տեղն ունի մեր կապված աշխարհում, բայց պետք է շարունակվի զարգանալ զանգվածային բողոք ստանալու համար, որը շատերը կարծում են, որ կարող են ունենալ: