Przegląd baz danych NoSQL

Spisu treści:

Przegląd baz danych NoSQL
Przegląd baz danych NoSQL
Anonim

Skrót NoSQL powstał w 1998 roku. Wiele osób uważa, że NoSQL jest obraźliwym terminem stworzonym, by nękać SQL. W rzeczywistości termin ten oznacza Nie tylko SQL. Chodzi o to, że obie technologie mogą współistnieć i każda ma swoje miejsce. Ruch NoSQL był w wiadomościach w ciągu ostatnich kilku lat, ponieważ wielu liderów Web 2.0 przyjęło technologię NoSQL. Firmy takie jak Facebook, Twitter, Digg, Amazon, LinkedIn i Google używają NoSQL w taki czy inny sposób. Podzielmy NoSQL, abyś mógł wyjaśnić to swojemu dyrektorowi ds. IT, a nawet współpracownikom.

Image
Image

NoSQL powstał z potrzeby

Przechowywanie danych: Dane cyfrowe przechowywane na świecie są mierzone w eksabajtach. Eksabajt to jeden miliard gigabajtów (GB) danych. Według Internet.com ilość przechowywanych danych dodanych w 2006 roku wyniosła 161 eksabajtów. Zaledwie 4 lata później, w 2010 roku, ilość przechowywanych danych wyniesie prawie 1000 eksabajtów, co oznacza wzrost o ponad 500%. Innymi słowy, na świecie przechowywanych jest wiele danych, które będą nadal rosnąć.

Połączone dane: Dane stają się coraz bardziej połączone. Tworzenie sieci opartej na hiperłączach, blogi mają pingbacki, a każdy większy system społecznościowy ma tagi, które łączą różne rzeczy. Główne systemy są budowane tak, aby były ze sobą połączone.

Złożona struktura danych: NoSQL może z łatwością obsługiwać hierarchiczne zagnieżdżone struktury danych. Aby osiągnąć to samo w SQL, potrzebujesz wielu tabel relacyjnych z różnymi rodzajami kluczy. Ponadto istnieje związek między wydajnością a złożonością danych. Wydajność w tradycyjnym RDBMS może ulec pogorszeniu, ponieważ przechowujemy ogromne ilości danych wymaganych w aplikacjach społecznościowych i sieci semantycznej.

Co to jest NoSQL?

Przypuszczam, że jednym ze sposobów zdefiniowania NoSQL jest rozważenie, czym nie jest. To nie jest SQL i nie jest relacyjne. Jak sama nazwa wskazuje, nie zastępuje RDBMS, ale go uzupełnia. NoSQL jest przeznaczony do rozproszonych magazynów danych dla potrzeb danych na bardzo dużą skalę. Pomyśl o Facebooku z 500 000 000 użytkowników lub Twitterze, który każdego dnia gromadzi terabity danych.

W bazie danych NoSQL nie ma ustalonego schematu ani złączeń. RDBMS „skaluje się” poprzez coraz szybszy sprzęt i dodawanie pamięci. Z drugiej strony NoSQL może skorzystać z „skalowania”. Skalowanie odnosi się do rozłożenia obciążenia na wiele systemów towarowych. Jest to składnik NoSQL, który czyni go niedrogim rozwiązaniem dla dużych zbiorów danych.

Kategorie NoSQL

Obecny świat NoSQL mieści się w 4 podstawowych kategoriach.

  1. Sklepy z kluczami wartości są oparte głównie na dokumencie Dynamo Paper firmy Amazon, który został napisany w 2007 roku. Główną ideą jest istnienie tablicy mieszającej, w której znajduje się unikalny klucz i wskaźnik do konkretnego elementu danych. Mapowaniu tym zwykle towarzyszą mechanizmy pamięci podręcznej, aby zmaksymalizować wydajność.
  2. Kolumnowe magazyny rodzinne zostały stworzone do przechowywania i przetwarzania bardzo dużych ilości danych rozproszonych na wielu komputerach. Nadal są klucze, ale wskazują na wiele kolumn. W przypadku BigTable (model NoSQL rodziny kolumn Google) wiersze są identyfikowane za pomocą klucza wiersza, a dane są posortowane i przechowywane przez ten klucz. Kolumny są ułożone według rodziny kolumn.

  3. Bazy danych dokumentów zostały zainspirowane przez Lotus Notes i są podobne do magazynów klucz-wartość. Model to zasadniczo wersjonowane dokumenty, które są zbiorami innych kolekcji klucz-wartość. Dokumenty częściowo ustrukturyzowane są przechowywane w formatach takich jak JSON.
  4. Baza danych wykresów są zbudowane z węzłów, relacji między notatkami i właściwości węzłów. Zamiast tabel wierszy i kolumn oraz sztywnej struktury SQL używany jest elastyczny model wykresu, który można skalować na wielu maszynach.

Główni gracze NoSQL

Główni gracze w NoSQL wyłonili się głównie dzięki organizacjom, które ich przyjęły. Niektóre z największych technologii NoSQL to:

  • Dynamo: Dynamo zostało stworzone przez Amazon.com i jest najważniejszą bazą danych Key-Value NoSQL. Amazon potrzebował wysoce skalowalnej, rozproszonej platformy dla swoich firm e-commerce, więc opracowali Dynamo. Amazon S3 używa Dynamo jako mechanizmu przechowywania.
  • Cassandra: Cassandra została otwarta przez Facebooka i jest zorientowaną kolumnowo bazą danych NoSQL.
  • BigTable: BigTable to zastrzeżona baza danych Google zorientowana na kolumny. Google zezwala na korzystanie z BigTable, ale tylko z Google App Engine.
  • SimpleDB: SimpleDB to kolejna baza danych Amazon. Używany dla Amazon EC2 i S3, jest częścią Amazon Web Services, która pobiera opłaty w zależności od użytkowania.
  • CouchDB: CouchDB wraz z MongoDB są bazami danych NoSQL zorientowanymi na dokumenty typu open source.
  • Neo4J: Neo4j jest grafową bazą danych o otwartym kodzie źródłowym.

Odpytywanie NoSQL

Większość programistów interesuje pytanie, jak przeszukiwać bazę danych NoSQL. W końcu dane przechowywane w ogromnej bazie danych nie przynoszą nikomu żadnego pożytku, jeśli nie można ich pobrać i pokazać użytkownikom końcowym lub usług internetowych. Bazy danych NoSQL nie zapewniają deklaratywnego języka zapytań wysokiego poziomu, takiego jak SQL. Zamiast tego zapytanie do tych baz danych is> PREFIX foaf:

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributor foaf:weblog ?url.

}

Przyszłość NoSQL

Organizacje, które mają ogromne potrzeby w zakresie przechowywania danych, poważnie patrzą na NoSQL. Najwyraźniej koncepcja ta nie jest tak popularna w mniejszych organizacjach. W ankiecie przeprowadzonej przez Information Week 44% specjalistów IT dla biznesu nie słyszało o NoSQL. Co więcej, tylko 1% respondentów stwierdziło, że NoSQL jest częścią ich strategicznego kierunku. Oczywiście NoSQL ma swoje miejsce w naszym połączonym świecie, ale będzie musiał nadal ewoluować, aby uzyskać masową atrakcyjność, o której wielu myśli.

Zalecana: