Bazy danych

Ukończone

Systemy plików są zwykle używane do przechowywania dowolnych danych jako plików na dyskach z pewną formą metadanych (np. nazwą pliku) do identyfikowania i lokalizowania tych plików. Systemy plików oferują podstawowe funkcje wyszukiwania i indeksowania. Wyszukiwanie zawartości plików w celu znalezienia potrzebnych informacji jest często trudnym i pracochłonnym procesem. Gdy dane są możliwe do ustrukturyzowania, typowo organizuje się je w bazie danych przy użyciu dobrze zdefiniowanego modelu (znanego również schematem). Poniższy film wideo zawiera omówienie baz danych:

Baza danych składa się ze zorganizowanej kolekcji danych do co najmniej jednego zastosowania, zazwyczaj w formie cyfrowej. Bazy danych to jedna z najpopularniejszych metod przechowywania i pobierania informacji w wielu typach aplikacji, w tym danych finansowych, produkcyjnych, biznesowych i kadrowych.

Przez lata bazy danych znacznie ewoluowały. W latach 60. XX wieku stosowany był model nawigacyjny, który przechowywał dane w formie rekordów ze wskaźnikami połączonymi z następnym i/lub poprzednim rekordem w bazie danych. Przykłady obejmują podejście CODASYL, które ostatecznie ewoluowało w język Common Business Oriented Language (COBOL). Podejście CODASYL było oparte na „ręcznej” nawigacji zestawu połączonych danych, który uformowano w dużą „sieć” połączonych danych, podobnie jak cykliczna lista połączona. Gdy baza danych była otwierana przez program po raz pierwszy, program otrzymywał łącze do pierwszego rekordu w bazie danych, który zawiera także wskaźniki do innych fragmentów danych. Aby znaleźć konkretny rekord, programista musiał przechodzić przez poszczególne wskaźniki, aż do momentu zwrócenia wymaganego rekordu. Proste zapytania, które agregowały informacje ze wszystkich rekordów, wymagały pełnego skanowania całej bazy danych — koncepcje takie jak wyszukiwanie czy indeksowanie jeszcze wtedy nie istniały. Podejście CODASYL było odpowiednie w erze, gdy taśmy magnetyczne były główną technologią magazynów trwałych, który można było odczytywać wyłącznie sekwencyjnie i nie miał właściwości dostępu losowego.

Pojawienie się modelu relacyjnej bazy danych i dalszy rozwój systemu R firmy IBM były głównymi kamieniami milowymi w rozwoju systemu bazy danych. Przez wiele dziesięcioleci systemy relacyjnych baz danych były jedynymi powszechnie używanymi bazami danych i były wyjątkowo udane. Wraz z rozwojem Internetu oraz potrzeby wysoce skalowalnych systemów, które mogą obsługiwać miliony równoczesnych żądań, pojawiły się systemy baz danych NoSQL. Jednakże ostatnio pojawiła się klasa systemów relacyjnych baz danych, zaprojektowana od podstaw, aby połączyć zalety obu modeli.

Typy systemów baz danych

Bieżące systemy baz danych można sklasyfikować według następujących typów:

Relacyjne bazy danych to klasyczne systemy, które były używane od dekad. Są zgodne z modelem relacyjnym reprezentowania danych jako relacji między jednostkami. Systemy relacyjnych baz danych zazwyczaj mają sztywny schemat, używają języka Structured Query Language (SQL) jako interfejsu do interakcji z bazą danych i typowo mają silne właściwości ACID.

Bazy danych NoSQL są nowym typem baz danych, które znacząco różnią się od systemów relacyjnych baz danych. Systemy NoSQL zazwyczaj nie wymuszają silnego schematu ani relacyjnego modelu danych. Zapewniają różne abstrakcje (na przykład magazyn kluczy-wartości), a nie interfejs przypominający SQL. Bazy danych NoSQL są skoncentrowane na skalowalności oraz wydajności i zazwyczaj nie mają silnych gwarancji transakcyjnych w przypadku operacji na bazach danych.

NewSQL to klasa nowoczesnych systemów relacyjnych baz danych, których celem jest zapewnianie tego samego poziomu wydajności i skalowalności co systemy NoSQL, jednocześnie utrzymując pewien stopień właściwości ACID oferowanych przez systemy relacyjnych baz danych.