Jeśli byłeś na rozmowie kwalifikacyjnej, prawdopodobnie zapytałeś o co NoSQL jest. Czy jesteś z tym wystarczająco zaznajomiony? Co to jest MongoDB? W tym artykule wyjaśnimy bazy danych NoSQL i zapoznamy się z nimi. Być może już niedługo rozbijemy róg tego olbrzyma rozmowa kwalifikacyjna programista! Jeśli nie znasz baz danych ani baz danych, możesz przeczytać nasz artykuł zatytułowany „Co to jest baza danych” przed przeczytaniem tego poradnika? Czytać.
W tradycyjnym programowaniu bazy danych są zwykle typu SQL, czyli relacyjną bazą danych. Bazy danych to proste relacje i praca z nimi jest zwykle bezproblemowa. Ale tego typu bazy danych mają duży problem. Problem ten ujawnił się, gdy światowi giganci oprogramowania, tacy jak Google, Amazon i Facebook, potrzebowali analizować duże ilości danych, czyli Big Data.
Relacyjne bazy danych ze względu na swoją strukturę były nieefektywne i nieefektywne w analizie dużych zbiorów danych. Oczywiście w niektórych przypadkach zastosowanie struktury tabelarycznej stosowanej w relacyjnych bazach danych było prawie niemożliwe. Z tego powodu przechowywanie dużych ilości nieustrukturyzowanych danych drastycznie zmniejsza szybkość i wydajność tych baz danych. Do czasu powstania baz danych NoSQL. Jak więc można się domyślić, głównym celem tworzenia baz danych NoSQL jest praca z nieustrukturyzowanymi i obszernymi danymi.
Powiedzieliśmy, że problemem baz danych opartych na SQL jest ich struktura. Ale jaka jest ta struktura i dlaczego powoduje takie problemy? Aby zrozumieć odpowiedź na to pytanie, musimy poznać trochę strukturę baz danych SQL.
Znajomość struktury bazy danych SQL
Jeśli masz doświadczenie w używaniu SQL, wiesz, że zawsze musisz przestrzegać zasad. Należy umieścić zestaw informacji identyfikacyjnych o tych samych specyfikacjach w odpowiednich tabelach. Tak naprawdę w SQL musisz mieć konkretne odpowiedzi na każde z tych pytań:
- Co podmioty Do Ty Posiadać? W jakich kategoriach można przechowywać informacje? Podobnie jak kategorie użytkowników, wiadomości, komentarze i هستند są przykładami istnienia. Zwykle każdą jednostkę rozważa się w formie tabeli.
- Jakie są nieruchomości każdego Twojego stołu? Jakie konkretnie informacje zamierzasz w nim przechowywać? Pamiętaj, że te właściwości muszą być stałe! Ponieważ każda z tych właściwości oznacza a kolumna Twojego tabela. Przykładowo tabela użytkowników może zawierać kolumny imienia, nazwiska, wieku, adresu e-mail itp. Liczba kolumn nie powinna być różna dla każdego użytkownika.
-
Jakie informacje zawierają poszczególne Twoje dane? Każde nowe dane zapisywane są w formie nowego wiersz W stół, jaki chcesz. Na przykład dla każdego nowego użytkownika tworzony jest wiersz z kolumnami imię, nazwisko, wiek i w tabeli użytkowników.
- Jak powiązane są poszczególne tabele Do Inny stoły czy stoły? Na przykład każdy użytkownik może być członkiem jednej lub większej liczby klas, a każda klasa może zawierać zbiór użytkowników.
Wszystkie te właściwości bazy danych są przechowywane w SQL ze strukturą Schema. Schemat jest stałą konstrukcją i pełni rolę szkieletu budynku. Wszystko jest na nim zamontowane i na jego podstawie skompletowane. Być może już wiesz, jaki jest główny problem związany z tego typu bazami danych przechowującymi nieustrukturyzowane dane! Podczas przechowywania takich danych właściwości poszczególnych danych nie zawsze są ustalone, co sprawia, że SQL nie działa, a czasami jest dla nich bezużyteczny.
Bazy danych NoSQL
Baza danych [ltr] ( Sot Otylko SQL ) Brak SQL [/ ltr] W przeciwieństwie do typu SQL używają niedynamicznych struktur Schema. Eliminuje to potrzebę formułowania przez programistów ścisłych struktur przed utworzeniem baz danych. Te bazy danych mogą być wielu typów i w przeciwieństwie do SQL, do przechowywania danych używają XML lub JSON. Oto kilka popularnych typów baz danych NoSQL:
-
Bazy danych klucz-wartość: W tego typu bazach danych informacje są przechowywane w parach klucz-wartość lub klucz-wartość. Klucze pełnią rolę identyfikatora poszczególnych danych. Możemy ich używać do przechowywania lub wyszukiwania różnych ilości danych. Bazy danych klucz-wartość są najczęściej używanymi bazami danych NoSQL ze względu na łatwość obsługi.
- Szerokokolumnowa baza danych: Ty mogłoby pomyśleć, że kolumnowa baza danych jest tym samym, co relacyjne bazy danych. Ale to tylko wygląd takich baz danych, które są podobne do typu relacyjnego. Powiedzieliśmy, że w bazach danych konieczne jest, aby liczba i rodzaj właściwości każdej jednostki oraz wartości w niej zawarte były znane i ustalone. Jednak każda kolumna w różnych rekordach może zawierać dane o różnych strukturach i typach w bazach danych kolumn.
- Baza dokumentów: We używać dokumentów JSON lub XML do przechowywania danych w takich bazach danych. Bazy danych dokumentów są powszechnie używane do przechowywania i wykorzystywania rozproszonych i nieustrukturyzowanych danych.
- Bazy danych wykresów: W tego typu bazach danych używamy wykresów do przechowywania jednostek i ich relacji. Graficzne bazy danych sprawdzają się w przypadkach, gdy musimy wykonać wiele połączeń pomiędzy tabelami.
- Wielomodelowe bazy danych: Wielomodelowe bazy danych stanowią kombinację innych typów baz danych. W tego typu bazach danych możemy przechowywać dane na różne sposoby i wykorzystywać je.
Zalety korzystania z NoSQL
Bazy danych NoSQL mają wiele zalet, które czynią je najlepszym wyborem dla dużych, rozproszonych systemów. Ogólnie rzecz biorąc, zalety te można podsumować w następujący sposób:
- Wysoki Skalowalność: Bazy danych NoSQL można łatwo rozszerzony ze skalowaniem poziomym. Ta funkcja zmniejsza złożoność i koszt skalowania oprogramowania.
- Wysoki Wydajność: W systemach rozproszonych NoSQL, dzięki automatycznemu powielaniu danych NoSQL na wielu serwerach na całym świecie, opóźnienie w wysłaniu odpowiedzi z serwera jest minimalizowane.
- Dostępność: W NoSQL systemach rozproszonych baza danych jest nadal dostępna i responsywna dzięki automatycznemu kopiowaniu danych na różnych serwerach, gdy jeden lub więcej serwerów staje się niedostępnych.
Wniosek
Odkryliśmy, że relacyjne bazy danych oparte na SQL, choć mają tę zaletę, że są ustrukturyzowane i regularne, nie nadają się do systemów nieustrukturyzowanych ani do analityki dużych zbiorów danych. Oznacza to, że w wielu dużych systemach takich jak wyszukiwarki, ich zaleta staje się największą wadą. Aby rozwiązać ten problem, wprowadzono bazy danych NoSQL, takie jak MongoDB. Bazy danych NoSQL można łatwo zastosować w systemach rozproszonych i poprawić ich wydajność. Czy korzystałeś kiedyś z relacyjnych baz danych? Co sądzisz o korzystaniu z tego typu baz danych?
Bezpłatne pobieranie motywów WordPressBezpłatne pobieranie motywów WordPressPobierz motywy WordPress za darmoPobierz bezpłatne motywy WordPress PremiumZG93bmxvYWQgbHluZGEgY291cnNlIGZyZWU=pobierz oprogramowanie HuaweiPobierz zerowe motywy WordPresspobierz płatny kurs Udemy za darmo