NoSQL

Autor: Robert Simon
Data Utworzenia: 19 Czerwiec 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
Что такое NoSQL за 6 минут
Wideo: Что такое NoSQL за 6 минут

Zawartość

Definicja - Co oznacza NoSQL?

NoSQL to klasa systemów zarządzania bazami danych (DBMS), które nie przestrzegają wszystkich zasad relacyjnego DBMS i nie mogą używać tradycyjnego języka SQL do wyszukiwania danych. Termin ten jest nieco mylący, gdy jest interpretowany jako „bez SQL”, a większość tłumaczy go jako „nie tylko SQL”, ponieważ ten typ bazy danych nie jest zasadniczo zamiennikiem, ale raczej uzupełnieniem dodatkowym do RDBMS i SQL.


Systemy oparte na NoSQL są zwykle używane w bardzo dużych bazach danych, które są szczególnie podatne na problemy z wydajnością spowodowane ograniczeniami SQL i relacyjnym modelem baz danych. Wielu uważa NoSQL za nowoczesną bazę danych, którą można skalować zgodnie z wymaganiami sieci. Niektóre znaczące implementacje NoSQL to baza danych Cassandra, Googles BigTable oraz Amazons SimpleDB i Dynamo.

Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.

Techopedia wyjaśnia NoSQL

Baza danych NoSQL niekoniecznie podlega ścisłym regułom regulującym transakcje w relacyjnych bazach danych. Te naruszone reguły są znane pod skrótem ACID (Atomowość, Spójność, Integralność, Trwałość). Na przykład bazy danych NoSQL nie używają stałych struktur schematu i sprzężeń SQL.


W tradycyjnym RDBMS podstawowymi operacjami są operacje odczytu i zapisu. Odczyty mogą być skalowane poprzez replikację danych na wielu komputerach, a zatem żądania odczytu równoważące obciążenie. Wpływa to jednak na zapisy, ponieważ należy zachować spójność danych. Tylko zapisy mogą być skalowane przez partycjonowanie danych. Wpływa to na odczyty, ponieważ sprzężenia rozproszone są zwykle powolne i trudne do wdrożenia. Dodatkowo, aby zachować właściwości ACID, bazy danych muszą blokować dane. Oznacza to, że gdy jeden użytkownik otwiera element danych, żaden inny użytkownik nie powinien mieć możliwości wprowadzania zmian w tym samym elemencie. To ograniczenie ma poważne konsekwencje dla wydajności.

Ograniczenia te nie były poważnym problemem w przeszłości. Jednak wraz z pojawieniem się sieci społecznościowych i dużych zbiorów danych powstało wiele ogromnych baz danych, które były zmuszone obsługiwać dziesiątki, a nawet setki milionów klientów na całym świecie, z kilkoma tysiącami odczytów i zapisów co minutę. Tradycyjne RDBMS po prostu nie spełniają tej potrzeby, ponieważ mogą jedynie „skalować w górę” lub zwiększać zasoby na centralnym serwerze. Z drugiej strony implementacja NoSQL może „skalować w górę” lub rozkładać obciążenie bazy danych na więcej serwerów.


Bazy danych NoSQL koncentrują się na określonych klasach problemów - od większej elastyczności w zakresie przechowywanych danych (magazynów dokumentów), poprzez ukierunkowanie na przypadki użycia, takie jak relacje (bazy danych wykresów) i agregowanie danych (bazy danych kolumn), lub po prostu uproszczenie koncepcji bazy danych do coś, co przechowuje wartość (przechowuje klucze / wartości).

Bazy danych NoSQL mają zalety szybkiej skalowalności, znacznie lepszej wydajności i prostszej struktury w porównaniu do RDBMS. Jednak cierpią one również na to, że są stosunkowo nową i niesprawdzoną technologią i nie mogą zapewnić bogatej w funkcje RDBMS funkcji raportowania i analizy.

Ta definicja została napisana w con bazy danych