Co to jest NoSQL?
NoSQL lub NoSQL Database to termin używany w odniesieniu do bazy danych „nie SQL” lub „nie tylko SQL”. Bazy danych NoSQL przechowują dane w innym formacie niż tradycyjne systemy zarządzania relacyjnymi bazami danych. Dlatego NoSQL jest często kojarzony z terminem „nierelacyjna” baza danych. Mówiąc najprościej, bazy danych NoSQL to nowoczesne bazy danych o wysokiej elastyczności, niesamowitej wydajności i skalowalności. Te bazy danych są używane, gdy potrzebujesz małych opóźnień i dużej rozszerzalności podczas pracy z dużymi strukturami danych. Uniwersalność NoSQL wynika z tego, że jest nieograniczona w porównaniu z modelami relacyjnych baz danych, takimi jak MySQL czy DB2.
Porównanie SQL i NoSQL
Istnieje wiele różnic między typami baz danych SQL i NoSQL. W poniższej tabeli porównamy niektóre z najbardziej krytycznych odmian.
SQL | NoSQL |
Bazy danych relacyjnych struktur danych | Bazy danych o nierelacyjnych strukturach danych |
Lepsze dla transakcji wielowierszowych | Lepsze dla dokumentów i plików JSON |
Bazy danych oparte na tabelach | Bazy danych to dokumenty, pary klucz-wartość, wykresy lub magazyny szerokokolumnowe |
Bazy danych SQL są skalowalne w pionie | Bazy danych NoSQL są skalowalne w poziomie |
Używa predefiniowanego schematu | Używa schematu dynamicznego |
Strukturalny język zapytań (SQL) | Brak języka zapytań |
Typy baz danych NoSQL
Istnieją cztery główne typy baz danych NoSQL.
- Zapasy danych klucz-wartość
- Sklepy z dokumentami
- Sklepy szerokokolumnowe
- Sklepy graficzne
Przyjrzymy się każdemu z tych typów i wyjaśnimy, do czego są używane.
Magazyny danych kluczowych
Te typy baz danych używają pary klucz-wartość jako metody przechowywania danych w bazie danych. Każda para klucz-wartość jest niepowtarzalna i służy jako identyfikator podczas wykonywania zapytania. Klucz podstawowy jest podzielony na klucz partycji i klucz sortowania. Na przykład klucz partycji miałby przechowywany identyfikator produktu, a klucz sortowania zawierałby typy produktów.
Wartości przechowywane w tych bazach danych mogą być wszystkim, od najprostszych obiektów binarnych, takich jak dokumenty JSON, po filmy lub inne ogromne, złożone elementy. Nasza aplikacja będzie miała pełną kontrolę nad tymi wartościami, dlatego magazyny danych klucz-wartość są uważane za najbardziej elastyczny model NoSQL. Należy wspomnieć, że pary klucz-wartość często nie obsługują transakcji, ponieważ przechowywane w nich dane są podzielone na partycje i używane w całych klastrach.
Sklepy z dokumentami
Jak sama nazwa wskazuje, baza danych NoSQL to nierelacyjna, wolna od schematów baza danych, która przechowuje i wysyła zapytania do danych w dokumencie podobnym do pliku JSON. W przeciwieństwie do konwencjonalnych tabel MySQL, bazy danych magazynów dokumentów gromadzą wszystkie dane z danej jednostki w dokumencie. Wszystkie dane powiązane z tą jednostką są również przechowywane w tym pojedynczym dokumencie.
Tak więc z jednej strony masz relacyjne bazy danych przechowujące dane towaru w tabelach, a dane te są rozłożone na kilka tabel. Z drugiej strony masz nierelacyjną bazę danych magazynu dokumentów, która przechowuje wszystkie dane w jednym pliku.
Sklepy szerokokolumnowe
Druga nazwa tych baz danych to Extensible Record Stores . Podobnie jak magazyny dokumentów, te szerokokolumnowe bazy danych są również bazami danych bez schematu. Ta baza danych używa tabel, wierszy i kolumn, podobnie jak relacyjna baza danych.
Ale jest jedna różnica! Żadna z kolumn ani kluczy rekordów nie jest stała, co oznacza, że nazwa i format mogą się różnić. Dlatego szerokokolumnowe bazy danych są często postrzegane jako dwuwymiarowe magazyny klucz-wartość.
Sklepy z wykresami
Bazy danych magazynów wykresów są zbudowane wokół prostej struktury danych:
Węzeł — Relacja — Węzeł
Te bazy danych mają trzy typy pól danych. Pola te nazywane są wierzchołkami i składają się z węzłów, krawędzi i właściwości. Te pola służą do przechowywania i reprezentowania danych w magazynach Graph.
Magazyny wykresów działają poprzez zbieranie danych w węźle, a krawędzie przechowują relacje między każdym węzłem. Każda krawędź ma cztery komponenty:węzeł początkowy, węzeł końcowy, typ i kierunek. Taka struktura jest potrzebna, ponieważ jeden węzeł może mieć nieograniczoną liczbę relacji.
Ostateczny typ pola danych, właściwości, przechowuje funkcje i dodatkowe informacje związane z krawędziami i relacjami. Jeden z przykładów właściwości nazywa się „Ciężar krawędzi”. Ta właściwość może zaoszczędzić koszt, odległość, zasięg, długość lub jakąkolwiek inną miarę relacji między dwoma węzłami.
Przykłady systemu NoSQL
Teraz, gdy wiemy, jakie mamy typy baz danych NoSQL, przyjrzymy się niektórym z najczęściej używanych systemów zarządzania bazami danych dla każdego z tych typów.
Typ bazy danych | Najczęściej używany system zarządzania |
Magazyny danych klucz-wartość | Redis jest zdecydowanie najczęściej używanym systemem zarządzania NoSQL. Redis może być używany do innych operacji, takich jak buforowanie, ale zarządzanie bazą danych jest jego podstawową funkcją.
|
Sklepy z dokumentami | MongoDB jest reklamowana jako „Najbardziej popularna baza danych dla nowoczesnych aplikacji ”. MongoDB to w rzeczywistości coś więcej niż tylko system zarządzania bazą danych. To cała platforma danych z wieloma narzędziami, z których mogą korzystać programiści i badacze danych.
|
Sklepy szerokokolumnowe | Apache Cassandra jest używany przez Activision, Hulu, Uber, Walmart i dziesiątki innych znanych firm. Według oficjalnej strony, 40% firm z listy Fortune's Top 100 używa Cassandry w swojej codziennej działalności. Powód tego jest prosty. Cassandra to najlepszy wybór, gdy potrzebujesz systemu zarządzania dla sklepu szerokokolumnowego, który oferuje najlepszą skalowalność i dostępność bez obniżania wydajności.
|
Sklepy z wykresami | Neo4j to natywna baza danych wykresów, zbudowana od podstaw w celu wykorzystania węzłów i relacji. Neo4j tworzy połączenia między danymi w trakcie ich przechowywania, umożliwiając zapytania o niewyobrażalnym typie, z szybkością rzadko uważaną za możliwą.
|
Teraz znamy różne typy baz danych NoSQL. Znamy też podstawy, które za nimi stoją. Na koniec przyjrzyjmy się, jaki byłby najlepszy sposób na zastosowanie każdej z tych baz danych w praktyce.
Najlepsze przypadki użycia baz danych NoSQL
- Bazy danych sklepów klucz-wartość :Te bazy danych najlepiej nadają się do różnych koszyków zakupowych. Dzieje się tak po prostu dlatego, że bazy danych Key-Value mogą obsługiwać miliony lub miliardy zamówień. Ogromne ilości danych przychodzących są przetwarzane bez utraty wydajności. Te bazy danych mają również wbudowaną nadmiarowość, dzięki czemu nie musisz się martwić utratą danych.
- Bazy danych sklepów z dokumentami :Te bazy danych najlepiej nadają się do różnych katalogów. Może to być ponownie powiązane z Twoją działalnością e-commerce, w której musisz przechowywać tysiące różnych atrybutów naszych produktów. Ponieważ dane są przechowywane w jednym dokumencie, zarządzanie produktami jest szybkie i łatwe.
- Sklepy szerokokolumnowe :Te bazy danych najlepiej nadają się do przechowywania informacji geograficznych, systemów raportowania, dzienników czujników i tym podobnych. Mówimy o tym, ponieważ sklepy Wide-Column używają mapowania wielowymiarowego (wartość wiersza, wartość kolumny i znacznik czasu) w formacie tabelarycznym, który zapewnia ogromną skalowalność. Jeśli kiedykolwiek użyjesz witryny internetowej lub aplikacji, aby sprawdzić odległość dojazdu z punktu A do punktu B na mapie, istnieje duże prawdopodobieństwo, że sklepy Wide-Column są używane w tej witrynie lub aplikacji.
- Bazy danych magazynu wykresów :Te bazy danych najlepiej nadają się do ponadprzeciętnych systemów wykrywania oszustw. Załóżmy, że mamy zarejestrowaną sprawę dotyczącą oszustwa związanego z konkretnym adresem e-mail lub kartą kredytową. Jeśli ta osoba spróbuje się zalogować i ponownie coś kupi, korzystając z informacji z tego przypadku oszustwa, zostanie o tym powiadomiona przez system. Dzieje się tak ze względu na sposób, w jaki bazy danych magazynu Graph przetwarzają relacje między węzłami w czasie rzeczywistym.
Wniosek
Często spotykamy się z wykorzystaniem baz danych NoSQL w naszym codziennym życiu, nie zdając sobie z tego sprawy. Dane pokazują, że ogólne zalety NoSQL i jego skuteczność są nieobliczalne. Mamy nadzieję, że ten artykuł dostarczy Ci praktycznych informacji i sposobu, w jaki NoSQL może zostać zaimplementowany w Twojej metodologii biznesowej. Podsumowując, cieszymy się, że mogliśmy zademonstrować, w jaki sposób NoSQL może być dla Ciebie korzystny.
Jak możemy pomóc?
Jesteśmy dumni z tego, że jesteśmy najbardziej pomocnymi ludźmi w hostingu™! Nasi kompetentni doradcy ds. rozwiązań lub doświadczeni doradcy hostingowi są zawsze dostępni, aby pokazać, jak możesz skorzystać z tych technik już dziś!
Jesteśmy dostępni 24 godziny na dobę, 7 dni w tygodniu, 365 dni w roku, za pośrednictwem naszego systemy biletowe pod adresem [email protected], telefonicznie (800-580-4986) lub przez LiveChat lub inną preferowaną metodą.
Ciężko pracujemy dla Ciebie, abyś mógł się zrelaksować.