Pomiń nawigację

Co to są bazy danych?

Definicje, typy i przykłady baz danych

Co to są bazy danych?

W swojej najbardziej podstawowej definicji baza danych to dowolna kolekcja powiązanych ze sobą informacji. Gdy piszesz listę zakupów na kartce papieru, tworzysz małą, analogową bazę danych. Ale czym jest baza danych w informatyce? W tym kontekście definiujesz „bazę danych” jako kolekcję informacji przechowywanych jako dane w systemie komputerowym, takie jak zapasy w lokalnym sklepie spożywczym.

Jakie są zastosowania baz danych?

Bazy danych służą do przechowywania i organizowania danych, aby ułatwić zarządzanie danymi i uzyskiwanie do nich dostępu. Wraz ze wzrostem i większą złożonością kolekcji danych utrzymanie porządku, dostępności i bezpieczeństwa staje się coraz trudniejsze. Aby to ułatwić, należy używać systemów zarządzania bazami danych (DBMS), które obejmują warstwę narzędzi do zarządzania.

Co to są dane?

Dane odnoszą się do wszystkich informacji, które są przechwytywane i przechowywane na temat jednej osoby, miejsca, rzeczy lub obiektu — nazywanego jednostką — a także atrybutów tej jednostki.

Jeśli na przykład przechwytujesz i przechowujesz informacje o lokalnych restauracjach, każda restauracja jest jedną jednostką, a jej nazwa, adres i godziny pracy są atrybutami tej jednostki. Wszystkie zbierane i przechowywane informacje o ulubionych restauracjach to dane.

Typy baz danych

Bazy danych ogólnie dzielą się na relacyjne i nierelacyjne bazy danych. Relacyjne bazy danych mają zaawansowaną strukturę i rozumieją język programowania o nazwie Structured Query Language (SQL). Nierelacyjne bazy danych są wysoce zróżnicowane i obsługują różne struktury danych. Ponieważ wiele nierelacyjnych baz danych nie używa języka SQL, są one często nazywane bazami danych NoSQL.

Typy struktur danych

Struktury tabel to struktury relacyjnych baz danych, które porządkują dane w wierszach i kolumnach — wiersze zawierają jednostki, a kolumny zawierają atrybuty jednostki. Szerokie tabele lub szerokie magazyny kolumn używają kolumn rozrzedzonych z pustymi atrybutami, aby znacznie zwiększyć całkowitą liczbę kolumn, która może znajdować się w tabeli. Ponieważ niektóre miejsca są puste, szerokie tabele są przykładem nierelacyjnej struktury bazy danych.

Struktury liniowe organizują elementy w sekwencję.

Tablica

Lista połączona

Drzewo binarne

Struktury drzew organizują elementy w hierarchiczną bazę danych węzłów w relacjach nadrzędny-podrzędny, które wywodzą się z jednego węzła głównego.

Grafowa

Struktury grafów organizują elementy w niehierarchiczną sieć węzłów o złożonych relacjach między sobą.

Tabela skrótów

Struktury oparte na skrótach mapują klucze na wartości przy użyciu funkcji skrótu, które kojarzą powiązane dane, przypisując indeksy do tabel skrótów.

Bazy danych zorientowane na obsługę dokumentów

Bazy danych zorientowane na obsługę dokumentów organizują ilości informacji o jednostce w ramach pojedynczego obiektu (dokument), który jest oddzielony od innych obiektów. Obiekty nie muszą być mapowane względem siebie, a pojedynczy może być edytowany bez wpływu na inne obiekty.

Relacyjne bazy danych

W relacyjnej bazie danych — najczęściej spotykanym typie — dane są zorganizowane w tabele, które przechowują informacje o każdej jednostce i reprezentują wstępnie zdefiniowane kategorie za pośrednictwem wierszy i kolumn. Te dane ze strukturą są zarówno wydajne, jak i elastyczne w dostępie.

Przykłady relacyjnych baz danych to SQL Server, Azure SQL, MySQL, PostgreSQL i MariaDB.

Nierelacyjne bazy danych

Nierelacyjne bazy danych przechowują dane bez struktury lub z częściową strukturą. Nie używają tabeli z kolumnami i wierszami w sposób, jaki to robią relacyjne bazy danych. Zamiast tego używają modelu magazynu zoptymalizowanego pod kątem określonych wymagań dotyczących typu przechowywanych danych. Nierelacyjne bazy danych umożliwiają szybki dostęp do większych zestawów rozproszonych danych, ich zaktualizowanie i analizowanie.

Przykłady nierelacyjnych baz danych obejmują MongoDB, Azure Cosmos DB, DocumentDB, Cassandra, Couchbase, HBase, Redis oraz Neo4j.

Niektóre nierelacyjne bazy danych są określane jako bazy danych NoSQL. NoSQL odnosi się do magazynów danych, które nie używają języka SQL lub nie tylko języka SQL na potrzeby zapytań. Zamiast tego bazy danych NoSQL używają innych języków programowania i konstrukcji do wykonywania zapytań o dane. Wiele baz danych NoSQL obsługuje zapytania zgodne z językiem SQL, ale sposób ich wykonywania różni się zwykle od sposobu wykonywania tego samego zapytania SQL przez tradycyjną relacyjną bazę danych.

Jeden z typów nierelacyjnej bazy danych — baza danych obiektów — korzysta z programowania zorientowanego obiektowo. Obiekty mają zakodowany stan (dane faktyczne), który jest przechowywany w polu lub zmiennej oraz zachowanie, które jest wyświetlane za pomocą metody lub funkcji. Obiekty mogą być przechowywane w magazynie trwałym w nieskończoność oraz odczytywane i mapowane bezpośrednio bez interfejsu API lub narzędzia, co zapewnia szybszy dostęp do danych i lepszą wydajność. Jednak bazy danych obiektów nie są tak popularne jak inne typy baz danych i ich obsługa może być trudna.

Bazy danych w pamięci i pamięci podręczne

Wszystkie dane w bazie danych w pamięci są przechowywane w pamięci RAM komputera. Podczas wykonywania zapytań lub aktualizowania tego typu bazy danych uzyskujesz bezpośredni dostęp do pamięci głównej. Dysk nie bierze udziału. Dane są ładowane szybko, ponieważ uzyskiwanie dostępu do pamięci głównej (która znajduje się w pobliżu procesora na płycie głównej) jest znacznie szybsze niż uzyskiwanie dostępu do dysku.

Bazy danych w pamięci są często używane do przechowywania kopii często używanych informacji, takich jak ceny lub dane spisu. To tzw. buforowanie. Gdy buforujesz dane, przechowujesz ich kopię w lokalizacji tymczasowej, aby ładowały się szybciej przy następnym żądaniu. Dowiedz się więcej o buforowaniu.

Przykłady baz danych

Bazy danych mogą wydawać się zagadkowe, ale większość z nas wchodzi z nimi w interakcje codziennie. Oto kilka typowych przykładów relacyjnych baz danych, baz danych NoSQL oraz baz danych w pamięci:

Transakcje finansowe

Banki wykorzystują bazy danych do śledzenia transakcji klientów — wszystkiego, od zapytań o saldo po przelewy między kontami. Te transakcje muszą odbywać się niemal natychmiast, a dane z ogromnych ilości transakcji muszą być zawsze aktualne. W tym celu banki korzystają z systemów przetwarzania transakcyjnego online utworzonych z relacyjnych baz danych, które mogą obsługiwać dużą liczbę klientów, częste zmiany danych związane z transakcjami i krótkie czasy odpowiedzi.

Katalogi handlu elektronicznego

Jeśli masz witrynę internetową handlu elektronicznego, Twój katalog zawiera pojedyncze produkty, z których każdy ma własną gamę atrybutów. Baza danych zorientowana na obsługę dokumentów — przykład nierelacyjnej bazy danych — używa poszczególnych dokumentów do opisania wszystkich atrybutów pojedynczego produktu. Możesz zmienić atrybuty w dokumencie bez wpływu na inne produkty. Bazy danych w pamięci są często używane do buforowania często używanych danych handlu elektronicznego, takich jak spis i cennik, aby przyspieszyć pobieranie danych i zmniejszyć obciążenie bazy danych.

Sieci społecznościowe

Po dołączeniu do sieci społecznościowej informacje o Tobie są dodawane do nierelacyjnej bazy danych wszystkich użytkowników tej sieci. Gdy łączysz się z innymi osobami w ramach tej sieci, stajesz się częścią wykresu społecznościowego. To dlatego możesz zobaczyć przefiltrowaną listę swoich znajomych lub kontaktów zawodowych i odkrywać nowe osoby, które ci znajomi i kontakty znają.

Spersonalizowane wyniki

Nierelacyjne bazy danych wpływają na personalizację w trybie online, która stała się tak powszechna, że możesz nawet jej nie zauważyć. Jeśli zarezerwujesz lot za pośrednictwem witryny internetowej dotyczącej podróży, zobaczysz również opcje rezerwacji hoteli i samochodów do wypożyczenia. Baza danych witryny internetowej zawiera wiele nieprzetworzonych informacji — szczegóły lotu, preferencje dotyczące podróży, poprzednie rezerwacje samochodu lub hotelu — które są wykorzystywane do dostarczania Ci spersonalizowanych sugestii, aby zaoszczędzić Twój czas, pieniądze lub nakład pracy. Podobnie bazy danych w pamięci są używane jako magazyn sesji do efektywnego przechowywania tymczasowych danych użytkowników, takich jak preferencje wyszukiwania lub koszyk, podczas korzystania z aplikacji.

Analiza biznesowa

Gdy organizacje chcą wyciągnąć wnioski z własnych danych, relacyjne bazy danych pomagają im zarządzać analizami. Na przykład dział pomocy technicznej może śledzić problemy klientów w różnych wymiarach, w tym rodzaj problemu, czas rozwiązania problemu i zadowolenie klienta. Relacyjna baza danych korzystająca ze struktury tabel organizuje dane dotyczące problemów klientów przy użyciu tylko dwóch wymiarów jednocześnie, ale w przypadku systemu przetwarzania analitycznego online dział pomocy technicznej może przeglądać więcej niż jedną tabelę jednocześnie, umożliwiając analizę wielowymiarową na potrzeby przetwarzania dużych ilości danych z dużą szybkością.

Systemy zarządzania bazami danych

Administratorzy baz danych używają systemów zarządzania bazami danych (DBMS) do kontrolowania danych — szczególnie w przypadku pracy z danymi big data. Dane big data to duże ilości danych bez struktury i ze strukturą, które często są odbierane przez system w czasie rzeczywistym lub prawie w czasie rzeczywistym. System DBMS ułatwia również zarządzanie danymi używanymi w wielu aplikacjach lub danymi, które znajdują się w wielu lokalizacjach.

Różne systemy zarządzania oferują różne poziomy organizacji, skalowalności i aplikacji. Oprócz typu danych, które chcesz zorganizować, i sposobu dostępu do nich, używany system DBMS zależy również od miejsca, w którym znajdują się Twoje dane, typu architektury używanej przez bazę danych oraz sposobu, w jaki zamierzasz skalować.

Czy Twoje dane umieszczone są lokalnie, w chmurze czy w obu tych środowiskach?

W przypadku lokalnych baz danych dane znajdują się na prywatnym sprzęcie na miejscu (często nazywanym chmurą prywatną). Aby zwiększyć pojemność danych, administratorzy baz danych muszą albo upewnić się, że serwery na miejscu mają wystarczająco dużo wolnego miejsca, albo powiększyć swoją infrastrukturę o nowy sprzęt, aby utworzyć miejsce.

W przypadku baz danych opartych na chmurze dane ze strukturą lub bez struktury znajdują się na prywatnej, publicznej lub hybrydowej platformie przetwarzania w chmurze (tj. platformie łączącej magazyn w chmurze prywatnej i publicznej). Ponieważ bazy danych w chmurze są przeznaczone dla środowiska zwirtualizowanego, są one zarówno wysoce skalowalne, jak i dostępne. Pomagają one również obniżyć koszty, ponieważ nie trzeba kupować tyle sprzętu, a płacisz tylko za magazyn, z którego korzystasz.

Czy Twoja architektura bazy danych jest scentralizowana, rozproszona czy federacyjna?

W scentralizowanej bazie danych wszystkie dane znajdują się w jednym systemie, w jednym miejscu. Ten jeden system jest punktem dostępu dla wszystkich użytkowników.

Rozproszona baza danych może obejmować zarówno relacyjne, jak i nierelacyjne typy baz danych. W rozproszonych bazach danych dane są przechowywane w wielu lokalizacjach fizycznych, na wielu komputerach lokalnych lub są rozproszone w sieci połączonych ze sobą komputerów.

W przypadku federacyjnej bazy danych kilka odrębnych baz danych, które działają na niezależnych serwerach, są zjednoczone w jeden duży obiekt. Łańcuch bloków to typ federacyjnej bazy danych, który służy do bezpiecznego zarządzania rejestrami finansowymi i innymi rekordami transakcji.

Jak zareagujesz na wzrost ilości danych, będziesz skalować w górę czy w poziomie?

Skalowanie w górę (lub w dół) nazywane również skalowaniem w pionie to proces dodawania zasobów, takich jak pamięć lub bardziej zaawansowane procesory CPU, do istniejącego serwera.

W ramach skalowania w poziomie (lub w pionie) jest dodawanych więcej maszyn do puli zasobów.

Skalowanie w poziomie zamiast skalowania w pionie wydłuża cykl życia istniejącego sprzętu, umożliwia uaktualnienie bez uzależnienia od dostawcy, zmniejsza koszty i tworzy długoterminowy potencjał elastyczności.

Bazy danych platformy Azure

Uprość operacje na danych dzięki w pełni zarządzanym bazom danych, które automatyzują skalowalność, dostępność i zabezpieczenia. Wybieraj spośród relacyjnych baz danych, baz danych NoSQL i baz danych w pamięci. Dostępne opcje obejmują aparaty własnościowe oraz typu open source.

Informacje na temat rodziny produktów baz danych Azure SQL

Ujednolić portfolio usług SQL bez uszczerbku dla zgodności. Migruj, modernizuj i wdrażaj aplikacje po swojemu, od urządzeń brzegowych do chmury, przy użyciu znanej technologii SQL Server.

Skalowanie bez obaw za pomocą usługi Azure Database for PostgreSQL

Usługa Azure Database for PostgreSQL umożliwia szybkie i pewne skalowanie obciążenia dzięki wysokiej dostępności, optymalizacji wydajności opartej o sztuczną inteligencję i zaawansowanym zabezpieczeniom.

Dowiedz się więcej o usłudze Azure PostgreSQL

Tworzenie aplikacji o wysokiej wydajności za pomocą usługi Azure Cosmos DB

Azure Cosmos DB to w pełni zarządzana baza danych NoSQL z otwartymi interfejsami API i gwarantowaną szybkością w dowolnej skali.

Dowiedz się więcej o usłudze Azure Cosmos DB

Wydajna obsługa dużego natężenia ruchu przy użyciu usługi Azure Cache for Redis

Usługa Azure Cache for Redis pomaga niemal natychmiastowo w jednoczesnej obsłudze tysięcy użytkowników, dodając warstwę szybkiego buforowania do architektury Twojej aplikacji.

Dowiedz się więcej o usłudze Azure Cache for Redis