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

Relacyjne vs nierelacyjne bazy danych – część 3

W pierwszej i drugiej części tej serii blogów zauważyliśmy kilka podstawowych różnic między skalowalnością relacyjnych i nierelacyjnych baz danych. W tym poście pokażę Ci, jak prawidłowo korzystać z tych baz danych, a także opowiem o niektórych znanych firmach, które korzystają z tych baz danych.

Relacyjna baza danych

W pierwszej części tej serii blogów mówiłem o właściwościach ACID. Te właściwości są ważne dla zachowania ścisłej integracji transakcyjnej. W niektórych branżach, takich jak bankowość, handel detaliczny itp., każda transakcja wymaga właściwości ACID. W transakcjach bankowych, w przypadku uznania jednego rachunku, należy obciążyć drugie. Częściowa aktualizacja nigdy nie jest dozwolona, ​​ponieważ wpłynie to na integralność danych — w tym scenariuszu używane są Oracle, SQL Server, MySQL i inne RDBMS.

Nierelacyjna baza danych (NoSQL DB)

W pierwszej części tej serii blogów mówiłem również o właściwościach BASE. Są one ważne dla zachowania spójności danych we wszystkich węzłach bazy danych. Wszelkie informacje, które nie wymagają ścisłej integralności danych, mogą być przechowywane w bazie danych NoSQL. Na przykład zawartość systemu wyszukiwania może być przechowywana w nierelacyjnej bazie danych, ponieważ łatwo jest szybko uzyskać informacje. Dobrym przykładem systemu wyszukiwarek jest Google. Google zwykle przechowuje swoje strony internetowe z pamięci podręcznej w warstwie internetowej, która jest okresowo odświeżana. Bazy te mogą przechowywać terabajty danych historycznych (np. transakcje kartą kredytową banku z ostatnich 5 lat) w środowisku rozproszonym. Łatwo jest analizować i wydobywać dane w bazie danych NoSQL za pomocą oprogramowania hurtowni danych SQL-Like HIVE. Bazy danych NoSQL mogą być używane do przechowywania ogromnych ilości nieustrukturyzowanych danych i nadają się również do analizy tekstu.

Wymieniłem kilka najlepszych organizacji, które korzystają z tych baz danych:

Relacyjne bazy danych

SQL Server:LG Electronics, MySpace, Hilton Hotels.

ORACLE:British Telecom, MasterCard, Reliance Ltd.

MySQL:Facebook, Twitter, LinkedIn. Facebook używa MySQL do przechowywania interakcji użytkownika, takich jak aktualizacje statusu, udostępnienia, polubienia itp.

Nierelacyjne bazy danych

CouchBase:LinkedIn, AdAction.

Cassandra:Facebook, Twitter, Digg.

MongoDB:LinkedIn, Pearson.

Neo4j:Cisco, eBay itp.

Jak widać, firmy takie jak Facebook, Twitter i LinkedIn używają zarówno relacyjnych, jak i nierelacyjnych baz danych, w zależności od swoich wymagań.

Teraz wrócę do pierwszej części tej serii i odpowiem na następujące pytania:

Czy relacyjne bazy danych są w stanie obsługiwać duże zbiory danych?

Czy relacyjne bazy danych są skalowalne?

Czy relacyjne bazy danych są dostosowane do współczesnych wymagań dotyczących danych? Takie jak analityka w czasie rzeczywistym, zajmująca się nieustrukturyzowanymi danymi?

Odpowiedzią na wszystkie te pytania jest zdecydowane „TAK”. Relacyjne bazy danych nie znikają w tym społecznym świecie. W zależności od charakteru i złożoności zbioru danych należy użyć odpowiedniej bazy danych. Zarówno relacyjne, jak i nierelacyjne bazy danych mają swoje zalety i wady. Prawidłowe skonfigurowanie środowiska może w odpowiedni sposób wykorzystywać relacyjne i nierelacyjne bazy danych, tak jak zrobiły to Facebook, Twitter i LinkedIn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wskazówki dotyczące przechowywania kopii zapasowych danych TimescaleDB w chmurze

  2. Dowiedz się, jak obsługiwać wyjątki w PL/SQL

  3. Obciążenie przyrostowe w SSIS

  4. Przypadek użycia dla sp_prepare / sp_prepexec

  5. Replikacja danych w IRI Workbench