Czym jest baza danych? Definicja i typy
⚡ Inteligentne podsumowanie
Czym jest baza danych? Baza danych to systematyczny, ustrukturyzowany zbiór danych, który umożliwia elektroniczne przechowywanie, wyszukiwanie i zarządzanie. Obsługuje ona codzienne systemy, od książek telefonicznych po sieci społecznościowe, i jest obsługiwana przez oprogramowanie zwane systemem zarządzania bazą danych (DBMS).

Co to są dane?
W prostych słowach, dane To fakty dotyczące interesującego Cię obiektu. Twoje imię, wiek, wzrost i waga to dane o Tobie. Zdjęcia, obrazy, pliki i pliki PDF również mogą być traktowane jako dane, ponieważ zawierają informacje, które można przechowywać i przetwarzać.
Co to jest baza danych?
A baza danych Bazy danych to systematyczny zbiór danych. Bazy danych umożliwiają elektroniczne przechowywanie, wyszukiwanie i przetwarzanie danych, ułatwiając zarządzanie nimi na dużą skalę.
Rozważmy kilka znanych przykładów. Internetowa książka telefoniczna wykorzystuje bazę danych do przechowywania osób, numerów telefonów i danych kontaktowych. Dostawca energii elektrycznej korzysta z bazy danych do obsługi rozliczeń, obsługi problemów klientów i historii usterek. Facebook przechowuje członków, znajomych, posty, wiadomości, reklamy i wiele więcej – wszystko to znajduje się w bazach danych. Schemat jest taki sam we wszystkich branżach: organizuj informacje tak, aby aplikacje i użytkownicy mogli je niezawodnie wyszukiwać.
Rodzaje baz danych
Poniżej podsumowano najpopularniejsze typy baz danych. Każdy z nich jest dostosowany do konkretnego kształtu danych i obciążenia.
Rozproszone bazy danych
Rozproszona baza danych rozprasza dane w wielu lokalizacjach. Każda lokalizacja przechowuje własny fragment, a klienci widzą jedną logiczną bazę danych. Model ten jest powszechny w aplikacjach globalnych, które wymagają niskich opóźnień i lokalnej dostępności.
Relacyjne bazy danych
Relacyjna baza danych przechowuje dane w tabelach z wierszami i kolumnami i używa kluczy do powiązania jednej tabeli z drugą. Często nazywana systemem RDBMS, pozostaje najpopularniejszym systemem. DBMS rodzina na rynku. Przykłady obejmują MySQL, Oracle Database, PostgreSQL, Microsoft SQL Server.
Obiektowe bazy danych
Bazy danych obiektowe przechowują dane jako obiekty, z których każdy zawiera atrybuty i metody definiujące operacje dozwolone na danych. Są one w pełni odwzorowane na obiektowe języki programowania i eliminują potrzebę stosowania warstwy ORM.
Scentralizowana baza danych
Scentralizowana baza danych przechowuje wszystkie rekordy na jednym, centralnym serwerze. Użytkownicy łączą się z wielu lokalizacji do tego samego magazynu, co upraszcza administrację, ale sprawia, że serwer staje się punktem spornym.
Bazy danych typu open source
Bazy danych o otwartym kodzie źródłowym publikują swój kod źródłowy na podstawie licencji, dzięki czemu każdy może go używać, modyfikować i rozpowszechniać. MySQL, PostgreSQL, SQLite, MariaDB, MongoDB są szeroko rozpowszechnionymi przykładami.
Bazy danych w chmurze
Baza danych w chmurze jest zoptymalizowana pod kątem wirtualizowanej infrastruktury na żądanie. Jest dostarczana jako usługa zarządzana, elastycznie skaluje pamięć masową i moc obliczeniową oraz oferuje wysoką dostępność dzięki wbudowanej replikacji. Przykłady: Amazon RDS, Azure Baza danych SQL i Google Cloud Klucz do nakrętek.
Magazyn danych
A hurtownia danych Centralizuje dane historyczne i skumulowane z wielu systemów źródłowych, aby wspierać podejmowanie decyzji, raportowanie i prognozowanie. Upraszcza analitykę, zapewniając organizacji jedną, wiarygodną wersję prawdy.
Bazy danych NoSQL
Bazy danych NoSQL obsługują bardzo duże, często nieustrukturyzowane zbiory danych, które nie mieszczą się idealnie w wierszach i kolumnach. Bazy dokumentów, klucz-wartość, rodziny kolumn i grafów – każda z nich obsługuje inny wzorzec dostępu i zapewnia poziomą skalowalność, którą tradycyjne relacyjne bazy danych mają trudności z osiągnięciem.
Bazy danych wykresów
Baza danych grafowych wykorzystuje teorię grafów – węzły i krawędzie – do bezpośredniego przechowywania i wyszukiwania relacji. Idealnie nadaje się do wykrywania oszustw, silników rekomendacji i analizy sieci społecznościowych, gdzie powiązania między encjami są równie ważne, jak same encje.
Bazy danych OLTP
Bazy danych OLTP (Online Transaction Processing) koncentrują się na transakcjach o wysokiej przepustowości i niskim opóźnieniu w środowiskach wielodostępnych. Gwarantują one właściwości ACID i są dostrojone do wielu małych operacji odczytu i zapisu, które napędzają systemy operacyjne, takie jak systemy punktów sprzedaży i aplikacje bankowe.
Osobista baza danych
Baza danych osobista przechowuje dane na jednym komputerze dla jednego użytkownika lub małego zespołu. Microsoft Dostęp i SQLite są typowymi przykładami.
Multimodalna baza danych
Baza danych multimodalna obsługuje kilka modeli danych – na przykład dokument, wykres i klucz-wartość – w ramach jednego silnika. ArangoDB i Microsoft Azure Cosmos DB to popularne opcje multimodalne.
Baza dokumentów/JSON
W bazie danych zorientowanej na dokumenty każdy rekord jest samodzielnym dokumentem, zazwyczaj w formacie JSON, BSON lub XML. Pojedynczy dokument może zawierać bogato zagnieżdżone dane i zróżnicowane pola, co zapewnia elastyczność modelu w przypadku dynamicznie zmieniających się aplikacji. MongoDB i Couchbase są dobrze znanymi przykładami.
Baza danych hierarchiczna
Hierarchiczna baza danych wykorzystuje strukturę drzewa z relacjami nadrzędny-podrzędny. Węzły reprezentują rekordy, a gałęzie – pola. Windows Rejestr włączony Windows XP IBM IMS są klasycznym przykładem hierarchicznych baz danych.
Baza danych sieci
Sieciowy system DBMS obsługuje relacje wiele-do-wielu między rekordami, tworząc bardziej złożone struktury niż model hierarchiczny. Serwer RDM jest przykładem systemu zarządzania bazą danych, który implementuje model sieciowy.
Składniki bazy danych
Komponenty bazy danych.
Każda baza danych składa się z pięciu współpracujących ze sobą komponentów:
sprzęt komputerowy
Sprzęt to warstwa fizyczna – komputery, urządzenia wejścia/wyjścia, nośniki danych i sieci. Zapewnia interfejs między bazą danych a resztą świata.
Oprogramowanie
Oprogramowanie obejmuje wszystko, co zarządza bazą danych i ją kontroluje: sam system DBMS, system operacyjny, oprogramowanie sieciowe umożliwiające użytkownikom udostępnianie danych oraz aplikacje, które odczytują i zapisują dane za pomocą systemu DBMS.
Dane
Dane to surowe fakty, obserwacje, liczby, symbole i obrazy przechowywane w bazie danych. Same surowe dane nie mają znaczenia; baza danych porządkuje je i przetwarza, przekształcając w użyteczne informacje.
Procedury
Procedury to udokumentowane instrukcje i reguły regulujące sposób projektowania, obsługi i konserwacji bazy danych. Informują one administratorów i użytkowników, jak niezawodnie obsługiwać system.
Język dostępu do bazy danych
Język dostępu do bazy danych – najczęściej SQL – umożliwia użytkownikom i aplikacjom wstawianie, aktualizowanie, usuwanie i wyszukiwanie danych. Użytkownicy wydają określone polecenia, które system DBMS analizuje, planuje i wykonuje w pamięci masowej.
Co to jest system zarządzania bazami danych (DBMS)?
A System Zarządzania Bazą Danych (SZBD) to warstwa oprogramowania, która umożliwia użytkownikom definiowanie, przechowywanie, pobieranie, aktualizowanie i zabezpieczanie danych. DBMS koordynuje dostęp pomiędzy wieloma użytkownikami i aplikacjami, wymusza integralność i kontroluje, kto może co zobaczyć lub zmienić.
Technologia DBMS nie jest nowa — Charles Bachman Zintegrowany magazyn danych (IDS), zbudowany w General Electric na początku lat 1960. XX wieku, jest powszechnie uznawany za pierwszy system DBMS. Od tego czasu dziedzina ta ewoluowała, obejmując modele hierarchiczne, sieciowe, relacyjne, obiektowe i NoSQL, z których każdy odpowiadał na potrzeby kolejnej generacji obciążeń danych.
Historia systemów zarządzania bazami danych
Kamienie milowe poniżej tracewolucja technologii baz danych.
- 1960s — Charles Bachman projektuje pierwszy system DBMS (zintegrowany magazyn danych) w General Electric.
- 1968 Do IBM System Zarządzania Informacją Statku (IMS), jeden z pierwszych hierarchicznych systemów DBMS.
- 1970 — Edgar F. Codd publikuje „Relacyjny model danych dla dużych współdzielonych banków danych”, przedstawiając koncepcję modelu relacyjnego.
- 1976 — Peter Chen formalizuje model Entity-Relationship (ER).
- 1980s - model relacyjny staje się dominującym paradygmatem baz danych, a SQL zostaje ustandaryzowany.
- 1985 — Obiektowe systemy zarządzania bazami danych wydają się wpisywać w rosnącą popularność języków programowania obiektowego.
- 1990s — Funkcje obiektowo-relacyjne pojawiają się w głównych systemach RDBMS.
- 1992 Do Microsoft wydaje pierwszą wersję Microsoft Dostęp do baz danych osobowych.
- 1995 — Aplikacje internetowe zaczynają napędzać wykorzystanie baz danych na skalę internetową.
- 1997 — XML wprowadzany jest do baz danych zarówno jako format, jak i cel zapytania.
- 2009 — Termin NoSQL zyskuje tracponieważ zasoby dokumentów, kluczy i wartości oraz grafów rosną szybko.
- Lata 2010. i później — Bazy danych SQL w chmurze i rozproszone (Aurora, Spanner, CockroachDB) pojawiają się.
Zalety DBMS
Dobrze wdrożony system DBMS zapewnia organizacjom szereg praktycznych korzyści:
- Oferuje wiele technik efektywnego przechowywania i wyszukiwania danych.
- Równoważy potrzeby wielu aplikacji korzystających z tych samych danych.
- Zapewnia jednolite procedury administracyjne.
- Chroni programistów aplikacji przed szczegółami dotyczącymi przechowywania.
- Zapewnia integralność i bezpieczeństwo danych poprzez ograniczenia i kontrolę dostępu.
- Harmonogramuje równoczesny dostęp, tak aby tylko prawidłowe operacje zakończyły się sukcesem.
- Skraca czas tworzenia aplikacji dzięki możliwości ponownego wykorzystania usług.
Wady DBMS
Model DBMS ma również swoje wady:
- Koszty sprzętu i oprogramowania mogą być znaczne.
- Większość systemów jest skomplikowana, dlatego użytkownicy i administratorzy potrzebują szkoleń.
- Centralizacja danych w pojedynczej bazie danych stwarza ryzyko awarii, uszkodzenia lub ataku.
- Równoczesny dostęp wymaga starannego zaprojektowania, aby uniknąć utraty aktualizacji i blokad.
- System DBMS nie jest przeznaczony do wykonywania skomplikowanych obliczeń numerycznych; lepiej radzą sobie z tym obciążeniem specjalistyczne narzędzia.

