To jest stara wersja strony!
NoSQL
Ruch NoSQL promuje klasę nierelacyjnych baz jako alternatywę dla tradycyjnych baz relacyjnych, nazywając je czasami bazami następnej generacji. Bazy te unikają poleceń JOIN, nie posiadają sztywnych schematów oraz cechują się dobrą skalowalnością.
Oto kilka rozwiązań zaproponowanych przez ruch NoSQL:
MongoDB
MongoDB to bardzo wydajna i skalowalna baza danych, zorientowana na przechowywanie dokumentów z pominięciem schematów. Projekt został wydany na licencji AGPL w wersji 3 i możemy go używać w aplikacjach biznesowych.
MongoDB jest bazą nowej generacji, która jest zorientowana na przechowywanie dokumentów JSON, o dowolnej strukturze. Dokumenty te są przechowywane wewnętrznie jako BSON – Binary JSON. Całość została napisana w języku C++. Bazę stworzono z myślą o pracy w dużych obciążeniach oraz posiada wbudowane mechanizmy skalowania i replikacji W przypadku instalacji 32-bitowej rozmiar pojedynczej bazy danych jest ograniczony do około 2GB.
MongoDB składa się z trzech komponentów:
Dostęp do bazy możliwy jest przy wykorzystaniu sterowników, które oficjalnie w tej chwili są dostępne dla języków:
C
C++
Java
JavaScript
Perl
PHP
Python
Ruby
oraz poprzez sterowniki nieoficjalne, które wspierają:
REST
C# i .NET
Clojure
ColdFusion
Delphi
Erlang
Factor
Fantom
F#
Go
Groovy
Haskell
Lua
Node.js
PowerShell
Scala
Scheme
Smalltalk
Analogie do baz SQL
MongoDB | BazaSQL |
Dokument | Wiersz / Rekord |
Kolekcja | Tablica |
_id | Klucz główny |
Zagnieżdżenie | Relacja 1:N |
Tablica referencji do obiektów | Relacja M:N |
Indeks | Indeks |