Database
 sql >> Baza danych >  >> RDS >> Database

Relacyjne a nierelacyjne bazy danych – część 1

W ciągu ostatnich kilku lat narzędzia NoSQL czy nierelacyjne bazy danych zyskały dużą popularność w zakresie przechowywania ogromnych ilości danych i łatwego ich skalowania. Trwają dyskusje na temat tego, czy nierelacyjne bazy danych zastąpią w przyszłości relacyjne bazy danych. Wraz ze wzrostem liczby danych społecznościowych i innych danych nieustrukturyzowanych, oto niektóre z pytań zadawanych w relacyjnych bazach danych.
Czy relacyjne bazy danych są w stanie obsłużyć duże zbiory danych?
Czy relacyjne bazy danych są w stanie skalować ilość danych?
Czy relacyjne bazy danych są odpowiednie dla danych z czasów współczesnych?
Przed udzieleniem odpowiedzi na te pytania zapoznaj nas z podstawowymi informacjami dotyczącymi relacyjnych i nierelacyjnych baz danych.

Podstawy relacyjnych i nierelacyjnych baz danych

Relacyjne bazy danych: Koncepcja relacyjnej bazy danych została opracowana w latach 70-tych. Najważniejszą cechą wszystkich relacyjnych baz danych jest obsługa właściwości ACID (automiczność, spójność, izolacja i trwałość), co zapewnia niezawodne przetwarzanie wszystkich transakcji.
Automatyczność: Każda transakcja jest unikalna i zapewnia, że ​​w przypadku niepowodzenia jednej logicznej części transakcji, wszystko zostanie wycofane, aby dane pozostały niezmienione.
Spójność: Wszystkie dane zapisywane w bazie danych podlegają zdefiniowanym regułom (ograniczenia, wyzwalacze itp.)
Izolacja: Zmiany wprowadzone w transakcji nie są widoczne dla innych transakcji, dopóki nie zostaną zatwierdzone.
Trwałość: Zmiany wprowadzone w transakcji są przechowywane i dostępne w bazie danych, nawet jeśli nastąpi awaria zasilania lub baza danych nagle przejdzie w tryb offline.
Ścisła struktura: Obiekty w relacyjnych bazach danych mają ściśle określoną strukturę. Wszystkie dane w tabeli są przechowywane w wierszach i kolumnach. Każda kolumna ma typ danych. Jest w większości znormalizowany. Strukturalny język zapytań (SQL) jest odpowiedni dla relacyjnych baz danych do przechowywania i pobierania danych w ustrukturyzowany sposób. Zapytania to polecenia w prostym języku angielskim. Zawsze istnieje stała liczba kolumn, chociaż dodatkowe kolumny można dodać później. Większość tabel jest powiązana ze sobą kluczami podstawowymi i obcymi, co zapewnia „integralność referencyjną” między obiektami. Główni dostawcy to ORACLE, SQL Server, MySQL, PostgreSQL itp.
Nierelacyjne bazy danych: Pojawiła się koncepcja nierelacyjnych baz danych, aby poradzić sobie z szybkim wzrostem nieustrukturyzowanych danych i łatwo je skalować. Zapewnia to elastyczny schemat, więc nie ma czegoś takiego jak „Integralność referencyjna”, jak widzimy w relacyjnych bazach danych. Dane są mocno zdenormalizowane i nie wymagają JOIN między obiektami. To rozluźnia właściwość ACID relacyjnych baz danych i obsługuje CAP (spójność, dostępność i partycjonowanie). Ale z tych trzech tylko dwa są gwarantowane w dowolnym momencie. Tak więc w przeciwieństwie do ACID, obsługuje tylko BASE (stan podstawowy dostępny w wersji miękkiej, spójność ostateczna). Początkowe bazy danych utworzone na podstawie tych koncepcji to BigTable firmy Google, HBase firmy Yahoo, Cassandra firmy Facebook itp.
Kategorie nierelacyjnych baz danych: Nierelacyjne bazy danych można podzielić na cztery główne kategorie, takie jak baza danych par klucz-wartość, baza kolumn, baza dokumentów i baza danych wykresów.
Baza danych par klucz-wartość: Jest to najprostsza forma bazy danych NoSQL, w której każda wartość jest powiązana z unikalnym kluczem. (np. Redis)
Kolumnowa baza danych: Ta baza danych jest w stanie przechowywać i przetwarzać duże ilości danych za pomocą wskaźnika wskazującego wiele kolumn rozproszonych w klastrze. (ex HBase)
Baza dokumentów: Ta baza danych może zawierać wiele dokumentów klucz-wartość z wieloma zagnieżdżonymi poziomami. Dzięki tej bazie danych możliwe jest wydajne zadawanie zapytań. Dokumenty są przechowywane w formacie JSON.(ex MongoDB)
Baza danych wykresów: Zamiast tradycyjnych wierszy i kolumn te bazy danych wykorzystują węzły i krawędzie do reprezentowania struktur wykresów i przechowywania danych. (np. Neo4J)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest relacja jeden-do-wielu w bazie danych? Wyjaśnienie z przykładami

  2. Maskowanie danych w aplikacjach DB

  3. Wyszukiwanie wzorców schematu do powiązania klas danych

  4. SQL CREATE TABLE dla początkujących

  5. Łączenie z Informix (IDS12 DB) w IRI Workbench