Bazy danych zasilają prawie każdą platformę cyfrową na świecie:od stron internetowych, przez blogi, media społecznościowe, po usługi przesyłania strumieniowego. Większość użytkowników końcowych zna bazy danych, takie jak MySQL, jako narzędzie do przechowywania danych. To dość dokładny, choć fundamentalny opis tego, czym jest baza danych. Jednak to znacznie więcej.
Różne typy baz danych
Ogólny termin baza danych często myli dwa oddzielne i odrębne komponenty:bazę danych i system zarządzania bazami danych (DBMS). Baza danych przechowuje dane, a DBMS jest narzędziem lub zestawem narzędzi, których używasz do zarządzania danymi. DBMS jest tutaj omówiony, ponieważ zawiera narzędzia, które pozwalają administratorom baz danych komunikować się z bazą danych, dzięki czemu mogą w pełni nią zarządzać i nią zarządzać.
Systemy zarządzania bazami danych są podzielone na trzy warstwy:
- Klient :Wysyła żądania za pomocą wiersza poleceń lub ekranu GUI, używając prawidłowych zapytań SQL.
- Serwer :Odpowiedzialny za wszystkie logiczne funkcje serwera.
- Pamięć :Obsługuje przechowywanie danych.
W tych warstwach znajdują się takie narzędzia, jak obsługa wątków, język zapytań, parser, optymalizator, pamięć podręczna zapytań, bufor, pamięć podręczna metadanych tabeli i pamięć podręczna kluczy. Te elementy łączą się, tworząc potężny system dla administratorów, użytkowników i oprogramowania do przechowywania i pobierania danych.
Jednym z kluczowych aspektów DBMS jest język zapytań. Jest to specjalny język używany do interakcji z bazą danych. Jest to bardzo specyficzny język i musi być używany zgodnie ze specyfikacjami określonymi przez DBMS. Niektóre DBMS mają własne, zastrzeżone języki zapytań, ale najpopularniejsze to:
- SQL - Strukturalny język zapytań jest jednym z najczęściej używanych języków zapytań na rynku i jest używany przez MS SQL i MySQL.
- XQuery - Używa formatu pliku XML do wyodrębniania i manipulowania danymi.
- OQL - Object Query Language jest domyślnym językiem dla baz danych zorientowanych obiektowo, które są często używane w przypadkach użycia Big Data.
- SQL/XML - Połączenie SQL i XQuery oraz obsługa instrukcji SQL na danych XML.
- GraphQL - Język o otwartym kodzie źródłowym zdolny do pracy z interfejsami API, a także środowiskiem wykonawczym, którego można używać do zapytań dotyczących istniejących danych.
- LINQ - Zintegrowane zapytanie językowe wyodrębnia i przetwarza dane z różnych źródeł, takich jak dokumenty XML i relacyjne bazy danych.
Relacyjne i nierelacyjne bazy danych
DBMS wykorzystuje dwa podstawowe typy baz danych:relacyjną i nierelacyjną. Rozróżnienie między tymi dwoma jest ważne, ponieważ pomagają określić najlepszy przypadek użycia bazy danych.
Relacyjna baza danych to taka, która przechowuje informacje w tabelach zawierających powiązane dane. To, co nadaje relacyjnej bazie danych swoją nazwę, to fakt, że relacje mogą być tworzone między dwiema lub większą liczbą tabel. Relacje korelują wiersze należące do dwóch różnych tabel w trzecią tabelę. Relacyjnych baz danych najlepiej używać, gdy zawarte w nich dane nie zmieniają się często i gdy dokładność danych ma kluczowe znaczenie.
Nierelacyjne bazy danych (zwane również bazami danych NoSQL) przechowują swoje informacje w formie nietabelarycznej. Zamiast tego nierelacyjne bazy danych przechowują dane w modelach danych, których cztery najpopularniejsze typy to:
- Zorientowany na dokumenty - dane są przechowywane jako dokumenty JSON.
- Para klucz-wartość - dane są przechowywane w parach kluczy.
- Wykres - dane są przechowywane w strukturze węzeł-krawędź-węzeł.
- Szeroka kolumna - dane są przechowywane w formacie tabelarycznym z elastycznymi kolumnami, które mogą się różnić w zależności od wiersza.
Ponieważ przechowują dane w ten sposób, nierelacyjne bazy danych są znacznie bardziej elastyczne. Mogą przechowywać wiele różnych typów danych. Dzięki temu są idealne, gdy konieczne jest przechowywanie ogromnych ilości złożonych danych, na przykład podczas pracy z aplikacjami Big Data.
Czego szukać w bazie danych
Pierwsze pytanie, które należy zadać, brzmi:„Czy powinienem używać relacyjnej czy nierelacyjnej bazy danych?” Relacyjnej bazy danych najlepiej używać w przypadku instancji wymagających ACID (Atomowość, Spójność, Izolacja, Trwałość), dokładność danych, normalizacja i prostota, ale nie wymagają skalowalności, elastyczności i wysokiej wydajności. Dobrym przykładem przypadku użycia relacyjnej bazy danych jest dynamiczna, oparta na bazie danych witryna internetowa, taka jak WordPress.
Z drugiej strony nierelacyjna baza danych najlepiej sprawdza się, gdy kluczowe znaczenie ma elastyczność, szybkość i skalowalność danych. Dobrym przykładem przypadku użycia nierelacyjnej bazy danych jest aplikacja w chmurze, która polega na masowym skalowaniu.
Osiem popularnych baz danych
Ta lista ośmiu najpopularniejszych baz danych jest podzielona na 4 relacyjne i 4 nierelacyjne bazy danych.
Relacyjne bazy danych
Poniżej znajdują się najpopularniejsze obecnie relacyjne bazy danych na rynku.
Wyrocznia
Baza danych Oracle została pierwotnie opracowana w 1977 roku, co czyni ją najstarszą bazą danych na liście. Od stycznia 2022 r. Oracle zajmuje pierwsze miejsce jako najczęściej używany system zarządzania relacyjnymi bazami danych na świecie (z wynikiem 1266,89 w rankingu Statista).
Oracle Database występuje w pięciu edycjach:
- Przedsiębiorstwo - zawiera wszystkie funkcje DBMS, a także opcję Oracle Real Application Clusters zapewniającą wysoką dostępność.
- Osobiste - zawiera wszystkie funkcje, bez opcji Oracle Real Application Clusters.
- Standardowy - zawiera podstawową funkcjonalność.
- Ekspresowe - lekka i bezpłatna limitowana wersja zarówno dla systemu Windows, jak i Linux.
- Oracle Lite - w przypadku urządzeń mobilnych.
Głównym powodem, dla którego Oracle Database zajmuje czołowe miejsce na rynku, jest to, że jest to jedna z najbardziej skalowalnych relacyjnych baz danych. Osiąga to, dzieląc swoją architekturę między logiczną i fizyczną. Dzięki temu lokalizacja danych staje się nieistotna i przejrzysta, co pozwala na bardziej modułową strukturę, którą można modyfikować bez wpływu na samą bazę danych. Budując bazę danych Oracle w ten sposób, możliwe jest współdzielenie zasobów w celu uzyskania znacznie bardziej elastycznej sieci danych.
Niektóre z wyróżniających się funkcji Oracle Database obejmują:
- Real Application Clustering (RAC) i przenośność, które umożliwiają skalowanie bez utraty wydajności i spójności danych.
- Wydajne buforowanie pamięci.
- Wysoce wydajne partycjonowanie, które umożliwia dzielenie większych tabel na wiele części.
- Ciepłe, zimne i przyrostowe kopie zapasowe za pomocą narzędzia Recovery Manager.
- Narzędzia do kontrolowania dostępu i wykorzystania danych.
Zalety Oracle Database obejmują:
- Używa języka zapytań SQL.
- Wysoka wydajność.
- Przenośny (może działać na prawie 20 protokołach sieciowych i wielu platformach sprzętowych).
- Instance Caging umożliwia zarządzanie wieloma bazami danych z jednego serwera.
- Liczne wersje najlepiej pasujące do Twojej firmy i/lub przypadku użycia.
- Klastrowanie dla skalowalności, równoważenia obciążenia, nadmiarowości i wydajności.
- Przywracanie awarii za pomocą narzędzia RMAN (Recovery Manager).
- Obsługa PL/SQL.
Wady Oracle Database obejmują:
- Zastrzeżone - Oracle nie jest oprogramowaniem typu open source.
- Złożoność - To jedna z bardziej złożonych relacyjnych baz danych na rynku.
- Koszt - Baza danych Oracle może być nawet 10 razy droższa niż MS SQL.
Dowiedz się, jak używać Oracle Database Express Edition z Linode.
MySQL
MySQL to jedna z najpopularniejszych na rynku relacyjnych baz danych typu open source. Według DB-Engines, MySQL zajmuje drugie miejsce, za Oracle Database, w ich najczęściej używanych bazach danych na rynku.
Wydany w maju 1995 r. MySQL jest dojrzały i niezawodny. Jest to jedna z najbardziej niezawodnych dostępnych opcji. Napisany w C i C++, MySQL działa w systemach Linux, Solaris, macOS, Windows i FreeBSD i jest licencjonowany na licencji GPLv2.
MySQL jest relacyjną bazą danych i nie skaluje się w zakresie nierelacyjnej bazy danych, ale obsługuje wielowątkowość, co umożliwia jej skalowanie w taki sposób, że może obsłużyć do 50 milionów wierszy z domyślnym plikiem limit rozmiaru 4 GB, z teoretycznym limitem 8 TB.
Niektóre z wyróżniających się funkcji MySQL to:
Bezpieczeństwo - Wykorzystuje solidną warstwę bezpieczeństwa danych do ochrony poufnych danych, a wszystkie hasła są szyfrowane.Wycofanie - Umożliwia wycofanie transakcji.Wydajna pamięć - Ma bardzo niski wyciek pamięci.Wydajny - Wykorzystuje wyzwalacze, procedury przechowywane i widoki w celu zwiększenia wydajności.Partycjonowanie - Obsługuje partycjonowanie w celu poprawy wydajności bardzo dużych baz danych.GUI - MySQL Workbench GUI zarządza bazą danych.
Zalety korzystania z MySQL obejmują:
- Bezpłatne - jest to bezpłatna baza danych o otwartym kodzie źródłowym, którą można zainstalować na dowolnej liczbie instancji serwera.
- Znajomość - MySQL używa języka zapytań SQL, więc administratorzy bazy danych zaznajomieni z tym językiem są na bieżąco z tym DBMS. MySQL jest również zgodny z typową architekturą klient/struktura.
- Prędkość - Jest jedną z najszybszych relacyjnych baz danych dzięki unikalnemu silnikowi pamięci masowej.
- Integracja - MySQL cieszy się integracją z tysiącami aplikacji innych firm, takich jak systemy blogowe, CRM, HRM, ERP i wiele innych typów aplikacji.
Dowiedz się, jak zainstalować instancję MySQL na serwerze Linode.
Microsoft SQL Server
Microsoft SQL Server to DBMS opracowany przez Microsoft. Ta baza danych jest rozwiązaniem zastrzeżonym, ale można ją zainstalować zarówno w systemie Linux, jak i Windows. MS SQL Server został po raz pierwszy wydany 24 kwietnia 1989 roku i jest obecnie oferowany w pięciu różnych edycjach:
- Standardowy - Podstawowa funkcjonalność wymagana dla większości aplikacji.
- Sieć - Tania opcja, która różni się od wersji standardowej pod względem maksymalnej ilości pamięci dozwolonej dla puli buforów i maksymalnej pojemności obliczeniowej.
- Przedsiębiorstwo - Obsługuje szeroką gamę funkcji hurtowni danych i obejmuje zaawansowane funkcje, takie jak kompresja danych, zwiększone bezpieczeństwo i obsługa większych rozmiarów danych.
- Programista - Zaprojektowany dla programistów i zawiera możliwość tworzenia procedur składowanych, funkcji i widoków.
- Ekspresowe - Ograniczone do osób fizycznych lub małych organizacji i nie obejmuje żadnej z zaawansowanych funkcji.
MS SQL Server współpracuje z językiem zapytań SQL i używa systemu operacyjnego SQL Server (SQLOS), który zarządza pamięcią i zasobami we/wy, zadaniami i przetwarzaniem danych.
Zalety Microsoft SQL Server to:
- Natywna obsługa programu Visual Studio - Obsługa programowania danych jest wbudowana w Visual Studio, więc administratorzy DB mogą tworzyć, przeglądać i edytować schematy baz danych.
- Usługa wyszukiwania pełnotekstowego - Umożliwia wyszukiwanie zapytań opartych na słowach.
- Obsługa wielu wersji - Umożliwia instalację wielu wersji MS SQL Server na jednym komputerze.
- Łatwa instalacja - Można zainstalować jednym kliknięciem.
- Przywracanie i odzyskiwanie danych - Wbudowane narzędzia do odzyskiwania danych.
- Wsparcie - MS SQL Server ma ogromną społeczność użytkowników z dużą pomocą i wsparciem dostępnym z różnych źródeł.
Wady MS SQL są nieliczne, ale każdy, kto myśli o przyjęciu tej platformy bazodanowej, powinien je rozważyć. Te wady obejmują:
- Kosztowne i mylące ceny.
- Słaby interfejs użytkownika.
- Przyznaje tylko częściową kontrolę nad bazami danych.
PostgreSQL
PostgreSQL (zwany również Postgres) to kolejny darmowy i otwarty system zarządzania bazą danych, który pierwotnie służył jako następca bazy danych Ingres. PostgreSQL nazywa się „najbardziej zaawansowaną relacyjną bazą danych typu open source na świecie” i obecnie posiada 14,70% udziału w rynku relacyjnych baz danych.
Wydany w 1996 roku PostgreSQL cieszy się bardzo aktywnym cyklem rozwoju i dużą społecznością wsparcia. Tym, co odróżnia PostgreSQL od innych relacyjnych baz danych o otwartym kodzie źródłowym, jest to, że jest to system zarządzania obiektowo-relacyjnymi bazami danych, co oznacza, że jest podobny do relacyjnej bazy danych, ale używa zorientowanego obiektowo modelu bazy danych.
PostgreSQL jest oparty na katalogach, więc pozwala użytkownikom definiować typy danych, typy indeksów i języki funkcjonalne, dzięki czemu jest bardziej rozszerzalny niż inne relacyjne bazy danych.
Niektóre z wyróżniających się funkcji PostgreSQL to:
- Zgodność z kwasami.
- Wysoce współbieżne.
- Zawiera obsługę NoSQL
- Obsługa schematów i języków zapytań dla obiektów, klas, dziedziczenia i przeciążania funkcji.
- Wspólne wyrażenie tabelowe (tymczasowe wyniki zapytania, które jest używane w kontekście większego zapytania).
- Deklaratywne partycjonowanie (które zmniejsza ilość pracy wymaganej do partycjonowania danych).
- Wyszukiwanie pełnotekstowe.
- Obsługa systemu informacji geograficznej/systemu odniesienia przestrzennego (do przechwytywania, przechowywania, sprawdzania i wyświetlania danych związanych z pozycjami na powierzchni Ziemi).
- Obsługa JSON.
- Replikacja logiczna (która jest metodą replikacji obiektów danych w oparciu o klucz podstawowy).
Zalety PostgreSQL to:
- Idealny do złożonych operacji na dużych ilościach danych.
- Wysoce konfigurowalny za pomocą wtyczek i użycia niestandardowych funkcji napisanych w C, C++ i Java.
- Kontrola współbieżności wielu wersji (zaawansowana technika poprawy wydajności bazy danych w środowisku wielu użytkowników).
- Blokady odczytu nie są konieczne, więc oferuje większą skalowalność niż inne relacyjne bazy danych.
- Wieloplatformowy (dostępny dla BSD, Linux, macOS, Solaris i Windows).
Jeśli chodzi o wady, PostgreSQL ma kilka, takich jak:
- Bardziej skomplikowany niż MySQL.
- Wolniej niż MySQL.
- Nie ma łatwego sposobu na migrację danych z innych systemów RDBMS.
- Słaba kompresja danych.
- Skomplikowane skalowanie w poziomie.
- Słaba obsługa klastrowania.
- Brak wbudowanej obsługi uczenia maszynowego.
Sprawdź nasz przewodnik, jak zainstalować PostgreSQL na serwerze Ubuntu 20.04, aby uzyskać więcej informacji.
Nierelacyjne bazy danych
Poniższe sekcje obejmują najpopularniejsze obecnie nierelacyjne bazy danych na rynku.
Ponownie
Redis to magazyn struktury danych w pamięci, który jest używany jako rozproszona baza danych NoSQL typu klucz-wartość. Redis oznacza Zdalny serwer słownika i korzysta z zaawansowanego magazynu klucz-wartość z opcjonalną trwałością. Redis jest często określany jako serwer struktury danych, ponieważ klucze mogą zawierać ciągi, skróty, listy, zestawy i posortowane zestawy.
Redis to ulotna baza danych w pamięci, co czyni ją dobrą opcją dla systemów z dużą ilością gorących danych. Redis przechowuje dane w pamięci podręcznej, co sprawia, że odczyt/zapis jest szybszy, a dane zawsze bardzo dostępne.
Funkcje, które sprawiają, że Redis jest wyjątkowy, to:
- Minimalna złożoność w porównaniu z innymi bazami danych NoSQL.
- Lekki i nie wymaga zewnętrznych zależności.
- Działa we wszystkich środowiskach POSIX.
- Obsługa synchronicznej, nieblokującej replikacji master/slave w celu zapewnienia wysokiej dostępności.
- Zmapowany system pamięci podręcznej oparty na wartościach klucz-wartość, który jest porównywalny z memcached.
- Brak ścisłych zasad definiowania schematów lub tabel.
- Obsługa wielu modeli lub typów danych.
- Obsługa shardingu.
- Może być używany w połączeniu z innymi bazami danych w celu zmniejszenia obciążenia i zwiększenia wydajności.
Zalety korzystania z Redis to:
- Pozwala na przechowywanie par klucz-wartość o wielkości do 512 MB.
- Używa własnego mechanizmu mieszającego.
- Dzięki replikacji danych pamięć podręczna Redis wytrzymuje awarie i nadal zapewnia nieprzerwaną obsługę.
- Obsługują go wszystkie popularne języki programowania.
- Obsługuje wstawianie ogromnych ilości danych do swojej pamięci podręcznej.
- Ze względu na niewielkie rozmiary można go zainstalować na sprzęcie Raspberry Pi i ARM.
Wady korzystania z Redis są następujące:
- Wszystkie Twoje dane muszą zmieścić się w pamięci i nie możesz zarządzać większą ilością danych niż masz pamięci.
- Nie ma języka zapytań ani obsługi algebry relacyjnej.
- Tylko oferuje dwie opcje trwałości (migawki i pliki tylko do dołączania).
- Podstawowe funkcje bezpieczeństwa.
- Działa tylko na jednym rdzeniu procesora w trybie jednowątkowym, więc skalowalność wymaga kilku instancji Redis.
Sprawdź nasz przewodnik, jak zainstalować i skonfigurować Redis na serwerze Ubuntu 20.04, aby uzyskać więcej informacji.
MongoDB
MongoDB to zorientowana na dokumenty baza danych NoSQL typu open source, skoncentrowana na przechowywaniu dużych ilości danych. MongoDB jest uważany za pozbawiony schematu, więc nie wymusza określonej struktury w dokumentach zawartych w kolekcji. Pierwotnie wydana w 2009 r. ta baza danych NoSQL wykorzystuje dokumenty podobne do JSON z opcjonalnymi schematami i może być instalowana lokalnie lub w pełni zarządzana w chmurze. MongoDB jest uważany za bardzo dobrego kandydata do obsługi dużych zbiorów danych i może być używany przez organizacje każdej wielkości.
Funkcje, które wyróżniają MongoDB to:
- Obsługuje wyszukiwanie w polach, zapytaniach zakresu i wyrażeniach regularnych.
- Osiąga wysoką dostępność dzięki zestawom replik.
- Obsługuje sharding.
- Może być używany jako system plików (nazywany GridFS).
- Obsługuje potok, funkcję map-reduce i jednofunkcyjne metody agregacji.
- JavaScript obsługiwany w zapytaniach.
- Obsługuje kolekcje o stałych rozmiarach, zwane kolekcjami ograniczonymi.
- Indeksy mogą być tworzone w celu poprawy wydajności wyszukiwania.
- Umożliwia wykonywanie operacji na zgrupowanych danych dla pojedynczego wyniku lub obliczonego wyniku.
Zalety bazy danych MongoDB to:
- Obsługuje ekspresyjny język zapytań.
- Nie trzeba tracić czasu na projektowanie schematu bazy danych, ponieważ jest on pozbawiony schematu.
- Elastyczny i wydajny.
- Wspiera wydajność geoprzestrzenną.
- Obsługuje wiele przejść ACID dokumentów.
- Nie wymaga wstrzykiwania SQL.
- Można szybko zintegrować z Hadoop.
- Open-source i darmowy.
Wady bazy danych MongoDB obejmują:
- Wymaga dużej ilości pamięci, zwłaszcza podczas skalowania.
- Limit przechowywania dokumentów danych 16 MB.
- Limit 100 poziomów zagnieżdżania danych.
- Nie obsługuje transakcji.
- Dołączanie dokumentów jest skomplikowane.
- Może działać wolno, jeśli indeksy nie są używane prawidłowo.
- Ponieważ relacje nie są dobrze zdefiniowane, mogą prowadzić do zduplikowanych danych.
Sprawdź nasz przewodnik dotyczący przypadków użycia MongoDB, aby uzyskać więcej informacji.
Apache Cassandra
Apache Cassandra to otwarty, rozproszony system zarządzania bazami danych NoSQL. Jest przeznaczony do obsługi bardzo dużych ilości danych na serwerach towarowych. Cassandra została pierwotnie opracowana na Facebooku, aby wspierać funkcję wyszukiwania indeksów platformy. W lipcu 2008 r. Facebook udostępnił Cassandrę za pośrednictwem Google Code, a w marcu 2009 r. oficjalnie stał się projektem Apache Incubator.
Cechy, które wyróżniają Cassandrę to:
- Wszystkie węzły rozproszone mają tę samą rolę, więc nie ma jednego punktu awarii.
- Obsługuje zarówno replikację, jak i replikację w wielu centrach danych.
- Przepustowość odczytu/zapisu wzrasta liniowo wraz z dodawaniem maszyn w celu uzyskania wysokiej skalowalności.
- Dane są automatycznie replikowane do wielu rozproszonych węzłów.
- Dostępność i tolerancja partycji jest ważniejsza niż spójność, dlatego klasyfikuje ją jako system AP (w ramach twierdzenia CAP).
- Obsługuje integrację Hadoop z obsługą MapReduce.
- Zawiera własny język zapytań, Cassandra Query Language.
Zalety Apache Cassandra to:
- Elastyczna skalowalność umożliwia skalowanie Cassandry w górę iw dół w razie potrzeby bez przestojów.
- Zgodny z architekturą peer-to-peer, więc awaria jest rzadka w porównaniu z konfiguracjami master-slave.
- Cztery kluczowe metody analizy danych, w tym integracja oparta na Solr, analiza wsadowa (z integracją z Hadoop), analiza zewnętrzna (z pomocą Hadoop i Cloudera/Hortonworks).
- Analiza prawie w czasie rzeczywistym.
- Obsługa wielu centrów danych i chmury hybrydowej.
- Dane mogą być przechowywane jako dane ustrukturyzowane, częściowo ustrukturyzowane lub nieustrukturyzowane.
Wady Apache Cassandra to:
- Ograniczona obsługa ACID.
- Opóźnienie może być problemem ze względu na dużą liczbę operacji we/wy.
- Dane są modelowane na podstawie zapytań, a nie struktury, co może skutkować zduplikowanymi informacjami przechowywanymi wiele razy.
- Brak obsługi dołączania lub podkwerend.
- Chociaż zapisy są szybkie, odczyty mogą być wolne.
- Ograniczona oficjalna dokumentacja.
Sprawdź nasze przewodniki po Apache Cassandra, aby dowiedzieć się więcej.
CouchDB
CouchDB to nasza ostatnia, zorientowana na dokumenty baza danych NoSQL typu open source. To konkretne narzędzie przechowuje dane w dokumentach JSON i używa JavaScript jako języka zapytań za pomocą MapReduce. CouchDB obejmuje sieć, uzyskując dostęp do dokumentów za pośrednictwem protokołu HTTP. Po uzyskaniu dostępu do tych dokumentów można odpytywać, łączyć i przekształcać je za pomocą JavaScript. Ta baza danych NoSQL doskonale nadaje się zarówno do aplikacji internetowych, jak i mobilnych, dzięki przekształceniom dokumentów w locie i powiadomieniom o zmianach w czasie rzeczywistym.
Funkcje, które wyróżniają CouchDB to:
- Replikacja bazy danych na wielu instancjach serwera.
- Szybkie indeksowanie i wyszukiwanie.
- Interfejs podobny do REST.
- Wiele bibliotek ułatwia korzystanie z wybranego języka.
- GUI oparty na przeglądarce zarządza danymi, uprawnieniami i konfiguracjami.
- Wsparcie dla replikacji.
- Obserwuje wszystkie cechy właściwości ACID.
- Uwierzytelnianie i obsługa sesji.
- Bezpieczeństwo na poziomie bazy danych.
- Wbudowana obsługa Map/reduce (model przetwarzania i generowania dużych zbiorów danych z równoległym, rozproszonym algorytmem).
Zalety korzystania z CouchDB obejmują:
- Możliwość przechowywania tego samego dokumentu w wielu instancjach bazy danych.
- Obiekty serializowane mogą być przechowywane jako nieustrukturyzowane dane w dokumentach JSON.
- Nadmiarowe przechowywanie danych. Może replikować i synchronizować z przeglądarkami za pośrednictwem PouchDB.
- Obsługa shardingu i klastrowania.
- Replikacja Master-to-Master umożliwia ciągłe tworzenie kopii zapasowych.
Wady CouchDB obejmują:
- Wolniejsza niż niektóre bazy danych NoSQL.
- Wymaga dużo narzutu.
- Pytania arbitralne są drogie.
- Tymczasowe widoki ogromnych zbiorów danych są powolne.
- Brak obsługi transakcji.
- Duża replikacja bazy danych jest zawodna.
Sprawdź nasz przewodnik na temat korzystania z CouchDB 2.0 w Ubuntu 20.04, aby uzyskać więcej informacji.
Wniosek
Bez względu na projekt, nad którym pracujesz, istnieje baza danych, która idealnie odpowiada Twoim potrzebom. Niezależnie od tego, czy tworzysz małą dynamiczną witrynę internetową, która zależy od wysokiego poziomu spójności danych, w której będziesz używać relacyjnej bazy danych, czy też aplikację, która będzie skalować się do ogromnych rozmiarów, w której używasz nierelacyjnej bazy danych, masz opcje. Dzięki Linode możesz pracować z dowolną z tych baz danych, aby efektywnie przechowywać dane i wchodzić w interakcje z aplikacjami. Ważne jest jednak, aby dokładnie wiedzieć, czego potrzebuje Twoja aplikacja z bazy danych, zanim wybierzesz tę. Dokonaj złego wyboru, a zmiana narzędzia może być kosztowna.