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

Relacyjne vs nierelacyjne bazy danych – część 2

W moim poprzednim poście widzieliśmy kilka fundamentalnych różnic między relacyjnymi i nierelacyjnymi bazami danych. W tym poście porozmawiajmy o skalowalności tych dwóch.

Skalowalność

Jest to zdolność systemu, który bez większych problemów z wydajnością bez problemu poradzi sobie z szybko przychodzącymi danymi. Jest to główny czynnik zapewniający dobrą skalowalność każdego systemu. Istnieją dwa rodzaje metod skalowania znane jako skalowanie pionowe i poziome.

Skalowanie w pionie

Wszystkie narzędzia relacyjnych baz danych obsługują skalowanie pionowe. Jest to sposób na zwiększenie mocy systemu poprzez dodanie dodatkowych procesorów, pamięci i przestrzeni dyskowych. Tak więc, aby umożliwić szybkie napływanie danych, pojedynczy serwer produkcyjny jest zoptymalizowany pod kątem skalowania. W tej technice skalowania zawsze istnieje jeden serwer produkcyjny, do którego mogą łączyć się wszystkie aplikacje i użytkownicy. Środowisko klastrowe można utworzyć z niektórymi węzłami i replikować dane między węzłami.

Ze względu na właściwości ACID wszystkie węzły powinny mieć ten sam zestaw danych, a synchronizacja danych staje się skomplikowana, jeśli w klastrze jest kilka węzłów. Jest to bardzo zoptymalizowane pod kątem skalowania odczytu. Skalowanie w pionie jest również znane jako skalowanie w górę
Zaletą tej metodologii skalowania jest ścisła integracja danych i ich spójność we wszystkich węzłach w klastrze. Wszystkie węzły będą miały ten sam zestaw danych i jeśli wystąpi problem z serwerem produkcyjnym, inny węzeł zostanie automatycznie połączony przez aplikacje. Tak więc ten klaster jest znany jako klaster awaryjny.

Skalowanie w poziomie

Wszystkie narzędzia nierelacyjnych baz danych obsługują skalowanie poziome. Jest to metoda dodawania większej liczby komputerów do sieci, aby umożliwić szybkie przychodzenie danych. Łatwo jest dodać więcej węzłów do klastra, aby umożliwić wzrost ilości danych. Dane są dzielone automatycznie i przetwarzane między węzłami w klastrze. To jest rozproszone środowisko danych. Hadoop Distributed File System (HDFS) jest tego klasycznym przykładem. Skalowanie poziome jest również znane jako skalowanie w poziomie.

Zaletą tej techniki skalowania jest to, że ponieważ dane są dzielone i replikowane między węzłami, jeśli którykolwiek z węzłów przejdzie w tryb offline, aplikacja może nadal mieć dane z innych węzłów, co gwarantuje dostępność danych przez cały czas. Ta metoda jest bardzo przydatna w przypadkach, w których nie są wymagane żadne JOIN wśród danych węzłów. Jest to również pomocne przy rozdzielaniu danych i przechowywaniu ich w różnych lokalizacjach geograficznych.

Chociaż obie te techniki skalowania mają zalety i wady, dobre środowisko może łączyć obie te techniki, aby uzyskać doskonałe skalowanie w górę i skalowanie w poziomie. Możemy mieć skalowalną bazę danych do odczytu i zapisu na jednym serwerze, który wymaga właściwości ACID i ma skalowalne w poziomie rozproszone dane historyczne w kilku węzłach w celu eksploracji danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Maskowanie danych w czasie rzeczywistym za pomocą wyzwalaczy

  2. Jak ładować dane i zarządzać nimi w Microsoft Power BI

  3. Model danych dla aplikacji do rezerwacji wizyt lekarskich

  4. Podobieństwa i różnice między funkcjami RANK, DENSE_RANK i ROW_NUMBER

  5. Jak wykonać instrukcję IF w SQL?