Nowy SQL - NewSQL

NewSQL to klasa systemów zarządzania relacyjnymi bazami danych, które mają na celu zapewnienie skalowalności systemów NoSQL dla obciążeń przetwarzania transakcji online (OLTP) przy jednoczesnym zachowaniu gwarancji ACID tradycyjnego systemu bazodanowego.

Wiele systemów korporacyjnych obsługujących szeroko zakrojone dane (np. systemy przetwarzania finansów i zamówień) jest zbyt dużych dla konwencjonalnych relacyjnych baz danych, ale ma wymagania dotyczące transakcji i spójności, które nie są praktyczne w przypadku systemów NoSQL. Jedyną opcją dostępną wcześniej dla tych organizacji było albo zakup mocniejszych komputerów, albo opracowanie niestandardowego oprogramowania pośredniczącego, które rozdziela żądania przez konwencjonalny system DBMS . Oba podejścia wiążą się z wysokimi kosztami infrastruktury i/lub kosztami rozwoju. Systemy NewSQL próbują pogodzić konflikty.

Historia

Termin ten został po raz pierwszy użyty przez analityka 451 Group , Matthew Asletta, w artykule badawczym z 2011 roku omawiającym powstanie nowej generacji systemów zarządzania bazami danych. Jednym z pierwszych systemów NewSQL był równoległy system baz danych H-Store .

Aplikacje

Typowe aplikacje charakteryzują się dużymi wolumenami transakcji OLTP . transakcje OLTP;

  • są krótkotrwałe (tj. brak stoisk użytkowników)
  • dotykać małych ilości danych na transakcję
  • użyj indeksowanych wyszukiwań (bez skanowania tabeli)
  • mieć małą liczbę formularzy (mała liczba zapytań z różnymi argumentami).

Jednak niektóre obsługują aplikacje hybrydowego przetwarzania transakcyjnego/analitycznego (HTAP). Takie systemy poprawiają wydajność i skalowalność dzięki pominięciu odzyskiwania wagi ciężkiej lub kontroli współbieżności .

Lista baz danych NewSQL

Cechy

Dwie wspólne cechy wyróżniające rozwiązania bazodanowe NewSQL to obsługa skalowalności online baz danych NoSQL oraz relacyjny model danych (w tym spójność ACID) wykorzystujący SQL jako podstawowy interfejs.

Systemy NewSQL można luźno podzielić na trzy kategorie:

Nowe architektury

Systemy NewSQL przyjmują różne architektury wewnętrzne. Niektóre systemy wykorzystują klaster węzłów współdzielonych , w którym każdy węzeł zarządza podzbiorem danych. Obejmują one komponenty, takie jak rozproszona kontrola współbieżności , kontrola przepływu i rozproszone przetwarzanie zapytań.

Silniki SQL

Druga kategoria to zoptymalizowane silniki pamięci masowej dla SQL . Systemy te zapewniają ten sam interfejs programistyczny co SQL, ale skalują się lepiej niż wbudowane silniki.

Przezroczyste sharding

Systemy te automatycznie dzielą bazy danych na wiele węzłów przy użyciu algorytmu konsensusu Raft lub Paxos .

Zobacz też

Bibliografia