BASE Model rozwoju bazy danych

Spisu treści:

BASE Model rozwoju bazy danych
BASE Model rozwoju bazy danych
Anonim

Relacyjne bazy danych zostały zaprojektowane z myślą o niezawodności i spójności. Inżynierowie, którzy je opracowali, skupili się na modelu transakcyjnym, który zapewnia, że zawsze zachowane są cztery zasady modelu ACID. Jednak pojawienie się nowego nieustrukturyzowanego modelu bazy danych stawia ACID na głowie. Model bazy danych NoSQL rezygnuje z wysoce ustrukturyzowanego modelu relacyjnego na rzecz elastycznego podejścia do przechowywania kluczy/wartości. To nieustrukturyzowane podejście do danych wymaga alternatywy dla modelu ACID: modelu BASE.

Image
Image

Podstawowe założenia modelu ACID

Istnieją cztery podstawowe zasady modelu ACID:

  • atomowość transakcji zapewnia, że każda transakcja bazy danych jest pojedynczą jednostką, która przyjmuje do wykonania podejście „wszystko albo nic”. Jeśli jakakolwiek instrukcja w transakcji nie powiedzie się, cała transakcja zostanie wycofana.
  • Relacyjne bazy danych zapewniają również consistency każdej transakcji z regułami biznesowymi bazy danych. Jeśli jakikolwiek element transakcji atomowej zakłóci spójność bazy danych, cała transakcja zakończy się niepowodzeniem.
  • Silnik bazy danych wymusza izolację między wieloma transakcjami występującymi w tym samym lub zbliżonym czasie. Każda transakcja ma miejsce przed lub po każdej innej transakcji, a widok bazy danych, który widzi transakcja na jej początku, jest zmieniany tylko przez samą transakcję przed jej zawarciem. Żadna transakcja nie powinna nigdy widzieć produktu pośredniego innej transakcji.
  • Ostateczna zasada ACID, trwałość, zapewnia, że gdy transakcja zostanie zatwierdzona w bazie danych, zostanie ona trwale zachowana dzięki wykorzystaniu kopii zapasowych i dzienników transakcji. W przypadku awarii mechanizmy te mogą zostać wykorzystane do przywrócenia zatwierdzonych transakcji.

Podstawowe zasady BASE

Z drugiej strony bazy danych NoSQL obejmują sytuacje, w których model ACID jest przesadą lub w rzeczywistości utrudniałby działanie bazy danych. Zamiast tego NoSQL opiera się na bardziej miękkim modelu znanym jako model BASE. Model ten uwzględnia elastyczność oferowaną przez NoSQL i podobne podejścia do zarządzania i przechowywania danych nieustrukturyzowanych. PODSTAWA składa się z trzech zasad:

  • Podstawowa dostępność Podejście do baz danych NoSQL koncentruje się na dostępności danych nawet w przypadku wystąpienia wielu awarii. Osiąga to dzięki zastosowaniu wysoce rozproszonego podejścia do zarządzania bazami danych. Zamiast utrzymywać jeden duży magazyn danych i skupiać się na odporności tego magazynu na błędy, bazy danych NoSQL rozprowadzają dane w wielu systemach pamięci masowej z wysokim stopniem replikacji. W mało prawdopodobnym przypadku, gdy awaria zakłóci dostęp do segmentu danych, niekoniecznie spowoduje to całkowitą awarię bazy danych.
  • Miękki stan. Bazy danych BASE całkowicie porzucają wymagania dotyczące spójności modelu ACID. Jedną z podstawowych koncepcji BASE jest to, że spójność danych jest problemem programisty i nie powinna być obsługiwana przez bazę danych.
  • Ostateczna spójność Jedynym wymogiem, jaki mają bazy danych NoSQL w odniesieniu do spójności, jest wymaganie, aby w pewnym momencie w przyszłości dane osiągnęły spójny stan. Nie ma jednak gwarancji, kiedy to nastąpi. Jest to całkowite odejście od natychmiastowego wymogu spójności ACID, który zabrania wykonywania transakcji do czasu zakończenia poprzedniej transakcji i zbieżności bazy danych do spójnego stanu.

W BASE podstawowa dostępność może oznaczać, że nie kontrolujesz nawet źródeł danych. Na przykład możesz połączyć się z publicznymi zbiorami danych w ramach części swoich wysiłków.

Względne przypadki użycia

Model BASE nie jest odpowiedni dla każdej sytuacji, ale z pewnością jest elastyczną alternatywą dla modelu ACID dla baz danych, które nie wymagają ścisłego przestrzegania modelu relacyjnego.

Optymalne przypadki użycia baz danych używających ACID zależą od wysoce ustrukturyzowanych danych z przewidywalnymi danymi wejściowymi i wyjściowymi. W ten sposób bazy danych zasobów ludzkich, detaliczne bazy danych i elektroniczna dokumentacja medyczna korzystają z solidnej kontroli spójności wewnętrznej oferowanej przez ACID.

Jednak rozwiązania BASE są lepsze w przypadku nieostrych tematów, takich jak analiza sentymentu. Na przykład projekt o strukturze BASE może skanować kanał Twittera w poszukiwaniu słów, które sugerują emocje na podstawie określonego hashtagu. Kanał Twittera nie jest dobrze zorganizowany ani utworzony lokalnie, ale strumień danych oferuje informacje zaprogramowane w zapytaniach, nawet jeśli zakres i charakter tych danych nie są wyraźnie ograniczone.

Zalecana: