NoSQL მონაცემთა ბაზების მიმოხილვა

1998 წლიდან მოყოლებული NoSQL- ის აბრევიატურა იყო. ბევრი ფიქრობს, რომ 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 წელს, შენახული მონაცემები იქნება დაახლოებით 1,000 ExaBytes, რაც ზრდა 500%. სხვა სიტყვებით რომ ვთქვათ, არსებობს ბევრი მონაცემები ინახება მსოფლიოში და მისი მხოლოდ გაგრძელების გაგრძელება იზრდება.

ურთიერთდაკავშირებული მონაცემები: მონაცემები კვლავ უფრო დაკავშირებულია. შექმნის ვებ ჰიპერბმულებს, დღიურები აქვს pingbacks და ყველა ძირითადი სოციალური ქსელის სისტემა აქვს tags რომ გვაკავშირებს რამ ერთად. ძირითადი სისტემები შენდება ურთიერთდაკავშირებული.

კომპლექსური მონაცემთა სტრუქტურა: NoSQL- ი იერარქიული წყობილი მონაცემების სტრუქტურებს ადვილად შეუძლია. იმისათვის, რომ მსჯელობა იგივეა SQL- ში, საჭიროა მრავალჯერადი დამაკავშირებელი ცხრილები ყველა სახის გასაღებით.

გარდა ამისა, არსებობს ურთიერთობა შორის შესრულება და მონაცემთა სირთულე. შესრულება შეიძლება ტრადიციული RDBMS- ში შევიდეს, რადგანაც ჩვენ ვაგროვებთ მასობრივი რაოდენობით მონაცემებს, რომლებიც საჭიროა სოციალური ქსელების აპლიკაციებსა და სემანტიკური ვებ-გვერდზე.

რა არის NoSQL?

ვფიქრობ ერთი გზა განსაზღვროს NoSQL არის განიხილოს რა არ არის.

ეს არ არის SQL და ეს არ არის რელატიური. როგორც სახელი ვარაუდობს, ეს არ არის ჩანაცვლება RDBMS, მაგრამ კომპლიმენტები. NoSQL განკუთვნილია დისტრიბუტირებული მონაცემთა მაღაზიებისთვის ძალიან მასშტაბური მონაცემების საჭიროებებისთვის. დაფიქრდით Facebook- ზე თავისი 500,000,000 მომხმარებლით ან Twitter- ით, რომელიც აგროვებს მონაცემების ყოველ დღე.

In NoSQL მონაცემთა ბაზაში, არ არსებობს ფიქსირებული სქემა და არ უერთდება. RDBMS "სასწრაფოდ" სწრაფად და სწრაფად ტექნიკის მიღებით და მეხსიერების დამატებასთან ერთად. NoSQL, მეორეს მხრივ, შეუძლია ისარგებლოს "სკალირების გარეთ". სკალირება ასახავს ბევრ სასაქონლო სისტემას დატვირთვის გავრცელებას. ეს არის NoSQL- ის კომპონენტი, რაც ხდის იაფი მონაცემების იაფი გადაწყვეტის საშუალებას.

NoSQL კატეგორიები

მიმდინარე NoSQL მსოფლიოში შეესაბამება 4 ძირითად კატეგორიას.

  1. ძირითადი ღირებულებები მაღაზიები ეფუძნება პირველ რიგში, Amazon- ს დინამოს ქაღალდზე, რომელიც 2007 წელს დაიწერა. მთავარი იდეა არის hash table- ის არსებობა, სადაც არის უნიკალური გასაღები და კონკრეტული მონაცემების მაჩვენებელი. ეს შედგენა ჩვეულებრივ თან ახლავს ქეშირების მექანიზმებს, რათა მაქსიმალურად გაიზარდოს შესრულება.
    სვეტი საოჯახო მაღაზიები შეიქმნა, რათა შეიქმნას და დამუშავებული ძალიან დიდი რაოდენობით მონაცემები გადანაწილებული ბევრი მანქანები. ჯერ კიდევ არსებობს გასაღებები, მაგრამ ისინი წერენ სხვადასხვა სვეტებს. BigTable- ის (Google- ის სვეტიანი ოჯახის NoSQL მოდელი) შემთხვევაში, რიგები იდენტიფიცირებულია ზედიზედ გასაღები ამ მონაცემებით დალაგებული და შენახული მონაცემებით. სვეტები მოწყობილია სვეტის ოჯახით.
  1. დოკუმენტის მონაცემთა ბაზა იყო შთაგონებული Lotus Notes და მსგავსია გასაღები ღირებულების მაღაზიებში. მოდელი ძირითადად საბაზისო დოკუმენტებია, რომლებიც სხვა საკვანძო მნიშვნელობის კოლექციების კოლექციებს წარმოადგენენ. ნახევრად სტრუქტურირებული დოკუმენტები ინახება ფორმატში, როგორიცაა JSON.
  2. დიაგრამა მონაცემთა ბაზა იქმნება კვანძებით, კავშირი ნოტებისა და კვანძების თვისებებს შორის. რიგები და სვეტების ცხრილები და SQL- ის მყარი სტრუქტურის ნაცვლად მოქნილი გრაფა მოდელი გამოიყენება, რომელიც შეიძლება ბევრ მანქანას მოახდინოს.

ძირითადი NoSQL მოთამაშეები

ძირითადი მოთამაშეები NoSQL- ში ძირითადად წარმოიშვა იმ ორგანიზაციების გამო, რომლებიც მათ მიიღეს. ზოგიერთი უმსხვილესი NoSQL ტექნოლოგია მოიცავს:

Querying NoSQL

შეკითხვის კითხვა, თუ როგორ უნდა შეკითხვის NoSQL მონაცემთა ბაზაში არის ის, რაც ყველაზე დეველოპერები დაინტერესებულნი არიან. ყოველივე ამის შემდეგ, მონაცემთა ინახება უზარმაზარი მონაცემთა ბაზა არ აკეთებს ვინმეს რაიმე კარგი თუ ვერ ვიღებ და აჩვენებს ბოლომდე წევრებს ან ვებ მომსახურება. NoSQL მონაცემთა ბაზები არ ითვალისწინებს მაღალი დონის დეკლარაციულ შეკითხვებს, როგორიცაა SQL. ამის ნაცვლად, ამ მონაცემთა ბაზების დაკმაყოფილება არის მონაცემთა მოდელირების სპეციფიკა.

ბევრი NoSQL პლატფორმების საშუალებას იძლევა RESTful ინტერფეისები მონაცემები. სხვა შეთავაზება შეკითხვის APIs. არსებობს რამდენიმე შეკითხვის ინსტრუმენტი, რომელიც შემუშავებულია, რომ მცდელობა რამდენიმე მრავალჯერადი ნოუთბუქის ბაზაში. ეს ინსტრუმენტები, როგორც წესი, მუშაობს ერთი ნოშკლუბის კატეგორიაში. ერთი მაგალითია SPARQL. SPARQL არის დეკლარაციული მოთხოვნა სპეციფიკაცია გრაფიკული მონაცემთა ბაზებისთვის. აქ არის მაგალითი SPARQL შეკითხვის რომ retrieves URL კონკრეტული ბლოგერი (თავაზიანობის IBM):

PREFIX foaf:
Url
FROM
სად {
კონტრიბუტორის ქურდი: სახელი "ჯონ ფობერი".
კონტრიბუტორი foaf: weblog? url.
}

NoSQL- ის მომავალი

ორგანიზაციები, რომლებიც მასიური მონაცემთა შენახვის საჭიროებებს სერიოზულად უყურებენ NoSQL- ზე. სავარაუდოდ, კონცეფცია არ არის იმდენი ტრაქცია, რომ მცირე ორგანიზაციებში. საინფორმაციო კვირეულის მიერ ჩატარებულ გამოკითხვაში, ბიზნესის IT პროფესიონალების 44% არ ისმენს NoSQL- ს. გარდა ამისა, გამოკითხულთა მხოლოდ 1% იტყობინება, რომ NoSQL არის მათი სტრატეგიული მიმართულება. ცხადია, NoSQL- ს ადგილი აქვს ჩვენს დაკავშირებულ სამყაროში, მაგრამ უნდა გააგრძელოს მასობრივი მოწოდება, რომელიც ბევრს მიაჩნია.