Latest web development tutorials

NoSQL profilu

NoSQL (NoSQL = Not Only SQL), co oznacza "nie tylko SQL".

W nowoczesnych systemach komputerowych dni w sieci będą miały ogromne ilości danych.

Dane te stanowią dużą część systemu zarządzania relacyjnymi bazami danych (RDMBSs) do czynienia. zaproponowany model relacyjny papieru 1970 EFCodd za "relacyjne model danych dla dużych współdzielonych banków danych", co sprawia, że ​​modelowanie danych i programowania aplikacji łatwiejsze.

Dzięki zastosowaniu sprawdzonych model relacyjny jest bardzo nadaje się do programowania klient-serwer, daleko poza oczekiwanymi korzyściami, a dziś jest ustrukturyzowane dane przechowywane w sieci i aplikacji biznesowych dominującą technologią.

Baza danych NoSQL to nowy rewolucyjny ruch, na początku sugerowano, że trend rozwoju coraz bardziej wzrasta do 2009 roku. NoSQL zwolennicy, którzy promują wykorzystanie nierelacyjnymi przechowywania danych, w odniesieniu do zdecydowanej wykorzystaniem relacyjnych baz danych, ta koncepcja jest niewątpliwie wstrzykuje nowego myślenia.

Relacyjnej bazy danych do naśladowania Kwas zasadami

English Transakcja transakcji, a prawdziwy świat handlu jest bardzo podobny, ma cztery następujące cechy:

1, A (niepodzielność) Atomic Największa atomowa łatwe do zrozumienia, że wszystkie operacje w transakcji albo wszystko zrobić, czy nie, transakcja jest transakcją warunki sukcesu we wszystkich operacjach są skuteczne, o ile nie operacja nie powiedzie się, cała transakcja nie powiedzie, trzeba cofnąć.

Takich jak przelewy bankowe, przeniesienie konta z punktu A do B stanowi 100 juanów, podzielona jest na dwa etapy: 1) podejmuje A stanowi 100 juanów; 2) B 100 juanów rachunków depozytowych. Te dwa kroki zostały wykonane razem lub nie razem zakończone, jeżeli zostaną zakończone dopiero pierwszy krok, drugi etap nie powiedzie, pieniądze jakoś 100 juanów mniej.

2, C (Spójność) spójności <br> konsystencja jest stosunkowo łatwe do zrozumienia, że nie było w bazie danych do spójnego stanu, należy uruchomić transakcję nie zmieni pierwotne ograniczenia spójności bazy danych.

Istniejące ograniczenia integralności, takie jak + b = 10, gdy transakcja zmienia, musimy zmienić b, tak, że tylny koniec transakcji jest nadal spełniał a + b = 10, w przeciwnym razie transakcja się nie powiedzie.

3, I (izolacja) Filmy tzw niezależności oznacza niezależność nie wpłynie na siebie jednocześnie transakcji, jeśli dane transakcji mają być dostępne dla innej transakcji jest zmodyfikowany tak długo, jak innej transakcji niewykorzystanej, to dostępne dane nie mają wpływu transakcji niewykorzystanej.
Na przykład, nie jest istniejącym rachunku obrotowego przenosi się z punktu A do B stanowi 100 juanów, w przypadku tej transakcji nie została zakończona. Jeżeli B sprawdzić swoje konta, nie widzi nowo dodane 100 juanów.

4, D (trwałość) Trwałość Trwałość odnosi Największa gdy transakcja zobowiązuje, to edytuje zostanie trwale przechowywane w bazie danych, nie zostaną utracone nawet w przypadku wystąpienia przestojów.


Systemy rozproszone

Systemy rozproszone (Rozproszony system) komputery i oprogramowanie komponentów wielokrotne połączenia komunikacyjne (sieć lokalna lub rozległa sieć komputerowa) skomponowana przez sieć komputerową.

Systemy rozproszone są zbudowane na szczycie systemów oprogramowania sieciowego. To właśnie z powodu cech oprogramowania, systemie rozproszonym o wysokim stopniu spójności i przejrzystości.

W ten sposób różnica pomiędzy siecią i rozproszonego systemu, więcej programów na wysokim poziomie (zwłaszcza system operacyjny) niż sprzętu.

Systemy rozproszone mogą być stosowane na różnych platformach, takich jak: PC, stacji roboczych, sieci LAN i WAN i tym podobne.


Zalety rozproszonego

Niezawodność (tolerancja błędu):
Niewątpliwą zaletą rozproszonego systemu komputerowego jest niezawodność. Awarii serwera nie wpływają na resztę serwera.

Skalowalność:
W rozproszonym systemie komputerowym można dodać więcej maszyn, ile potrzeba.

Udostępnianie zasobów:
Udostępnianie danych jest istotne dla aplikacji, takich jak bankowość, systemów rezerwacyjnych.

elastyczność:
Ponieważ system jest bardzo elastyczny, jest łatwy w instalacji, wdrażania i debugowania nowych usług.

Szybsza prędkość:
Rozproszony system computing może mieć większą moc obliczeniową komputerów, dzięki czemu jest większa szybkość przetwarzania niż inne systemy.

Open Systems:
Ponieważ jest to system otwarty, który może być lokalny lub zdalny dostęp do usługi.

Wyższa wydajność:
Scentralizowane klastry sieci komputerowej w porównaniu do zapewnienia wyższej wydajności (i lepszą cenę).


Wadą rozproszonego

Rozwiązywanie ::
Rozwiązywanie i diagnozowanie problemu.

Oprogramowanie:
Mniej wsparcie oprogramowania jest główną wadą rozproszonych systemów komputerowych.

Sieć:
Problematyka infrastruktury sieciowej, w tym: problemy z transmisją, wysokie obciążenia, informacja jest tracona i tak dalej.

Bezpieczeństwo:
Charakterystyka rozwoju systemu pozwala rozproszonym system obliczeniowy jest podatny na zagrożenia bezpieczeństwa i dzielenia się problemami danych.


Czym jest NoSQL?

NoSQL odnosi się do nie-relacyjnej bazie danych. NoSQL jest czasami określane również jako skrót nie tylko SQL, to różni się od tradycyjnego systemu zarządzania bazami danych relacyjnych baz danych zbiorowo.

NoSQL do przechowywania dużych ilości danych skalę. (Takie jak Google czy Facebook bilionów bitów danych dziennie zebranych przez ich użytkowników). Te rodzaje pamięci danych nie wymagają stałej wzór, bez dodatkowych operacji mogą zostać rozszerzone na boki.

Dlaczego NoSQL?

Dziś możemy być platformą innych firm: Możesz łatwo uzyskać dostęp i pobrać dane (takie jak Google, Facebook, itp). Dane osobowe użytkownika, social networking, lokalizacja, dane generowane przez użytkownika i użytkownik loguje wzrosła wykładniczo. Jeśli chcemy górnictwie tych danych przez użytkownika, bazy danych SQL, która nie nadaje się do takich zastosowań, oraz rozwój bazy NoSQL jest również w stanie obsłużyć tych dużych ilości danych.

www-data-image

Przykłady

Sieci uspołecznionej:

Każdy rekord: UserID1, UserID2
Oddzielne zapisy: USERID first_name, last_name, wiek, płeć, ...
Zadanie: Znajdź wszystkie przyjaciół przyjaciół przyjaciół ... przyjaciół danego użytkownika.

Wikipedia strony:

Duży zbiór dokumentów
Kombinacja strukturalnych i niestrukturalnych danych
Zadanie: Pobierz wszystkie strony dotyczące lekkoatletykę Summer Olympic przed 1950 r.

RDBMS vs NoSQL

RDBMS
- Wysoce zorganizowana struktura danych
- Structured Query Language (SQL) (SQL)
- Dane i stosunki są przechowywane w oddzielnej tabeli.
- Data Manipulation Language, Data Definition Language
- Ścisła zgodność
- podstawowe usługi

NoSQL
- Nie reprezentuje tylko SQL
- Nie deklaratywny język zapytań
- Nie predefiniowanych wzór
- Para wartości, przechowywanie kolumny, przechowywanie dokumentów, grafiki, baz danych - Klucz
- Ewentualne konsystencję, niż właściwości ACID
- Nieprzewidywalne i niestrukturalnych danych
- Twierdzenie CAP
- Wysoka wydajność, wysoką dostępność i skalowalność

bigdata

NoSQL Krótka historia

NoSQL Termin po raz pierwszy pojawił się w 1998 roku, jest lekki rozwój Carlo Strozzi, open source, nie zapewnia funkcjonalność relacyjnej bazy danych SQL.

W 2009 Last.fm Johan Oskarsson zainicjował dyskusję na temat open source rozproszonej bazie danych [2], Eric Evans z Rackspace ponownie zaproponowanej koncepcji NoSQL, wówczas NoSQL odnosi się głównie do non-relacyjne, rozpowszechniane, nie zapewniają ACID wzorce projektowe bazy danych.

W 2009 roku w Atlancie "no: SQL (East)" Seminarium to kamień milowy, z hasłem "wybierz zabawa, zyski z real_world gdzie relacyjnej = false;". Dlatego NoSQL Najczęstszym wytłumaczeniem jest to, że "nie wiąże się typ", podkreślił zalety klucz-wartość Stores i baz danych dokumentu, zamiast zwykłego opozycji RDBMS.


CAP Twierdzenie (Twierdzenie CAP)

W informatyce, CAP Twierdzenie (Twierdzenie CAP), znany również jako Brewer twierdzenia (twierdzenie piwne), który wskazał, że dla rozproszonego systemu komputerowego, nie może jednocześnie spełniać następujące trzy punkty:

  • Spójność (konsystencja) (wszystkie węzły te same dane w tym samym czasie)
  • Dostępność (Availability) (upewnić się, że każdy wniosek ma odpowiedź niezależnie od sukcesu lub niepowodzenia)
  • Tolerancja podziału (tolerancja partycji) (strata awarii systemu lub jakichkolwiek informacji nie ma wpływu na dalsze działanie systemu)

Rdzeń teorii WPR: rozproszony system nie może jednocześnie spełniać spójność, dostępność, odporność na uszkodzenia i podzielić te trzy wymagania można spełnić tylko dwa dobrą chwilę.

W ten sposób, zgodnie z zasadami bazie CAP NoSQL do CA spełniają zasadę, w celu zaspokojenia i spełniają zasady Cp AP zasadzie na trzy kategorie:

  • CA - jednym punktem spotykają klaster spójności, dostępności, skalowalności systemu, zazwyczaj mniej wydajne.
  • CP - spełniają spójności, będzie tolerować partycję wydajności systemu na ogół nie jest szczególnie wysoka.
  • AP - spełniają dostępności, tolerancji partycji systemu, zwykle Wymagania zgodności może być niższa.
cap-theoram-image

zalety / wady NoSQL

Zalety:

  • - Wysoka skalowalność
  • - Distributed Computing
  • - Niskie koszty
  • - Elastyczność architektoniczne dane semistrukturalnych
  • - Nie skomplikowana relacja

wady:

  • - Nie ma standaryzacji
  • - Ograniczona funkcja wyszukiwania (do tej pory)
  • - Umowa końcowa nie jest intuicyjny program

BASE

BASE: Zasadniczo Dostępne Soft-państwo, w końcu spójne. Zdefiniowany przez Eric Brewer.

Rdzeń teorii WPR: Rozproszony system nie może jednocześnie spełniać spójność, dostępność, odporność na uszkodzenia i podzielić te trzy wymagania można spełnić tylko dwa dobrą chwilę.

BASE jest bazą danych NoSQL jest zazwyczaj słaba dostępność i spójności wymagań zasadniczych:

  • Zasadniczo są one dostępne - Podstawowe Dostępny
  • Soft-state - soft state / Elastyczny transakcji. "Stan Soft" można rozumieć jako "brak połączenia" i "stanu dysku" jest "zorientowana na połączenie" w
  • Ewentualne Spójność - ewentualna konsekwencja ewentualnego konsystencja jest ostatecznym celem ACID.

ACID vs BASE

ACID BASE
Atomowej (A tomicity) Basic może być stosowany (B asically vailable)
Spójność (C GODNOŚĆ) Stan Soft / Elastyczne Services (S Stan oft)
Izolacja (I solation) Ewentualne konsystencji (E ventual konsystencji)
Trwałe (D urable)

Klasyfikacja bazy danych NoSQL

typ Niektórzy przedstawiciele

cecha
kolumna sklepach

HBase

Cassandra

Hypertable

Jak sama nazwa wskazuje, jest on przechowywany w kolumnie danych. Największą cechą jest łatwa do przechowywania ustrukturyzowanych i pół-strukturę danych, łatwe do zrobienia, kompresję danych, mieć bardzo dużą przewagę na IO kolumny lub kolumn kwerendy.

Przechowywanie dokumentów

MongoDB

CouchDB

przechowywania dokumentów jest powszechnie używana do przechowywania podobny JSON, zawartość jest przechowywana w rodzaju dokumentu. Ma to również możliwość budowania indeksu na jakimś polu, aby osiągnąć niektóre z cech relacyjnej bazie danych.

Przechowywanie klucz-wartość

Tokyo Cabinet / Tyrant

Berkeley DB

MemcacheDB

Redis

Można szybko sprawdzić jej wartości według klucza. Na ogół, bez względu na wartość format zapisu do dziedziczenia. (Redis zawiera dodatkowe funkcje)

Mapa pamięci

Neo4J

FlockDB

Najlepsze relacje sklepu graficzne. Niskie wykorzystanie tradycyjnej wydajności relacyjnej bazy danych, aby go rozwiązać, a konstrukcja jest niewygodny w użyciu.

Object Storage

db4o

Versant

Poprzez składni języka obiektowego jest podobna do działania bazy danych, dostępnej za pomocą obiektu danych.

baza danych XML

Berkeley DB XML

baseX

Efektywne przechowywanie danych XML i obsługuje składni kwerendy XML wewnętrzne, takie jak XQuery, XPath.


Kto korzysta

Istnieje już wiele firm korzysta NoSQL:
  • Google
  • Facebook
  • Mozilla
  • Adobe
  • Foursquare
  • LinkedIn
  • digg
  • McGraw-Hill Education
  • Vermont Public Radio