1/52Bazy danych – Historia baz danych

Od glinianych żetonów do chmury – 10 000 lat przechowywania informacji

Prezentacja poświęcona historii systemów przechowywania i zarządzania danymi – od pierwszych glinianych żetonów w neolicie, przez papier, karty perforowane, aż po współczesne bazy danych w chmurze.

Omówione zostaną najważniejsze etapy ewolucji baz danych, kluczowe postacie, przełomowe technologie oraz lekcje płynące z historii.

Baza danych – zorganizowany zbiór danych wraz z systemem zarządzania umożliwiającym wydajny dostęp, modyfikację i utrzymanie spójności.
Oś czasu 10 000 lat – od glinianej tabliczki do chmury obliczeniowej

Zrozumienie dziejów przechowywania informacji wymaga spojrzenia na zmieniającą się relację między nośnikiem a treścią. W erze przedpiśmiennej dane były nierozerwalnie związane z fizycznym przedmiotem – każdy żeton reprezentował konkretną liczbę owiec czy miarę zboża. Dopiero wynalezienie pisma umożliwiło oddzielenie informacji od kontekstu sytuacyjnego, co stanowiło fundamentalny skok abstrakcyjny w dziejach ludzkości.

Topografia ewolucji systemów bazodanowych ujawnia wyraźną prawidłowość – każda kolejna generacja technologii rozwiązywała ograniczenia poprzedniej, jednocześnie wprowadzając nowe kompromisy. Systemy plikowe oferowały prostotę, ale generowały problem niespójności. Modele nawigacyjne zapewniały wydajność kosztem elastyczności. Model relacyjny przyniósł deklaratywność, jednak okupioną narzutem obliczeniowym przy złączeniach. Z kolei ruch NoSQL poświęcił silną spójność na rzecz skalowalności poziomej.

Współczesny inżynier danych dysponuje spektrum narzędzi, które jeszcze trzydzieści lat temu byłyby uznane za science fiction. Rozproszone silniki zapytań, bazy wektorowe obsługujące embeddingi sieci neuronowych czy w pełni zarządzane usługi chmurowe stanowią obecnie standard wyposażenia warsztatowego. Świadomy wybór odpowiedniej technologii wymaga jednak zrozumienia kontekstu historycznego, w którym dane rozwiązanie powstało i na jakie pytania projektowe miało odpowiadać.

LiteraturaBazy danych – Historia baz danych
2/52Streszczenie – mapa prezentacji

Plan podróży przez 10 000 lat danych

Prezentacja podzielona jest na siedem części:

  • Część I: Prehistoria – era analogowa (~10 000 p.n.e. – 1890) – gliniane żetony, bullae, tabliczki klinowe, papirus, pergamin, papier, quipu, karty perforowane
  • Część II: Era maszyn liczących (1890–1960) – taśmy, dyski, plikowe systemy danych
  • Część III: Era nawigacyjna (1960–1970) – modele hierarchiczne i sieciowe, IMS, CODASYL
  • Część IV: Rewolucja relacyjna (1970–1990) – Codd, SQL, Oracle, DB2
  • Część V: Rozszerzenia i specjalizacje (1980–2000) – obiektowe, hurtownie, XML
  • Część VI: Era nowoczesna i przyszłość (2000–teraz) – NoSQL, Big Data, NewSQL, chmura
  • Część VII: Zakończenie – podsumowanie, bibliografia
Kluczowa myśl: Każda nowa era nie zastępuje całkowicie poprzedniej – raczej rozszerza możliwości i wybór narzędzi.
Mapa myśli – 7 części prezentacji połączonych strzałkami

Periodyzacja historii baz danych, choć umowna, odzwierciedla rzeczywiste przesunięcia paradygmatów w myśleniu o organizacji informacji. Granice między poszczególnymi epokami są jednak rozmyte – technologia IMS, będąca sztandarowym przykładem ery nawigacyjnej, powstała w 1966 roku i funkcjonuje w sektorze finansowym do dnia dzisiejszego, podczas gdy relacyjny PostgreSQL narodził się w połowie lat osiemdziesiątych i wciąż podlega intensywnemu rozwojowi.

Dynamika zmian w badanym obszarze ulega stałemu przyspieszeniu. Era przedpiśmienna trwała około dziesięciu tysięcy lat, pierwsze systemy komputerowe zdominowały krajobraz na siedem dekad, zaś kolejne paradygmaty – nawigacyjny, relacyjny, obiektowy i NoSQL – następowały po sobie w odstępach zaledwie dziesięcio- lub piętnastoletnich. To skrócenie cyklu życia technologii nakłada na specjalistów IT obowiązek permanentnego doskonalenia kompetencji.

Wybór odpowiedniego systemu zarządzania danymi nie sprowadza się dziś do prostej opozycji relacyjne versus nierelacyjne. Współczesne projekty coraz częściej przyjmują architekturę poliglotyczną, w której różne silniki bazodanowe obsługują różne obciążenia w ramach jednego systemu informatycznego. Znajomość szerszego kontekstu historycznego ułatwia podejmowanie świadomych decyzji architektonicznych i unikanie błędów, które popełniono już wcześniej.

3/52Co to jest baza danych?

Definicja i cechy charakterystyczne

Baza danych to zorganizowany, trwały zbiór danych, którym zarządza dedykowany system oprogramowania (DBMS – Database Management System).

Cztery kluczowe cechy:

CechaOpis
TrwałośćDane przetrwają awarię zasilania i zamknięcie aplikacji
OrganizacjaDane uporządkowane według z góry zdefiniowanego schematu
WspółdzielenieWielu użytkowników może jednocześnie czytać i modyfikować dane
Wydajny dostępMożliwość szybkiego wyszukiwania bez przeglądania całego zbioru
Definicja praktyczna: Baza danych to coś więcej niż plik – to system, który dba o spójność, bezpieczeństwo i wydajność dostępu do danych.
Schemat – DBMS jako warstwa między aplikacją a danymi

Rozróżnienie pomiędzy bazą danych jako zbiorem informacji a systemem zarządzania tym zbiorem ma fundamentalne znaczenie dla zrozumienia architektury współczesnych systemów informatycznych. DBMS, czyli oprogramowanie pośredniczące między fizycznym magazynem danych a aplikacjami użytkownika, realizuje kluczowe funkcje, takie jak kontrola współbieżności, zarządzanie transakcjami, odtwarzanie po awarii oraz autoryzacja dostępu. Przykładami takich systemów są Oracle, PostgreSQL, MySQL czy Microsoft SQL Server.

Granice definicji bazy danych przesuwają się wraz z postępem technologicznym. Współczesne systemy określane mianem bazodanowych często nie spełniają wszystkich kryteriów klasycznej definicji Codda – relacyjność, nienaruszalność referencyjna czy obsługa transakcji ACID nie są już niepodważalnymi wymogami. MongoDB, Cassandra czy Redis przechowują dane w modelu dokumentowym, kolumnowym lub typu klucz–wartość, a mimo to powszechnie klasyfikuje się je jako bazy danych.

Z historycznego punktu widzenia ewolucja definicji bazy danych odzwierciedla szerszy trend w informatyce – odejście od uniwersalnych rozwiązań na rzecz specjalizowanych narzędzi dostosowanych do konkretnych obciążeń. W latach siedemdziesiątych model relacyjny wydawał się ostateczną odpowiedzią na wszystkie problemy przechowywania danych. Dziś wiemy, że różne klasy problemów wymagają różnych modeli danych i różnych gwarancji dotyczących spójności oraz dostępności.

4/52Paleolit – zanim powstało pismo

Pierwsze próby utrwalania informacji

Najstarsze znane zapisy danych pochodzą z paleolitu górnego (~40 000–10 000 p.n.e.):

  • Malowidła naskalne (Lascaux, Francja ~17 000 p.n.e.) – obrazy zwierząt, sceny polowań – pierwsza "baza wiedzy" o środowisku
  • Kość Ishango (Kongo ~20 000 p.n.e.) – kość pawiana z nacięciami, najstarsze znane narzędzie liczbowe
  • Nacięcia na kościach i patykach (tally sticks) – systemy liczenia w Europie i Azji
  • Znaki geometryczne w jaskiniach – możliwe systemy liczenia lub kalendarze
Kość Ishango – najstarsze znane narzędzie do przechowywania danych liczbowych. Nacięcia sugerują znajomość liczb pierwszych i systemu lunarnego.
Kość Ishango – zdjęcie kości z nacięciami, paleolit

Odkryta w 1950 roku w Demokratycznej Republice Konga kość Ishango stanowi jedno z najbardziej intrygujących świadectw paleolitycznych praktyk rejestracji danych. Nacięcia zgrupowane w trzech kolumnach sumują się do wartości sugerujących znajomość ciągu liczb pierwszych – 11, 13, 17 i 19 – co skłoniło część badaczy do wysunięcia hipotezy o prehistorycznym kalendarzu księżycowym. Niezależnie od interpretacji artefakt dowodzi, że potrzeba utrwalania informacji liczbowych towarzyszy człowiekowi od co najmniej dwudziestu tysięcy lat.

Patyki nacięte zwane tally sticks stanowią interesujący analog dzisiejszych mechanizmów backupu i audytu. W angielskim systemie podatkowym funkcjonowały one aż do XIX wieku – nacięty patyk rozłupywano wzdłuż na dwie połowy, z których jedna trafiała do podatnika, a druga pozostawała w urzędzie skarbowym. Każda ze stron mogła w każdej chwili zweryfikować zgodność danych, co stanowiło fizyczną implementację kontroli integralności.

Technika tally sticks ujawnia uniwersalną zasadę rządzącą systemami informatycznymi: niezawodność przechowywania danych rośnie wraz z redundancją i możliwością krzyżowej weryfikacji. Mimo że narzędzia zmieniły się nie do poznania, podstawowe problemy – autoryzacja, integralność, odtwarzalność – pozostają te same od stuleci. Współczesne bazy danych jedynie automatyzują mechanizmy, które nasi przodkowie implementowali w drewnie i kości.

5/52Żetony gliniane – neolityczne bazy danych

Pierwsze "rekordy" w historii

Około 7500 roku p.n.e. na Bliskim Wschodzie pojawiły się gliniane żetony – małe, ręcznie formowane obiekty w różnych kształtach:

  • Każdy kształt = inny towar: stożek (zboże), kula (olej), dysk (owca), cylinder (bydło)
  • System tokenowy – pierwszy abstrakcyjny system przechowywania danych ilościowych
  • Używany przez ~5000 lat (!) – od neolitu po wczesną epokę brązu
  • Klasyfikacja: tokeny proste (geometryczne) i złożone (z nacięciami, perforacją)
Denise Schmandt-Besserat – badaczka, która odkryła, że żetony gliniane są prekursorami pisma. Jej książka "How Writing Came About" (1996) to fundamentalne dzieło o początkach przechowywania danych.
Zbiór glinianych żetonów w różnych kształtach – Mezopotamia

System żetonów glinianych, udokumentowany przez Denise Schmandt-Besserat w jej wieloletnich badaniach nad kolekcjami muzealnymi, stanowi najwcześniejszy znany przykład abstrakcyjnego systemu reprezentacji danych ilościowych. Każdy z geometrycznych kształtów odpowiadał określonej kategorii towaru – stożek symbolizował zboże, kula olej, a dysk owcę – co pozwalało na jednoznaczne kodowanie informacji ekonomicznych bez użycia pisma. System ten pozostawał w ciągłym użyciu przez około pięć tysięcy lat, co świadczy o jego praktycznej skuteczności.

Fascynującym aspektem żetonów jest ich rola jako prekursorów typów danych w dzisiejszym rozumieniu. Stożek można interpretować jako odpowiednik typu całkowitoliczbowego, kulę jako liczbę zmiennoprzecinkową, a dysk jako typ wyliczeniowy. Współczesne systemy bazodanowe oferują oczywiście bogatszy system typów, ale podstawowa idea – powiązanie kształtu nośnika z kategorią informacji – pozostała niezmieniona.

Co szczególnie istotne z punktu widzenia historii informatyki, żetony gliniane funkcjonowały równolegle z pismem klinowym przez kolejne tysiąc pięćset lat po jego wynalezieniu. Dowodzi to, że nowe technologie rzadko całkowicie wypierają stare – raczej zajmują wyższe piętro w hierarchii abstrakcji, podczas gdy prostsze rozwiązania wciąż znajdują zastosowanie w kontekstach wymagających niskiego progu wejścia.

6/52Bullae – bazy danych z indeksem

Pierwszy indeks w historii

Około 3500 roku p.n.e. w Mezopotamii pojawiły się bullae – gliniane kule służące jako "koperty" dla żetonów:

  • Pusta gliniana kula (5-9 cm średnicy) wypełniona żetonami
  • Żetony odciśnięte na zewnętrznej powierzchni – kto widział kulę, wiedział, co jest w środku
  • Kula wypalana – zabezpieczenie przed manipulacją (pierwsza "integralność danych")
  • Około 150 bulli odkrytych na stanowiskach mezopotamskich
Bullae to pierwsze znane bazy danych z indeksem: odciski na zewnątrz pełniły funkcję indeksu, który pozwalał sprawdzić zawartość bez otwierania "bazy".
Gliniana bulla z odciskami żetonów – Mezopotamia, 3500 p.n.e.

Bullae stanowią przełomowy moment w ewolucji przechowywania danych, gdyż wprowadziły koncepcję metadanych oddzielonych od samej treści. Początkowo gliniana kula pełniła funkcję koperty zabezpieczającej żetony przed modyfikacją – jednakże aby sprawdzić zawartość, trzeba było kulę rozbić, co niszczyło nośnik. Rozwiązanie okazało się genialne w swej prostocie: przed wypaleniem odciskano żetony na zewnętrznej powierzchni kuli, tworząc indeks umożliwiający wgląd bez naruszania integralności.

To przejście od trójwymiarowej reprezentacji danych do dwuwymiarowej jest jednym z najważniejszych momentów w historii technologii informacyjnych. Gdy okazało się, że odciski na zewnątrz bulli wystarczają do przechowania informacji, sama kula stała się zbędna – wystarczyła płaska tabliczka z wyciśniętymi znakami. W ten sposób wynaleziono pismo, początkowo wyłącznie jako narzędzie rachunkowości i administracji.

Współczesne systemy indeksowania w bazach danych, takie jak B-drzewa czy indeksy haszujące, realizują dokładnie tę samą funkcję co odciski na bullae – umożliwiają szybkie zlokalizowanie danych bez sekwencyjnego przeszukiwania całego zbioru. Różnica polega wyłącznie na skali i technologii implementacji, podczas gdy fundamentalna zasada oddzielenia metadanych od danych pozostała niezmieniona od ponad pięciu tysięcy lat.

7/52Gliniane tabliczki i pismo klinowe

Narodziny pisma jako narzędzia do zarządzania danymi

Około 3100 roku p.n.e. w Sumerze bulla ewoluowała w płaską tabliczkę, a odciski żetonów w systematyczne znaki:

  • Pismo klinowe – pierwszy system pisma na świecie, stworzony dla potrzeb administracji i księgowości
  • Tabliczki zawierały: spisy majątku, rejestry podatkowe, umowy handlowe, raporty z plonów
  • Tabliczki wypalane (trwałość archiwalna) lub suszone (możliwość korekty – "nadpisywanie")
  • Skrybowie sumeryjscy to pierwsi "administratorzy baz danych"
Pierwsze pismo na świecie powstało nie po to, by pisać poezję – ale by prowadzić bazę danych. Najstarsze tabliczki to rejestry gospodarcze, nie teksty literackie.
Sumeryjska tabliczka z pismem klinowym – spis majątku

Najstarsze tabliczki pochodzące z miasta Uruk w południowej Mezopotamii zawierają wyłącznie dane gospodarcze – spisy inwentarza, rejestry transakcji i raporty o plonach. Piktogramy wyobrażające towary stopniowo ulegały uproszczeniu i abstraktyzacji, aż przekształciły się w klinowe znaki fonetyczne. Przełomowym momentem było oderwanie symbolu od desygnatu – znak głowy z miską przestał oznaczać jedzenie, a zaczął oznaczać czasownik jeść, co umożliwiło zapisanie dowolnego tekstu.

Skrybowie sumeryjscy pełnili funkcję zbliżoną do dzisiejszych administratorów baz danych. Odpowiadali za poprawność zapisu, trwałość nośnika oraz organizację archiwów, w których tabliczki przechowywano posegregowane tematycznie i chronologicznie. Niektóre archiwa liczyły tysiące tabliczek i były wyposażone w gliniane etykiety pełniące funkcję indeksów, co stanowiło pierwowzór dzisiejszych katalogów i metadanych.

Warto podkreślić, że pismo klinowe przetrwało w użyciu przez około trzy tysiące lat – dłużej niż jakikolwiek współczesny język programowania. System został wyparty dopiero w pierwszych wiekach naszej ery przez alfabet aramejski i grekę. Ta stabilność wynikała z faktu, że pismo klinowe było nierozerwalnie związane z biurokracją imperiów Mezopotamii, która przez tysiąclecia stanowiła dominującą formę organizacji politycznej regionu.

8/52Biblioteki starożytne – hurtownie danych

Zorganizowane zbiory informacji w starożytności

  • Biblioteka Asurbanipala (Niniwa, VII wiek p.n.e.) – ~30 000 glinianych tabliczek, skatalogowanych i posegregowanych
  • Biblioteka Aleksandryjska (III wiek p.n.e.) – największy zbiór starożytności, ~40 000–400 000 zwojów papirusu (szacunki historyków)
  • Katalogowanie – tabliczki z metadanymi (tytuł, autor, treść), półki tematyczne
  • Callimachus z Cyreny – stworzył Pinakes (tabele), pierwszy systematyczny katalog biblioteczny
Biblioteka Asurbanipala to pierwsza znana "hurtownia danych" – zorganizowany, skatalogowany, przeszukiwalny zbiór informacji.
Rekonstrukcja biblioteki Asurbanipala – półki z tabliczkami

Biblioteka Asurbanipala w Niniwie stanowi jeden z najwcześniejszych przykładów systematycznie zarządzanego repozytorium wiedzy. Każda z około trzydziestu tysięcy glinianych tabliczek posiadała metrykę z tytułem, numerem seryjnym oraz pieczęcią własnościową króla. Kolekcja obejmowała teksty medyczne, astronomiczne, matematyczne i słowniki wielojęzyczne, posegregowane według dziedziny na oznaczonych półkach, co można uznać za prekursorski system klasyfikacji tematycznej.

Biblioteka Aleksandryjska reprezentowała skalę o rząd wielkości większą – gromadziła około pół miliona zwojów papirusu. Callimachus z Cyreny opracował Pinakes, czyli sto dwadzieścia tablic stanowiących systematyczny katalog zbiorów podzielonych według gatunków literackich i autorów. System umożliwiał czytelnikom zlokalizowanie konkretnego dzieła bez fizycznego przeszukiwania całego księgozbioru.

Mechanizmy stosowane w starożytnych bibliotekach – katalogowanie, klasyfikacja, metadane i indeksowanie – stanowią bezpośrednie prototypy rozwiązań stosowanych we współczesnych hurtowniach danych. Różnica polega przede wszystkim na automatyzacji i skali: to, co w Aleksandrii wymagało armii skrybów i lat pracy, dziś realizowane jest przez procesy ETL i indeksy bitmapowe na klastrach liczących setki węzłów.

9/52Papirus – lżejszy nośnik danych

Rewolucja w mobilności informacji

Papirus – materiał piśmienny wytwarzany z cibory papirusowej – zrewolucjonizował przechowywanie danych:

  • Egipt ~2400 p.n.e. – najstarsze zachowane egzemplarze (być może używany już ~3000 p.n.e.)
  • Produkcja: łodyga rośliny → cienkie paski → dwie warstwy prasowane na krzyż → suszenie
  • Zalety: lekki, elastyczny, łatwy w transporcie, gładka powierzchnia do zapisu
  • Wady: kruchy, wrażliwy na wilgoć, dostęp sekwencyjny (zwój – trzeba rozwijać)
  • Eksport z Egiptu do Grecji i Rzymu – pierwszy globalny nośnik danych
Papirus to pierwszy przenośny nośnik danych. Gliniane tabliczki ważyły kilogramy – papirusowy zwój ważył gramy.
Egipski zwój papirusu – proces produkcji i zapisu hieroglifami

Wynalezienie papirusu w starożytnym Egipcie stanowiło milowy krok w dziejach przenośności danych. Gliniane tabliczki, choć trwałe, były ciężkie i nieporęczne – pojedynczy zwój papirusu ważył zaledwie ułamek kilograma, podczas gdy odpowiadająca mu kolekcja tabliczek ważyłaby dziesiątki kilogramów. Etymologia jest wymowna: angielskie słowo paper pochodzi od greckiego papyros, co podkreśla dominację tego materiału w starożytnej komunikacji.

Papirus był przedmiotem o znaczeniu strategicznym na tyle dużym, że Ptolemeusze wprowadzili embargo na jego wywóz, by osłabić konkurencyjną bibliotekę w Pergamonie. Paradoksalnie doprowadziło to do wynalezienia pergaminu – trwalszego materiału piśmiennego. Ten epizod ilustruje, jak próby kontroli rynku technologii mogą stymulować innowacje, co znajduje współczesne analogie w geopolityce półprzewodników.

Z punktu widzenia architektury dostępu do danych papirusowy zwój narzucał ograniczenie dobrze znane inżynierom ery taśm magnetycznych – dostęp wyłącznie sekwencyjny. Aby dotrzeć do informacji w środkowej części zwoju, czytelnik musiał rozwinąć całość od początku. Przejście na kodeks umożliwiło dostęp swobodny i stanowiło analogię wynalazku dysku twardego w świecie cyfrowym.

10/52Pergamin i kodeks – innowacje średniowiecza

Trwalszy nośnik i dostęp swobodny

  • Pergamin (Pergamon, II w. p.n.e.) – skóra zwierzęca (cielęca, owcza, kozia) wyprawiona do zapisu
  • Zalety pergaminu: trwalszy od papirusu, możliwość zapisu dwustronnego, zmywalny (palimpsest)
  • Kodeks – następca zwoju: kartki zszyte z jednej strony, możliwość skakania do stron (random access!)
  • Palimpsesty – pergamin zmywano i zapisywano ponownie (pierwsze "nadpisywanie danych")
Kodeks to rewolucja w architekturze dostępu do danych: z sekwencyjnego (zwój – rozwijać od początku) na swobodny (otworzyć na dowolnej stronie).
Kodeks średniowieczny obok zwoju – porównanie

Pergamin, wynaleziony w Pergamonie w II wieku przed naszą erą jako odpowiedź na embargo na papirus, oferował zasadnicze zalety: większą trwałość, możliwość zapisu po obu stronach karty oraz gładką powierzchnię umożliwiającą precyzyjne kaligrafowanie. Wytwarzany ze skór cielęcych, owczych lub kozich, najwyższej jakości welin wymagał starannego wyprawiania i był materiałem niezwykle kosztownym.

Palimpsesty, czyli pergaminy z zmytym oryginalnym tekstem w celu ponownego zapisu, stanowią fascynujący prekursorski mechanizm zarządzania wersjami danych. Współczesne techniki multispektralne pozwalają odczytać zatarte pierwotne pismo, co przywróciło światu wiele zaginionych dzieł antycznych. Konceptualnie palimpsest realizuje tę samą funkcję co dzisiejsze systemy kontroli wersji.

Przejście od zwoju do kodeksu jest jedną z najważniejszych innowacji w historii dostępu do danych. Zwój narzucał dostęp liniowy, kodeks, dzięki kartkom oprawionym w grzbiecie, umożliwia natychmiastowy dostęp do dowolnej strony. Ta zmiana paradygmatu dostępu z sekwencyjnego na swobodny znajduje bezpośrednią analogię w ewolucji od taśm magnetycznych do dysków twardych, a następnie do pamięci półprzewodnikowych.

11/52Papier – chińska rewolucja

Najważniejszy nośnik danych w historii

  • Cai Lun (105 r. n.e.) – chiński urzędnik, który udoskonalił produkcję papieru z włókien roślinnych
  • Technika: rozwłóknienie kory morwowej, konopi i starych szmat w wodzie → czerpanie na sicie → prasowanie
  • Zalety: tani, lekki, elastyczny, możliwość zadruku obu stron, nadający się do oprawy
  • Droga do Europy: Chiny → Arabowie (bitwa pod Talas 751) → Hiszpania (XII w.) → Europa (XIII-XIV w.)
  • Druk Gutenberga (~1450) – masowa reprodukcja danych, upowszechnienie papieru
Papier był najważniejszym nośnikiem danych przez 1800 lat. Do dziś pozostaje niezastąpiony w wielu zastosowaniach biurowych i archiwalnych.
Proces produkcji papieru czerpanego – Chiny, I w. n.e.

Udoskonalenie technologii wytwarzania papieru przez chińskiego urzędnika Cai Luna w 105 roku naszej ery było wydarzeniem o znaczeniu trudnym do przecenienia dla dziejów przechowywania i rozpowszechniania informacji. Przed jego wynalazkiem Chińczycy pisali na jedwabiu, który był kosztowny, oraz na bambusowych deseczkach, które były ciężkie. Papier wytwarzany z kory morwowej, konopi i zużytych tkanin okazał się materiałem lekkim, tanim i elastycznym.

Przekazanie technologii papierniczej do Europy nastąpiło poprzez świat arabski po bitwie pod Talas w 751 roku, kiedy Arabowie wzięli do niewoli chińskich rzemieślników. Pierwsze europejskie papiernie powstały w Hiszpanii w XII wieku. Wynalazek druku przez Gutenberga około 1450 roku był katalizatorem masowej reprodukcji tekstów, która bez taniego papieru nie mogłaby zaistnieć na skalę przemysłową.

Papier przez blisko dwa tysiące lat pozostawał dominującym nośnikiem danych w skali globalnej. Współczesne technologie digitalizacji i OCR w pewnym sensie przywracają papierowi rolę nośnika pierwotnego, z którego dane są konwertowane do postaci cyfrowej. To swoiste zamknięcie cyklu: od fizycznego nośnika przez cyfrowy z powrotem do cyfrowej reprezentacji fizycznego pierwowzoru.

12/52Quipu – baza danych Inków

Węzełkowa baza danych

Quipu (keczua: "węzeł") – system przechowywania danych używany przez cywilizację Inków (Andy, ~1400-1532 n.e.):

  • Sznur główny + sznurki wiszące w różnych kolorach i z różnymi węzłami
  • Węzły kodowały liczby w systemie dziesiętnym (węzeł = cyfra, pozycja = rząd wielkości)
  • Kolory kodowały kategorie: brąz = ziemniaki, żółty = złoto, czerwony = armia
  • Kipucamayokowie – wyspecjalizowani urzędnicy, "administratorzy baz danych" Inków
Quipu dowodzi, że zaawansowana baza danych może istnieć bez pisma. Wystarczy system kodowania i wyszkoleni operatorzy.
Quipu Inkaskie – sznurki z kolorowymi węzłami

Quipu, czyli system węzełkowy cywilizacji Inków, udowadnia, że zaawansowane przechowywanie danych nie wymaga pisma w tradycyjnym rozumieniu. Główny sznur stanowił oś, do której przywiązywano sznurki potomne w różnych kolorach z węzłami w systemie dziesiętnym. Kolor brązowy oznaczał ziemniaki, żółty złoto, czerwony armię – kategoryzacja oparta na kodzie barwnym była skuteczna na tyle, że imperium mogło zarządzać gospodarką bez pisma fonetycznego.

Urzędnicy zwani kipucamayokami pełnili funkcję administratorów danych – przechodzili wieloletnie szkolenie w zakresie tworzenia i odczytywania quipu. Hiszpańscy konkwistadorzy zniszczyli większość quipu jako przedmioty pogańskie – ocalało około sześciuset egzemplarzy, które stanowią przedmiot badań współczesnych archeologów i informatyków.

Badania Gary'ego Urtona sugerują, że quipu mogły zawierać nie tylko dane liczbowe, ale także informację narracyjną. Rozszyfrowanie quipu wciąż stanowi wyzwanie, które może wymagać metod statystycznych i uczenia maszynowego. Byłoby to fascynujące spotkanie przedkolumbijskiej technologii przechowywania danych z narzędziami współczesnej informatyki.

13/52Kartoteki i katalogi – ręczne bazy danych

Fizyczne indeksy przed komputerami

  • Średniowieczne kartoteki klasztorne – rejestry ksiąg, majątku, nadań ziemi
  • Katalogi biblioteczne – od starożytności po XX wiek: karty katalogowe w szufladkach
  • Melvil Dewey (1876) – Klasyfikacja Dziesiętna Deweya, system organizacji wiedzy
  • Szafy kartoteczne – w biurach i urzędach: karty w szufladach, przegródki alfabetyczne
  • Katalogi kartkowe Biblioteki Kongresu – ~25 milionów kart, największy katalog świata (do lat 80. XX w.)
Katalog kartkowy to fizyczna implementacja indeksu B-tree. Pokolenia bibliotekarzy korzystały z tej "bazy danych" z pełnym powodzeniem.
Szafa katalogowa z szufladkami kart – biblioteka XX w.

Katalog kartkowy jest doskonałą fizyczną implementacją idei indeksu, która pojawiła się w bibliotekach na długo przed wynalezieniem komputerów. Każda karta pełni funkcję rekordu z metadanymi – autorem, tytułem, datą i lokalizacją. Karty ułożone alfabetycznie w szufladach umożliwiają wyszukiwanie binarne: bibliotekarz otwiera szufladę w przybliżonym miejscu i zawęża zakres, podobnie jak algorytm wyszukiwania w B-drzewie.

System klasyfikacji dziesiętnej Melvila Deweya z 1876 roku to hierarchiczny schemat klasyfikacji danych, w którym każda liczba odpowiada coraz bardziej szczegółowej kategorii. Na przykład 500 oznacza nauki przyrodnicze, 510 matematykę, a 511 ogólne zagadnienia matematyczne. System jest nadal w użyciu w tysiącach bibliotek.

Katalog Biblioteki Kongresu z około dwudziestu pięciu milionami kart był przez dziesięciolecia największym tego typu zbiorem na świecie. Jego digitalizacja w latach osiemdziesiątych i dziewięćdziesiątych była jednym z pierwszych masowych projektów konwersji danych analogowych na cyfrowe, a powstałe katalogi OPAC stały się wzorem dla systemów wyszukiwawczych w instytucjach publicznych.

14/52Karty perforowane – dane czytane maszynowo

Pomost między erą analogową a cyfrową

  • Joseph-Marie Jacquard (1804) – krosno tkackie sterowane kartami perforowanymi (pierwsza programowalna maszyna)
  • Herman Hollerith (1890) – spis powszechny USA: dane 63 milionów Amerykanów na kartach perforowanych
  • Maszyna tabulacyjna Holleritha przetworzyła dane spisu w 2,5 roku (ręcznie zajęłoby to ~8 lat)
  • Karta 80-kolumnowa IBM (1928) – standard przez 50 lat, 80 znaków na karcie
Karty perforowane to pierwszy maszynowy nośnik danych. Dane zapisane fizycznie, ale czytane przez maszynę – to rewolucja.
Karta perforowana IBM 80-kolumnowa – schemat kodowania

Karty perforowane stanowią pomost między epoką analogową a cyfrową – dane wciąż są fizycznie obecne na papierze, ale odczytywane przez maszynę. Wynalazek Jacquarda z 1804 roku dotyczył krosna tkackiego, ale wprowadził koncepcję programowania przez wymienne nośniki perforowane. Herman Hollerith zastosował tę ideę do spisu powszechnego USA w 1890 roku, skracając czas opracowania z ośmiu lat do dwóch i pół.

Firma Holleritha po fuzjach stała się IBM. Standard karty osiemdziesięciokolumnowej z 1928 roku przetrwał ponad pięć dekad. Każda kolumna kodowała znak przez kombinację otworów, a zestaw kart tworzył deck – odpowiednik dzisiejszych plików danych. Błąd oznaczał nową kartę, nie było operacji UPDATE, tylko DELETE i INSERT.

Operacje na kartach odzwierciedlały ograniczenia nośnika sekwencyjnego bez możliwości modyfikacji. Jeśli operator upuścił deck dziesięciu tysięcy kart, potrzebował sortownika, by przywrócić porządek. Te frustracje napędzały marzenia o systemach umożliwiających edycję danych bez przepisywania całych zbiorów, prowadząc bezpośrednio do koncepcji DBMS.

15/52Fizyczne bazy danych – podsumowanie ery analogowej

Porównanie nośników danych przed komputerami

NośnikOkresTrwałośćDostępPojemność
Gliniana tabliczka~3100 p.n.e.Bardzo wysokaSekwencyjnyB. mała
Zwój papirusu~2400 p.n.e.NiskaSekwencyjnyŚrednia
Kodeks pergaminowyII w. p.n.e.WysokaSwobodnyŚrednia
Książka (papier)~1450ŚredniaSwobodnyDuża
Karta perforowana1890NiskaSekwencyjnyB. mała
Wspólny problem wszystkich nośników analogowych: trudność wyszukiwania, brak współbieżności, błędy ludzkie, objętość fizyczna.
Porównanie nośników – od tabliczki po kartę perforowaną

Analiza porównawcza nośników ery analogowej ujawnia, że przez dziesięć tysięcy lat ludzkość nie znalazła idealnego rozwiązania – każdy nośnik oferował odmienny kompromis między trwałością, pojemnością, kosztem i szybkością dostępu. Gliniane tabliczki zapewniały trwałość mierzoną w tysiącleciach, ale były ciężkie. Papirus i papier były lekkie, lecz nietrwałe. Karty perforowane umożliwiły przetwarzanie maszynowe kosztem ograniczonej pojemności.

Paradoksem jest fakt, że najstarszy nośnik – wypalana glina – okazał się najtrwalszy. Dyski twarde wytrzymują średnio od trzech do pięciu lat, podczas gdy sumeryjskie tabliczki przetrwały pięć tysięcy lat i są czytelne do dziś. Ta świadomość skłania archiwistów cyfrowych do poszukiwania rozwiązań łączących trwałość fizyczną z możliwością maszynowego odczytu.

Era analogowa wypracowała fundament współczesnej inżynierii danych. Pojęcia takie jak rekord, indeks, kategoria, metadane, spójność i autoryzacja mają swoje pierwowzory w praktykach skrybów i bibliotekarzy sprzed tysięcy lat. Informatyka nie tyle wynalazła te koncepcje, ile zautomatyzowała ich implementację i przeskalowała na miliony operacji na sekundę.

16/52Czego nauczyła nas era analogowa?

Lekcje sprzed 10 000 lat

Era analogowa wypracowała koncepcje, które do dziś są fundamentem baz danych:

  • Struktura danych (schemat) – żetony gliniane (kształt = typ), tabliczki (kolumny = pola), karty perforowane (80 kolumn = format rekordu)
  • Indeksowanie – bullae (odciski na zewnątrz), katalogi (alfabetyczne), kartoteki
  • Kategoryzacja – quipu (kolory = kategorie), klasyfikacja Deweya
  • Metadane – etykiety na zwojach, nagłówki w tabliczkach, karty katalogowe
  • Integralność danych – wypalanie gliny (trwałość), palimpsesty (nadpisywanie z historią)
Każda koncepcja w dzisiejszych bazach danych ma swój analogowy pierwowzór. Innowacja polega na automatyzacji i skali.
Mapa pojęć – analogowe pierwowzory cyfrowych koncepcji

Najważniejszą lekcją ery analogowej jest fundamentalna potrzeba nadawania danym struktury. Luźny zbiór informacji nie stanowi bazy danych – dopiero schemat, indeksy i kategoryzacja przekształcają chaos w użyteczne repozytorium. Zarówno gliniana tabliczka z listą owiec, jak i relacyjna tabela w PostgreSQL wymagają zdefiniowania formatu danych przed zapisem.

Druga uniwersalna zasada dotyczy relacji między skalą danych a organizacją. Pojedyncza tabliczka nie potrzebuje indeksu, ale trzydzieści tysięcy tabliczek w bibliotece Asurbanipala wymaga katalogu i klasyfikacji. Ta zależność – im więcej danych, tym ważniejsza organizacja – stanowi uzasadnienie dla całej dziedziny inżynierii danych.

Trzecia lekcja dotyczy trwałości: gliniane tabliczki przetrwały pięć tysięcy lat, ale nikt nie czyta ich na co dzień, podczas gdy dyski SSD ulegają degradacji w ciągu kilku lat. Dlatego współczesne architektury zakładają wielowarstwowość – dane gorące na szybkich nośnikach, letnie na tańszych, zimne na trwałych archiwach. To cyfrowa kontynuacja wielotysiącletniej walki z ograniczeniami nośników fizycznych.

17/52Taśmy magnetyczne i pamięć masowa

Początki elektronicznego przechowywania danych

  • UNIVAC I (1951) – pierwszy komercyjny komputer z taśmą magnetyczną (UNISERVO)
  • Taśma magnetyczna – zapis magnetyczny na pasku plastiku, dostęp sekwencyjny
  • Zalety: duża pojemność, niski koszt, szybkość odczytu (dla ówczesnych standardów)
  • Wady: dostęp wyłącznie sekwencyjny (przewinięcie do konkretnego rekordu trwało minuty)
  • Bębny magnetyczne – pierwsze pamięci o dostępie swobodnym (RWM)
Taśma magnetyczna to odpowiednik zwoju papirusu w świecie cyfrowym: tania, pojemna, ale wyłącznie sekwencyjna.
Szafa z taśmami magnetycznymi UNIVAC – lata 50.

Wprowadzenie taśmy magnetycznej w UNIVAC I w 1951 roku oznaczało narodziny elektronicznego przechowywania danych na skalę komercyjną. Taśmy UNISERVO wykorzystywały pasek z brązu pokryty niklem, na którym dane zapisywano w postaci magnetycznych impulsów. Pojemność jednej szpuli wynosiła około jednego do dwóch megabajtów – w ówczesnych realiach ogromna ilość danych.

Podobieństwo taśmy magnetycznej do papirusowego zwoju jest uderzające – oba oferowały tani i pojemny magazyn danych kosztem dostępu wyłącznie sekwencyjnego. Mimo tego ograniczenia taśmy zdominowały przechowywanie danych w latach pięćdziesiątych i sześćdziesiątych, głównie ze względu na korzystny stosunek kosztu do pojemności.

Współczesne taśmy LTO dziewiątej generacji mieszczą do osiemnastu terabajtów na szpuli i wciąż są używane do backupów. Paradoksalnie, sekwencyjność staje się zaletą w kontekście archiwizacji – taśmy są odporne na ataki ransomware, ponieważ nie można ich modyfikować bez fizycznego dostępu. Technologia przetrwała ponad siedem dekad w ciągłym użyciu.

18/52IBM 350 RAMAC – pierwszy dysk twardy

Rewolucja dostępu swobodnego

  • IBM 350 RAMAC (1956) – pierwszy komputerowy dysk twardy (Random Access Method of Accounting and Control)
  • Parametry: 5 MB pojemności, 50 talerzy o średnicy 24 cali (~61 cm), ważył ~1 tonę
  • Dostęp swobodny – rewolucja: można odczytać dowolny blok danych bez przewijania całego nośnika
  • Koszt: ~$3 200/m-c leasingu (w dzisiejszych pieniądzach ~$10 000 za megabajt)
  • Zastosowanie: American Airlines SABRE (system rezerwacji lotów)
RAMAC dał komputerom pamięć masową z dostępem swobodnym (DASD). Bez niego nie byłoby nowoczesnych baz danych.
IBM 350 RAMAC – wielki dysk z 50 talerzami, 1956

IBM 350 RAMAC z 1956 roku był pierwszym dyskiem twardym oferującym dostęp swobodny do danych. Urządzenie wielkości dwóch lodówek zawierało pięćdziesiąt talerzy o średnicy sześćdziesięciu jeden centymetrów wirujących na wspólnej osi. Głowica poruszała się w pionie i w poziomie, docierając do dowolnego bloku w około sekundę – rewolucyjnie szybko w porównaniu z minutami potrzebnymi na przewinięcie taśmy.

Pięć megabajtów pojemności wydaje się dziś śmiesznie małe, ale w latach pięćdziesiątych wystarczało na rejestry średniego przedsiębiorstwa. Koszt megabajta wynosił około dziesięciu tysięcy dolarów w dzisiejszej wartości. Mimo to popyt na dostęp swobodny był tak duży, że IBM sprzedał kilkaset egzemplarzy.

System SABRE American Airlines, uruchomiony w 1964 roku, był pierwszym wielkoskalowym systemem OLTP na dyskach RAMAC. Przetwarzał dziennie do osiemdziesięciu trzech tysięcy połączeń, umożliwiając agentom rezerwację lotów w czasie rzeczywistym. To dla takich zastosowań – wymagających szybkiego dostępu do dowolnego rekordu – wynaleziono dysk twardy, który na zawsze zmienił architekturę baz danych.

19/52Plikowe systemy danych – epoka chaosu

Zanim powstały bazy danych

Lata 50.-60.: dane przechowywane w plikach sekwencyjnych na taśmach i kartach:

  • Każda aplikacja definiuje własny format pliku – brak standaryzacji, każdy programista tworzy własny schemat
  • Programy znają fizyczną strukturę danych – numer bajtu, długość pola, kodowanie
  • COBOL (1959) – FD (File Description) – sekcje danych w programie definiujące strukturę pliku
  • Dane "inteligentne" tkwią w kodzie – zmiana formatu pliku = zmiana kodu każdego programu
W erze plikowej inteligencja o strukturze danych tkwiła w kodzie aplikacji. Baza danych była biernym zbiorem bajtów.
Schemat – wiele aplikacji, każda z własnym plikiem, brak centralizacji

Era plikowych systemów danych charakteryzowała się ścisłym sprzężeniem struktury danych z kodem aplikacji. Programista COBOL definiował w sekcji FD obraz rekordu, podając numery bajtów dla poszczególnych pól. Każda aplikacja korzystająca z pliku musiała zawierać identyczną definicję FD, co prowadziło do masowej duplikacji i koszmaru utrzymania.

Dodanie nowego pola wymagało modyfikacji wszystkich programów, konwersji istniejących danych i ponownej kompilacji. Firmy przeznaczały około osiemdziesięciu procent budżetów IT na utrzymanie, pozostawiając zaledwie dwadzieścia procent na rozwój. Ta proporcja była bezpośrednim skutkiem architektury plikowej.

Problemy ery plikowej są dobrze znane każdemu, kto używał arkuszy kalkulacyjnych jako bazy danych w korporacji. Redundancja, niespójność, brak współbieżności – wszystkie te problemy pojawiają się, gdy danymi zarządza aplikacja, a nie dedykowany DBMS. Doświadczenia te dostarczyły przekonujących argumentów na rzecz scentralizowanego zarządzania danymi.

20/52Problemy podejścia plikowego

Dlaczego pliki nie wystarczały?

ProblemOpis
RedundancjaTe same dane w wielu plikach – marnotrawstwo miejsca, ryzyko niespójności
NiespójnośćRóżne wersje tych samych danych w różnych plikach – która jest aktualna?
IzolacjaTrudność łączenia danych z różnych plików – każdy ma inny format
Brak współbieżnościDwa programy nie mogą jednocześnie pisać do tego samego pliku
Brak bezpieczeństwaKażdy program ma dostęp do wszystkiego – brak kontroli dostępu
Brak integralnościBrak mechanizmów zapewniania poprawności danych (np. klucze, więzy)
Problemy plikowe są analogiczne do problemów z glinianymi tabliczkami: tylko szybsze i na większą skalę.
Wykres – wzrost kosztów utrzymania w miarę wzrostu liczby plików

Redundancja w systemach plikowych prowadziła nie tylko do marnotrawstwa nośników, ale przede wszystkim do utraty spójności. Ten sam adres klienta mógł być przechowywany w pliku fakturowania, wysyłki i obsługi posprzedażowej – każda lokalizacja mogła zawierać inną wersję. Ustalenie poprawności wymagało czasochłonnych audytów ręcznych.

Brak współbieżności był kolejnym poważnym ograniczeniem. Dwa programy nie mogły jednocześnie modyfikować tego samego pliku – konieczne były blokady na poziomie całego pliku. Podczas aktualizacji przez jeden proces wszystkie pozostałe musiały czekać, co w warunkach rosnącej liczby transakcji stawało się wąskim gardłem.

Brak integralności był najbardziej subtelnym, ale najgroźniejszym problemem. W systemie plikowym nie istniał sposób wymuszenia poprawności – można było zapisać tekst w polu liczbowym lub usunąć rekord rodzica bez sprawdzania rekordów dziecka. Każda taka operacja pozostawiała bazę w stanie niespójnym, który mógł ujawnić się dopiero po wielu dniach, powodując efekt domina błędów.

21/52Narodziny idei DBMS

Ku centralnemu zarządzaniu danymi

  • Potrzeba: oddzielenie logiki danych od logiki aplikacji – niezależność danych
  • Gene Charles Bachman – inżynier w General Electric, twórca IDS (Integrated Data Store)
  • IDS (1963) – pierwsze oprogramowanie do zarządzania strukturami danych w plikach
  • Idea: dane przechowywane centralnie, aplikacje pytają przez interfejs, nie znając fizycznej struktury
  • IDS był rozszerzeniem COBOL-a – programy COBOL mogły odwoływać się do danych po nazwie, nie po pozycji bajtu
IDS Bachmana z 1963 roku to pierwszy prawdziwy system zarządzania danymi. Prekursor wszystkich dzisiejszych DBMS.
Charles Bachman przy komputerze – GE, lata 60.

Integrated Data Store Charlesa Bachmana z 1963 roku uznawany jest za pierwszy system zarządzania danymi w rozumieniu dzisiejszego DBMS. Bachman zrozumiał, że problemy ery plikowej można rozwiązać przez warstwę oprogramowania zarządzającą fizyczną strukturą danych i udostępniającą aplikacjom logiczny widok. Programy COBOL mogły odwoływać się do danych po nazwie, nie po numerze bajtu.

IDS wprowadził koncepcję schematu oddzielonego od kodu aplikacji. Programista definiował strukturę rekordów w centralnym repozytorium, a system dbał o odwzorowanie logicznej struktury na fizyczny zapis. Zmiana fizycznej organizacji nie wymagała modyfikacji aplikacji – wystarczyło zaktualizować definicję schematu.

Bachman otrzymał Nagrodę Turinga w 1973 roku za wkład w rozwój inżynierii danych. Jego wykład Programista jako nawigator opisał podejście nawigacyjne, w którym programista manualnie przemieszcza się po strukturach danych. Choć podejście to zostało wyparte przez model relacyjny, idee Bachmana stanowią fundament dzisiejszych DBMS.

22/52Model hierarchiczny – drzewo danych

Pierwszy formalny model danych

  • Struktura drzewa: rekordy ułożone hierarchicznie – każdy rekord (oprócz korzenia) ma dokładnie jednego rodzica
  • Segmenty – podstawowe jednostki danych, zawierające pola
  • Dostęp: ścieżka od korzenia do liścia – programista "nawiguje" po drzewie
  • Operacje: GET UNIQUE, GET NEXT, GET NEXT WITHIN PARENT – "rekord po rekordzie"
  • Zależność: model odzwierciedla fizyczną strukturę danych (wskaźniki między segmentami)
Model hierarchiczny to komputerowa wersja drzewa genealogicznego: prosta, przewidywalna, ale sztywna.
Schemat drzewa hierarchicznego – korzeń, węzły, liście

Model hierarchiczny organizował dane w strukturę drzewiastą, gdzie każdy rekord z wyjątkiem korzenia miał dokładnie jednego rodzica. Relacja jeden do wielu dobrze odzwierciedlała rzeczywiste struktury, takie jak lista części produktu czy struktura organizacyjna. Segment zawierał pola oraz wskaźniki do segmentów potomnych i nadrzędnych.

Dostęp wymagał znajomości ścieżki nawigacyjnej od korzenia do liścia. Operacje GET UNIQUE, GET NEXT i GET NEXT WITHIN PARENT umożliwiały sekwencyjne przemieszczanie się, ale każde zapytanie wymagało jawnej specyfikacji ścieżki. Znalezienie zamówień klienta wymagało przejścia od korzenia do węzła klienta, a następnie iteracji po węzłach potomnych.

Ograniczeniem była niemożność modelowania relacji wiele do wielu bez duplikacji danych. Mimo tych wad model hierarchiczny odniósł ogromny sukces komercyjny dzięki IMS IBM, który przez dziesięciolecia pozostawał najszerzej stosowanym systemem zarządzania danymi, a jego wydajność w dobrze zdefiniowanych domenach wciąż znajduje zastosowanie.

23/52IMS IBM – baza, która wysłała człowieka na Księżyc

Najdłużej działający system bazodanowy w historii

  • IMS (Information Management System) – IBM, 1966 (współpraca z NASA), komercyjnie 1969
  • Stworzony dla programu Apollo – zarządzanie listą materiałów (Bill of Materials) dla statku kosmicznego
  • Architektura: segmenty, pola, klucze, hierarchia do 15 poziomów
  • Języki: DL/I (Data Language/One) – język zapytań i manipulacji danymi
  • Do dziś w użyciu! – banki, ubezpieczenia, linie lotnicze (nawet systemy rezerwacyjne)
IMS IBM był najważniejszym systemem bazodanowym lat 70. Napędzał bankowość, lotnictwo, przemysł i podbój kosmosu.
Apollo Saturn V – IMS zarządzał listą części statku

IMS został opracowany przez IBM z NASA w 1966 roku do zarządzania listą materiałów statku kosmicznego Apollo. Każda z milionów części rakiety Saturn V musiała być jednoznacznie zidentyfikowana i powiązana z nadrzędnymi podzespołami. Drzewo hierarchiczne IMS doskonale odwzorowywało strukturę bill of materials.

Język DL/I umożliwiał nawigację po hierarchii prostymi poleceniami, a system obsługiwał hierarchie o głębokości do piętnastu poziomów. Po sukcesie w programie Apollo IBM skomercjalizował IMS w 1969 roku, zdobywając rynek bankowości, ubezpieczeń i transportu lotniczego.

IMS wciąż obsługuje około piętnastu procent światowych danych biznesowych. Długowieczność świadczy o solidności architektury i kosztach migracji. Dla inżynierów IMS pozostaje przykładem, że dobrze zaprojektowany system może funkcjonować przez dekady, a decyzje architektoniczne z lat sześćdziesiątych wciąż oddziałują na systemy XXI wieku.

24/52CODASYL i model sieciowy

Wiele-do-wielu – przełamanie hierarchii

  • CODASYL (Conference on Data Systems Languages) – konsorcjum założone w 1959 (twórcy COBOL)
  • DBTG (Data Base Task Group) – 1969, 1971 – specyfikacja modelu sieciowego
  • Struktura: rekordy i zbiory (sets) – relacje przez wskaźniki, możliwość wielu rodziców
  • Różnica vs hierarchia: model sieciowy wspiera relacje N:M – każdy rekord może należeć do wielu zbiorów
  • Schemat i podschemat – DDL (Data Description Language) definiuje strukturę całej bazy
Model sieciowy CODASYL rozwiązywał problemy hierarchii – ale kosztem ogromnej złożoności koncepcyjnej.
Diagram Bachmana – model sieciowy z rekordami i zbiorami

DBTG w ramach CODASYL opublikowała w latach 1969–1971 specyfikację modelu sieciowego, odpowiadając na ograniczenia hierarchii. Innowacją były relacje wiele do wielu poprzez mechanizm zbiorów, gdzie rekord właściciela łączył się z wieloma członkami, a każdy członek mógł należeć do wielu zbiorów. Umożliwiło to modelowanie złożonych powiązań bez duplikacji.

CODASYL wprowadził rozróżnienie na schemat i podschemat. Schemat definiował pełną strukturę bazy, podschemat widok dla aplikacji lub użytkownika. Był to prekursorski mechanizm kontroli dostępu i separacji odpowiedzialności, zapewniający, że aplikacja widzi tylko niezbędne dane.

Mimo zalet model sieciowy był trudny w użyciu – programista musiał znać fizyczną ścieżkę dostępu, a zmiana struktury wymagała modyfikacji wszystkich aplikacji. Model pozostał niszą dla specjalistycznych zastosowań, podczas gdy rynek masowy zdobył prostszy model relacyjny. Wpływ CODASYL na języki DDL i DML pozostaje jednak niepodważalny.

25/52Charles Bachman – ojciec baz nawigacyjnych

Człowiek, który wynalazł system zarządzania danymi

  • Charles Bachman (1924-2017) – inżynier w General Electric, twórca IDS (1963)
  • Nagroda Turinga 1973 – jedyna nagroda ACM za bazy danych przed Codem
  • Wykład Turinga: "The Programmer as Navigator" – programista jako odkrywca struktur danych
  • Bachman diagrams – pierwsze narzędzie do modelowania danych
  • Cullinane / Cullinet – firma założona przez Bachmana, komercjalizująca IDMS
  • Cullinet w 1980 roku była największą niezależną firmą software'ową na świecie
Bachman wprowadził koncepcję nawigacji w danych. Programista jako odkrywca struktur – stąd tytuł wykładu Turinga.
Charles Bachman – zdjęcie portretowe z lat 70.

Charles Bachman był pierwszym inżynierem, który w pełni zrozumiał potrzebę oddzielnej warstwy oprogramowania do zarządzania danymi. Jego IDS z 1963 roku wyprzedził epokę, wprowadzając centralny schemat, niezależność danych, nawigację i języki manipulacji. Bachman otrzymał Nagrodę Turinga w 1973 roku.

Bachman diagrams były prekursorem diagramów ER Chena. Prostokąty połączone strzałkami umożliwiały projektantom wizualizację złożonych powiązań przed implementacją. Było to pierwsze narzędzie CASE w historii oprogramowania, zaprojektowane dla inżynierii danych.

Firma Cullinane Database Systems Bachmana w 1980 roku była największą niezależną firmą softwareową na świecie. Upadek Cullinane w połowie lat osiemdziesiątych, wywołany sukcesem relacyjnych baz, jest przestrogą przed technologicznym dogmatyzmem. Bachman zmarł w 2017 roku, pozostawiając dziedzictwo o wpływie trudnym do przecenienia.

26/52Wady modeli nawigacyjnych

Dlaczego programiści ich nienawidzili

WadaKonsekwencje
Dostęp "rekord po rekordzie"Programista musi znać fizyczną ścieżkę – wiedzieć JAK znaleźć dane, a nie CO chce znaleźć
Sztywność strukturZmiana schematu = przeprojektowanie bazy + modyfikacja wszystkich aplikacji
Złożoność zapytańProste pytanie wymaga pętli i nawigacji po wskaźnikach
Brak niezależnościZmiany fizyczne (np. reorganizacja plików) wpływają na aplikacje
Trudność w utrzymaniuLata 80.: ~80% budżetu IT szło na utrzymanie, tylko 20% na rozwój
W modelach nawigacyjnych zapytanie "znajdź wszystkich klientów z Krakowa" wymagało napisania pętli przechodzącej przez wszystkie rekordy i sprawdzającej miasto.
Schemat nawigacji po wskaźnikach – skomplikowana sieć połączeń

Podstawową wadą modeli nawigacyjnych było proceduralne myślenie o dostępie do danych. Aby znaleźć klientów z Krakowa, programista pisał pętlę: znajdź pierwszy rekord, sprawdź miasto, przejdź do następnego, powtarzaj. Było to nie tylko uciążliwe, ale podatne na błędy – programista musiał ręcznie zarządzać wskaźnikami.

Drugim ograniczeniem była sztywność struktur. Relacje definiowano fizycznymi wskaźnikami, więc zmiana schematu wymagała przeprojektowania bazy i modyfikacji aplikacji. Dodanie nowego typu relacji wymagało tygodni pracy i niosło ryzyko błędów w istniejących systemach.

Brak niezależności fizycznej od logicznej sprawiał, że nawet zmiany wydajnościowe reorganizacji plików wymagały modyfikacji kodu. Firmy przeznaczały około osiemdziesięciu procent budżetów IT na utrzymanie. Dopiero model relacyjny z deklaratywnym SQL uwolnił programistów od ręcznej nawigacji i fizycznej organizacji danych.

27/52Zalety i dziedzictwo modeli nawigacyjnych

Co dobrego dały nam modele nawigacyjne?

  • Wydajność – przy znanych ścieżkach dostępu, modele nawigacyjne były bardzo szybkie (znacznie szybsze od wczesnych relacyjnych)
  • Przewidywalność – programista kontroluje każdy krok dostępu do danych, brak "niespodzianek" optymalizatora
  • Działają do dziś – IMS, IDMS w bankach, ubezpieczeniach, systemach rezerwacyjnych
  • Dziedzictwo koncepcyjne: indeksy, schematy danych, języki DDL/DML, modelowanie danych, diagramy
  • Wpływ na dzisiejsze technologie: indeksy B-tree, optymalizatory zapytań, systemy NoSQL (grafowe!)
IMS i IDMS wciąż istnieją w systemach legacy. To świadectwo solidności tych rozwiązań – zaprojektowane w latach 60., działają do dziś.
Porównanie drzewa hierarchicznego i grafu sieciowego

Modele nawigacyjne oferowały wyjątkową wydajność przy znanych ścieżkach dostępu. Programista miał pełną kontrolę nad każdym krokiem, co pozwalało na optymalizację niedostępną w systemach relacyjnych z autonomicznym optymalizatorem. W systemach transakcyjnych o wysokiej przepustowości przewidywalność była kluczowa.

Dziedzictwo koncepcyjne modeli nawigacyjnych jest obecne w każdym współczesnym DBMS. Języki DDL i DML, schematy, indeksy B-tree, diagramy związków encji – wszystkie wywodzą się z prac Bachmana i CODASYL. Nawet optymalizatory zapytań opierają się na estymacji kosztów mającej korzenie w automatyzacji nawigacji.

Modele nawigacyjne przeżywają renesans w bazach grafowych takich jak Neo4j. Bazy grafowe to model sieciowy 2.0 – nawigacja wzbogacona o deklaratywny język zapytań. W inżynierii rzadko coś ginie bezpowrotnie – idee powracają w nowej postaci, gdy zmieniają się warunki technologiczne i wymagania aplikacyjne.

28/52E.F. Codd – matematyk, który zmienił świat danych

Artykuł, który wywołał rewolucję

  • Edgar Frank Codd (1923-2003) – matematyk, logik, pracownik IBM Research (San Jose)
  • 1970: "A Relational Model of Data for Large Shared Data Banks" – Communications of the ACM, Vol. 13, No. 6
  • Główna teza: dane powinny być zorganizowane w relacje (tabele) i dostępne przez deklaratywny język
  • Cel: niezależność danych (data independence) – zmiany fizyczne nie mogą wpływać na aplikacje
  • Inspiracja: Codd widział, jak programiści IMS spędzają miesiące na modyfikacji kodu po zmianie schematu
Artykuł Codda z 1970 roku to prawdopodobnie najważniejsza publikacja w historii informatyki. Zdefiniował nowy paradygmat.
Edgar F. Codd – zdjęcie portretowe, IBM Research

Edgar Codd opublikował w 1970 roku artykuł, który na zawsze zmienił myślenie o danych. Zaproponował organizację w relacje, czyli tabele, z operacjami algebry relacyjnej – selekcją, projekcją, złączeniem i iloczynem kartezjańskim. Artykuł był wysoce matematyczny, przez co wielu praktyków IBM początkowo go odrzuciło.

Głównym celem Codda była niezależność danych – oddzielenie logicznego widzenia od fizycznej reprezentacji. W modelach nawigacyjnych zmiana struktury plików wymuszała modyfikację kodu. Codd zaproponował, by aplikacje operowały wyłącznie na tabelach, a system sam decydował o fizycznym dostępie.

Codd sformułował dwanaście zasad systemu relacyjnego, które stanowią teoretyczny wzorzec. Żaden komercyjny DBMS nie spełnia ich w pełni, ale wyznaczają kierunek rozwoju. Codd otrzymał Nagrodę Turinga w 1981 roku, a jego model zdominował świat danych na czterdzieści lat i wciąż jest dominującym paradygmatem.

29/52Model relacyjny – podstawy

Od nawigacji do deklaratywności

  • Relacja = tabela z wierszami (krotkami) i kolumnami (atrybutami)
  • Każda kolumna ma nazwę i typ danych (string, integer, date, ...)
  • Każdy wiersz jest unikalny – klucz główny (primary key) identyfikuje rekord
  • Klucz obcy (foreign key) łączy tabele poprzez wartości, nie wskaźniki
  • Algebra relacyjna: selekcja (WHERE), projekcja (SELECT kolumny), złączenie (JOIN), iloczyn, suma, różnica
Geniusz Codda: zamiast mówić JAK znaleźć dane (nawigacja po wskaźnikach), mówisz CO chcesz (deklaratywne zapytanie). Resztą zajmuje się system.
Przykład tabeli relacyjnej – Klienci, Zamówienia, Produkty z kluczami

Fundamentem modelu relacyjnego jest relacja jako podzbiór iloczynu kartezjańskiego dziedzin atrybutów. W praktyce to tabela z wierszami i kolumnami, gdzie każdy wiersz jest unikalny dzięki kluczowi głównemu. Relacje między tabelami realizują klucze obce – wartości atrybutów odwołujące się do kluczy głównych, nie fizyczne wskaźniki.

Algebra relacyjna obejmuje osiem operatorów: selekcję, projekcję, złączenie, iloczyn kartezjański, sumę, różnicę, przecięcie i podział. Matematyczna precyzja gwarantuje jednoznaczność wyniku każdego zapytania, niezależnie od implementacji fizycznej.

Przejście od nawigacji do deklaratywności było rewolucją. Programista formułuje zapytanie w SQL, a system decyduje o strategii wykonania – indeks czy full scan, kolejność złączeń, struktury tymczasowe. To przejście od proceduralnego do deklaratywnego paradygmatu porównuje się do zmiany z asemblera na języki wysokiego poziomu.

30/52System R i narodziny SQL

Od teorii do praktyki

  • IBM San Jose Research Lab – System R (1974-1978) – pierwsza implementacja modelu relacyjnego
  • SQL (Structured English Query Language) – Donald Chamberlin i Raymond Boyce (1974)
  • Pierwotnie SEQUEL (Structured English QUEry Language) – zmiana nazwy z powodów prawnych
  • SQL: pierwszy deklaratywny język zapytań – "co", nie "jak"
  • SQL/DS (1981) – pierwszy komercyjny produkt IBM z SQL
SQL miał być językiem dla "zwykłych użytkowników" – stał się standardem dla profesjonalistów na 50+ lat.
Skład SQL – przykład: SELECT * FROM employees WHERE salary > 50000

System R, realizowany w IBM San Jose w latach 1974–1978, był pierwszą kompletną implementacją modelu relacyjnego. Zespół Chamberlina i Boyce'a zmierzył się z praktycznymi wyzwaniami – optymalizacją zapytań, transakcjami, współbieżnością i odtwarzaniem. W ramach projektu powstał SQL, pierwotnie SEQUEL, zaprojektowany jako język zbliżony do angielskiego.

SQL był językiem deklaratywnym: użytkownik określał, jakie dane chce uzyskać, pozostawiając systemowi sposób realizacji. Mimo krytyki purystów za odejście od algebry relacyjnej, praktyczność SQL sprawiła, że stał się standardem de facto.

IBM skomercjalizował System R jako SQL/DS w 1981, a potem DB2 w 1983. Opóźnienie kosztowało IBM utratę lidera – Ellison zdążył uruchomić Oracle wcześniej. Historia ta jest przykładem niebezpieczeństw opóźniania komercjalizacji przełomowych technologii na rzecz doskonalenia istniejących produktów.

31/52INGRES – konkurent z Berkeley

Wolna i otwarta alternatywa

  • University of California Berkeley – Michael Stonebraker i Eugene Wong (1974)
  • INGRES (Interactive Graphics and Retrieval System) – relacyjna baza danych
  • Język QUEL (Query Language) – alternatywa dla SQL, uznawana przez wielu za czystszą i bardziej elegancką
  • QUEL vs SQL: debata języków zapytań – wielu purystów uważało QUEL za lepszy
  • Komercyjnie: Ingres Corporation (1980), później Ingres → PostgreSQL
INGRES dał światu QUEL – czystszy, bardziej matematyczny język zapytań. Rynek wybrał SQL, ale QUEL wpłynął na rozwój teorii.
Michael Stonebraker – zdjęcie, UC Berkeley, lata 70.

Równolegle do IBM, zespół Stonebrakera i Wonga na UC Berkeley rozwijał INGRES – akademicką alternatywę dla korporacyjnego System R. INGRES przyjął odmienny język zapytań QUEL, bliższy algebrze relacyjnej. Wielu uważało QUEL za lepszy projekt językowy, ale siła rynkowa IBM sprawiła, że to SQL stał standardem.

INGRES był inkubatorem talentów – z zespołu wyszli twórcy Postgresa, PostgreSQL, Sybase. Stonebraker kontynuował pionierskie prace nad kolumnowymi systemami OLAP i rozproszonymi bazami. Projekt udowodnił, że relacyjne bazy mogą powstawać w środowisku akademickim.

Skomericjalizowany Ingres konkurował z Oracle na rynku UNIX, ale nie utrzymał tempa innowacji. Mimo to wpływ INGRES jest ogromny – nie tylko przez kod, ale przez społeczność inżynierów, którzy przenosili doświadczenie do innych przedsięwzięć, kształtując całą dziedzinę.

32/52Oracle – pierwsza komercyjna RDBMS

Imperium zbudowane na SQL

  • Larry Ellison, Bob Miner, Ed Oates – Software Development Laboratories (1977)
  • Oracle 2 (1979) – pierwsza komercyjna relacyjna baza danych z SQL (wersja 1 nie istniała – chcieli brzmieć solidniej)
  • Nazwa "Oracle" – od projektu CIA o kryptonimie Oracle
  • Strategia: przenośność między systemami operacyjnymi, SQL jako standard
  • Przełom: Oracle V3 (1983) – napisany w C, przenośny na UNIX, VMS, mainframe
Oracle wygrał na czasie: był pierwszy na rynku, zanim IBM zdążył skomercjalizować System R. Reszta to historia.
Larry Ellison – zdjęcie, wczesne lata 80.

Ellison, Miner i Oates założyli Software Development Laboratories w 1977 roku, zainspirowani artykułem Codda. Ellison dostrzegł lukę, którą IBM pozostawił przez opóźnianie komercjalizacji. Oracle w wersji 2 pojawiło się w 1979 roku – celowo pomijając wersję pierwszą dla pozoru dojrzałości.

Kluczową decyzją było napisanie Oracle w C, co zapewniło przenośność między systemami. Wersja trzecia z 1983 działała na UNIX, VMS i mainframe, podczas gdy DB2 był tylko w ekosystemie IBM. Strategia przenośności okazała się trafiona wraz z upowszechnieniem minikomputerów.

Oracle zdominował rynek dzięki agresywnej sprzedaży, wsparciu SQL i reputacji enterprise. Firma rozrosła się z garstki do stu czterdziestu tysięcy pracowników. Ellison jest jednym z najbogatszych ludzi, a Oracle pozostaje największym producentem oprogramowania bazodanowego, przechowując znaczną część światowych danych biznesowych.

33/52Bitwa relacyjnych vs nawigacyjnych

Wojna światowa I baz danych

Początek lat 80.: dwa obozy walczą o rynek.

Obóz nawigacyjnyObóz relacyjny
Cullinet (IDMS) – największa firma software'owaOracle – startup z Kalifornii
IBM IMS – dominacja na mainframe'achIBM DB2 (1983) – sojusz wewnętrzny IBM
Honeywell, Burroughs, UnisysIngres, Informix, Sybase
"Nasze systemy są sprawdzone i szybkie""Nasze systemy są elastyczne i przyszłościowe"
Relacyjne wygrały dzięki: minikomputerom (DEC VAX), SQL jako standardowi, niezależności danych i wsparciu IBM (DB2).
Plakat reklamowy Oracle z lat 80. –

Rywalizacja obozów nawigacyjnego i relacyjnego była jedną z najważniejszych wojen standardów w informatyce. Obóz nawigacyjny z Cullinet i IMS kontrolował większość rynku i mógł pochwalić się dziesięcioletnim doświadczeniem. Argumenty przeciw modelowi relacyjnemu były poważne – wczesne implementacje były wolniejsze.

Przełomem było ogłoszenie DB2 jako strategicznego produktu IBM w 1983 roku. Decyzja giganta o postawieniu na model relacyjny wysłała sygnał całemu rynkowi. Równie ważny był rozwój minikomputerów DEC VAX, oferujących wystarczającą moc dla relacyjnych baz przy ułamku kosztów mainframe'a.

Ciosem dla Cullineta było przyjęcie SQL jako standardu ANSI w 1986 roku. Standaryzacja uczyniła inwestycje w SQL bezpieczniejszymi dla klientów. Cullinet, największa firma softwareowa w 1980 roku, nie dostosował się i zbankrutował w 1989. Historia ta jest wykładnią zakłóceń rynkowych przez przełomowe technologie.

34/52DB2, Informix, Sybase – konsolidacja rynku

Trzy filary rynku relacyjnego

  • IBM DB2 (1983) – następca SQL/DS, dla systemu MVS. Solidność i bezpieczeństwo klasy mainframe
  • Informix (1981) – Roger Sippl – pierwsza relacyjna baza dla UNIX-a. Elastyczność i wydajność
  • Sybase (1984) – Mark Hoffman, Bob Epstein – architektura klient-serwer, procedury składowane, wyzwalacze
  • SQL Server (1989) – współpraca Sybase + Microsoft → później produkt Microsoftu
  • Każdy wniósł coś innego: DB2 – niezawodność, Informix – UNIX, Sybase – architektura klient-serwer
Druga połowa lat 80. to konsolidacja: rynek RDBMS rósł o 50% rocznie. Era nawigacyjna definitywnie się zakończyła.
Loga DB2, Informix, Sybase – ikony systemów z lat 80/90

W drugiej połowie lat osiemdziesiątych rynek RDBMS wszedł w konsolidację z trzema głównymi graczami. DB2 oferował niezawodność mainframe dla sektora finansowego. Informix był pierwszą relacyjną bazą dla UNIX, zapewniając silną pozycję w segmencie serwerów korporacyjnych.

Sybase wprowadził architekturę klient-serwer, procedury składowane, wyzwalacze i replikację, które stały się standardem. Współpraca z Microsoftem nad SQL Serverem zaowocowała przejęciem technologii przez Microsoft.

Rynek rósł w tempie około pięćdziesięciu procent rocznie. Każdy dostawca wypracował niszę: DB2 w bankowości, Informix w przemyśle, Sybase w systemach transakcyjnych. Te trzy systemy z Oracle ukształtowały ekosystem narzędzi i praktyk, które do dziś stanowią fundament profesji inżyniera baz danych.

35/52Standard SQL – jeden język do rządzenia wszystkimi

SQL – uniwersalny język danych

  • ANSI SQL-86 – pierwszy standard języka SQL
  • SQL-89 – drobne korekty i uzupełnienia
  • SQL-92 (SQL2) – ogromne rozszerzenie: JOIN, NULL, schematy, bezpieczeństwo
  • SQL:1999 (SQL3) – obiektowość, typy strukturalne, tablice, wyzwalacze, rekurencja (WITH RECURSIVE)
  • SQL:2003 – funkcje okienne (window functions), kolumny generowane
  • SQL:2016 – JSON, funkcje polimorficzne, row pattern matching
SQL to jeden z nielicznych języków, który przetrwał 50+ lat i jest ważniejszy niż kiedykolwiek, mimo przewidywań o jego śmierci.
Oś czasu standardów SQL – od SQL-86 do SQL:2023

Standaryzacja SQL rozpoczęła się w 1986 roku, kiedy ANSI przyjął pierwszą wersję jako normę. Kolejne wersje rozszerzały możliwości: SQL-92 wprowadził zaawansowane złączenia, SQL:1999 dodał rekurencję, SQL:2003 funkcje okienne. SQL stał się uniwersalnym językiem danych.

Proces standaryzacji jest przykładem skutecznej współpracy konkurentów. Oracle, IBM, Microsoft i inni negocjują wspólny rdzeń, jednocześnie dodając własne dialekty. Mimo różnic podstawowa składnia pozostaje wspólna.

SQL wielokrotnie uznawano za schyłkowy – w latach dziewięćdziesiątych z powodu baz obiektowych, w latach 2000 z powodu XML, w latach 2010 z powodu NoSQL. Za każdym razem przetrwał i wchłonął nowe paradygmaty, obsługując JSON, dane przestrzenne i grafy. SQL pozostaje najważniejszym językiem danych na świecie.

36/52Model Entity-Relationship – jak projektować bazy

Język projektowania baz danych

  • Peter Chen (1976) – "The Entity-Relationship Model – Toward a Unified View of Data"
  • ER Diagram: encje (prostokąty) = rzeczy, atrybuty (elipsy) = cechy, relacje (romby) = powiązania
  • Cel: narzędzie do projektowania niezależne od implementacji – można zaprojektować bazę, zanim wybierze się DBMS
  • Wpływ: CASE tools, modelowanie danych, notacje (Chen, Crow's Foot, UML)
  • Krok przed SQL: ER → schemat relacyjny (tabele, klucze) → CREATE TABLE
Model ER to "architektura" baz danych. Pozwala narysować strukturę przed zakodowaniem – jak plan budynku przed budową.
Przykład diagramu ER – Klient-Zamówienie-Produkt z encjami i relacjami

Peter Chen opublikował w 1976 roku artykuł definiujący model encji-związków, który stał się standardowym narzędziem projektowania baz danych. Encje reprezentują obiekty, atrybuty ich cechy, a relacje powiązania między encjami. Model jest niezależny od implementacji – można zaprojektować bazę przed wyborem DBMS.

Chen inspirował się diagramami Bachmana i teorią relacji Codda, łącząc je w intuicyjny system wizualny. Notacje ewoluowały: Chen, Crow's Foot, IDEF1X, UML. Każda wyraża to samo – encje, atrybuty, relacje, kardynalność – w inny sposób graficzny.

Model ER jest standardem nauczania na kursach baz danych na całym świecie. Pozwala narysować strukturę przed zakodowaniem, jak plan budynku przed budową. To narzędzie okazało się tak użyteczne, że przetrwało pięć dekad i wciąż jest podstawą projektowania systemów.

37/52Wady baz relacyjnych

Nie wszystko złoto, co się świeci

WadaOpis
Narzut na złączenia (JOIN)Łączenie wielu tabel jest kosztowne obliczeniowo – przy dużych danych problematyczne
Skalowanie poziome (sharding)Relacyjne bazy są trudne do skalowania horyzontalnego – ACID wymaga synchronizacji
Sztywny schematZmiana schematu w produkcji wymaga migracji, downtime'u i ryzyka
Impedance mismatchObiektowy kod programistyczny vs relacyjne tabele – narzut na ORM (Hibernate, Entity Framework)
Obsługa danych półstrukturalnychJSON, XML – relacyjne bazy wciąż gorzej radzą sobie z danymi bez stałego schematu
Relacyjne bazy doskonale radzą sobie z danymi strukturalnymi. Gorzej z półstrukturalnymi, masywną skalą i wysoką zmiennością schematu.
Wykres – koszt JOIN w funkcji rozmiaru tabel

Wady baz relacyjnych stały się widoczne wraz z rozwojem Internetu na masową skalę. Google, Amazon i Facebook odkryły, że tradycyjne RDBMS nie skalują się horyzontalnie – ACID wymaga synchronizacji między węzłami. Koszt złączeń rośnie wykładniczo z rozmiarem tabel.

Sztywny schemat relacyjny utrudnia ewolucję w produkcji. Migracje wymagają przestojów i niosą ryzyko. Impedance mismatch między obiektowym kodem a tabelami generuje narzut ORM. JSON i XML są obsługiwane gorzej niż w systemach NoSQL.

Problemy nie oznaczają, że relacyjne bazy są złe – są zaprojektowane dla silnej spójności, bogatych zapytań i złożonych transakcji. Jeśli dane są strukturalne i potrzebujesz ACID, RDBMS wciąż jest najlepszym wyborem. Ruch NoSQL powstał dla innych wymagań.

38/52Dziedzictwo rewolucji relacyjnej

Co zostawiła nam era relacyjna?

  • MariaDB – uniwersalny język danych, znajomość którego wymagana jest na każdym stanowisku IT
  • Niezależność danych – fizyczna i logiczna – aplikacje nie muszą znać struktury fizycznej
  • Modelowanie danych – ER, normalizacja, projektowanie schematów – standard inżynierii
  • Transakcje ACID – Atomicity, Consistency, Isolation, Durability – fundament niezawodności
  • Firmy: Oracle ($200+ mld), Microsoft SQL Server, IBM DB2, PostgreSQL, MySQL
  • Wartość rynku RDBMS: ~$60 miliardów rocznie
Codd nie dożył pełni triumfu swojego modelu – zmarł w 2003 roku. Ale jego dziedzictwo jest wszechobecne w cyfrowym świecie.
Udział RDBMS w rynku baz danych – wykres kołowy

Model relacyjny zdominował świat danych na czterdzieści lat i wciąż jest dominującym paradygmatem. SQL jako standard sprawił, że programiści mogą przechodzić między systemami z minimalnym wysiłkiem. Wartość rynku RDBMS wynosi około sześćdziesięciu miliardów dolarów rocznie.

Dziedzictwo rewolucji relacyjnej obejmuje niezależność danych, modelowanie ER, normalizację, transakcje ACID i cały ekosystem narzędzi. Firmy takie jak Oracle, Microsoft, IBM i społeczność open source PostgreSQL i MySQL wciąż rozwijają technologie relacyjne.

Rewolucja relacyjna była rewolucją konceptualną, nie technologiczną. Codd nie wynalazł nowego dysku – wynalazł nowy sposób myślenia o danych. To dowodzi, że w informatyce idee są ważniejsze od implementacji, a dobrze sformułowana abstrakcja może przetrwać dziesięciolecia.

39/52Bazy obiektowe – obiekty w bazie

Próba przełamania impedance mismatch

  • OODBMS (Object-Oriented Database Management System) – późne lata 80., wczesne 90.
  • Problem: języki obiektowe (C++, Java) → kod w obiektach, baza w tabelach – ciągła konwersja
  • Produkty: ObjectStore (1989), GemStone (1988), Versant, Objectivity/DB
  • Standard ODMG – Object Data Management Group – próba ujednolicenia interfejsu
  • Język OQL – Object Query Language – SQL dla obiektów
Bazy obiektowe były odpowiedzią na potrzebę trwałości (persistence) dla obiektów. Rynek je odrzucił – ale lekcja pozostała.
Obiekt w pamięci vs rekord w tabeli – impedance mismatch

Bazy obiektowe, które pojawiły się w późnych latach osiemdziesiątych, próbowały rozwiązać problem impedance mismatch między obiektowym kodem a relacyjnymi tabelami. Produkty takie jak ObjectStore i GemStone przechowywały obiekty bezpośrednio, eliminując potrzebę mapowania.

Dlaczego OODBMS nie zdobyły rynku? Brak SQL – programiści musieli uczyć się nowego języka. Problemy z zapytaniami ad-hoc – OQL był słabszy od SQL. Brak standaryzacji – każdy produkt miał własny interfejs. Gorsza wydajność w złożonych zapytaniach.

Lekcja z porażki OODBMS: sam paradygmat nie wystarczy. Potrzebny jest też język zapytań, narzędzia i społeczność. To samo zrozumieli twórcy NoSQL. Bazy obiektowe nie zniknęły całkowicie – ich idee wchłonęły ORDBMS i nowoczesne funkcje języków programowania.

40/52Obiektowo-relacyjne – best of both worlds

Hybryda, która zwyciężyła

  • ORDBMS – relacyjny rdzeń + rozszerzenia obiektowe
  • PostgreSQL (1986) – Michael Stonebraker, Post-Ingres – obiektowo-relacyjna od początku
  • Rozszerzenia: typy zdefiniowane przez użytkownika, dziedziczenie tablic, funkcje, operatory
  • Oracle 8 (1999) – obiektowe rozszerzenia: typy, tablice zagnieżdżone, referencje
  • SQL:1999 (SQL3) – standardowe rozszerzenia obiektowe dla SQL
PostgreSQL jest najlepszym przykładem ORDBMS: relacyjny fundament + obiektowe możliwości + open source.
Architektura PostgreSQL – silnik relacyjny z warstwą obiektową

ORDBMS, czyli obiektowo-relacyjne bazy danych, stanowią kompromis między czystym modelem relacyjnym a obiektowym. PostgreSQL zapoczątkowany przez Stonebrakera jako Post-Ingres w 1986 roku był obiektowo-relacyjny od początku, oferując typy definiowane przez użytkownika i dziedziczenie tablic.

Oracle 8 wprowadził obiektowe rozszerzenia w 1999 roku, a standard SQL:1999 zdefiniował wspólne mechanizmy. Rozszerzenia obejmują typy strukturalne, tablice zagnieżdżone, referencje i funkcje zdefiniowane przez użytkownika.

PostgreSQL jest najlepszym przykładem ORDBMS – relacyjny fundament wzbogacony o obiektowe możliwości i otwarte źródło. Dziś PostgreSQL oferuje wsparcie dla JSON, indeksów GiST, wyszukiwania pełnotekstowego i replikacji strumieniowej, będąc najbardziej zaawansowaną relacyjną bazą open source.

41/52Hurtownie danych i OLAP

Analiza vs transakcje – dwa światy

  • E.F. Codd (1993) – OLAP (On-Line Analytical Processing) – 12 zasad analizy wielowymiarowej
  • Bill Inmon (1992) – "Building the Data Warehouse" – Corporate Information Factory
  • Ralph Kimball (1996) – model wymiarowy (star schema, snowflake schema)
  • Różnica OLTP vs OLAP:
CechaOLTP (transakcyjne)OLAP (analityczne)
CelObsługa transakcjiAnaliza danych
DostępMało rekordów na razDużo rekordów na raz
SchematZnormalizowany (3NF)Denormalizowany (gwiazda)
ObciążenieZapis + odczytGłównie odczyt
Hurtownie danych oddzieliły analitykę od transakcyjności. Dwa różne światy wymagają dwóch różnych optymalizacji.
Schemat gwiazdy (star schema) – fakt + wymiary

Hurtownie danych wyodrębniły się jako osobna kategoria w latach dziewięćdziesiątych, gdy Bill Inmon i Ralph Kimball zdefiniowali podejścia do analityki. Inmon proponował Corporate Information Factory z scentralizowaną hurtownią, Kimball model wymiarowy z faktami i wymiarami. Oba podejścia oddzieliły analitykę od transakcyjności.

ETL to proces przenoszenia danych z systemów OLTP do hurtowni. Ekstrakcja, transformacja i ładowanie odbywały się tradycyjnie w oknie przestoju. Nowoczesne podejścia ELT ładują dane surowo i przetwarzają w hurtowni, korzystając z mocy obliczeniowej platform analitycznych.

Współczesne rozwiązania ewoluują w kierunku Data Lakes i Lakehouses. Apache Iceberg i Delta Lake łączą elastyczność jezior danych z gwarancjami transakcyjnymi hurtowni. OLAP przesuwa się w stronę przetwarzania strumieniowego, gdzie dane analizowane są w czasie rzeczywistym.

42/52XML i bazy semistrukturalne

Dane bez sztywnego schematu

  • XML (1998) – eXtensible Markup Language – uniwersalny format wymiany danych
  • Bazy XML: eXist, BaseX, MarkLogic (2001) – przechowywanie i zapytania na dokumentach XML
  • XPath – język nawigacji po strukturze XML (ścieżki do elementów)
  • XQuery (2007) – deklaratywny język zapytań dla XML (wzorowany na SQL)
  • JSON (2001) – JavaScript Object Notation – lżejsza alternatywa dla XML
XML i JSON to odpowiedź na potrzebę przechowywania danych bez sztywnego schematu. Każdy dokument może mieć inną strukturę.
Porównanie XML vs JSON – ta sama informacja w dwóch formatach

XML stał się standardem wymiany danych w latach 2000, napędzany przez web services i SOAP. Jego siłą jest rozszerzalność i walidacja przez XML Schema. Wada – rozwlekłość – sprawiła, że JSON wyparł XML w wielu zastosowaniach dzięki prostocie i mniejszej objętości.

Bazy XML, takie jak eXist i MarkLogic, przechowywały dokumenty i umożliwiały zapytania XPath i XQuery. Stanowiły odpowiedź na potrzebę przechowywania danych bez sztywnego schematu, gdzie każdy dokument może mieć inną strukturę.

Współczesne RDBMS obsługują JSON jako natywny typ danych z indeksowaniem i zapytaniami. To przykład absorpcji idei semistrukturalnych przez relacyjny mainstream. JSON stał się uniwersalnym formatem wymiany, a bazy danych dostosowały się do nowej rzeczywistości.

43/52Polskie akcenty w historii baz danych

Rodzime systemy bazodanowe

  • RODAN (1979-1980) – W. Staniszkis i A. Dutkowski – polski system zarządzania bazą danych
  • Innowacja RODAN: model sieciowy (CODASYL) + front-end w języku SEQUEL (prekursor SQL) – mapowanie modelu sieciowego na relacyjny
  • JANTAR (1984) – system zarządzania bazą danych opracowany w MSW dla polskiej administracji
  • Systemy ODRA – rodzime komputery (ODRA 1300) z własnymi systemami zarządzania danymi
  • Polska w latach 70./80. – embargo technologiczne – zmuszało do tworzenia własnych rozwiązań
RODAN był jednym z pierwszych systemów łączących model sieciowy z relacyjnym językiem zapytań – innowacja na skalę światową.
Okładka dokumentacji systemu RODAN – polska myśl bazodanowa

System RODAN powstał w Instytucie Łączności w Warszawie w latach 1979–1980 jako polski system zarządzania bazą danych. Jego innowacją było dodanie warstwy relacyjnego języka SEQUEL na model sieciowy CODASYL, co pozwalało programistom pisać zapytania deklaratywnie, podczas gdy system nawigował po strukturach sieciowych.

JANTAR, opracowany w MSW w 1984 roku, służył do ewidencji ludności i innych rejestrów administracyjnych. Oba systemy powstały w warunkach embarga technologicznego, które zmuszało polskich inżynierów do tworzenia własnych rozwiązań od podstaw.

Systemy ODRA z rodzimymi systemami zarządzania danymi uzupełniają obraz polskiej myśli informatycznej w czasach PRL. Mimo ograniczeń technologicznych, polskie rozwiązania bazodanowe były na światowym poziomie, a RODAN wyprzedził komercyjne implementacje SQL w systemach sieciowych.

44/52NoSQL – bunt przeciwko SQL

Not Only SQL

  • Przełom lat 2000: Google, Amazon, Facebook – skala danych przekracza możliwości RDBMS
  • CAP Theorem (Eric Brewer, 2000): Consistency, Availability, Partition Tolerance – wybierz 2 z 3
  • Kategorie NoSQL:
TypPrzykładyZastosowanie
Klucz-wartośćRedis, DynamoDB, RiakCache, sesje, koszyki
DokumentoweMongoDB, CouchDBKatalogi produktów, CMS
KolumnoweCassandra, HBaseBig Data, IoT, analityka
GrafoweNeo4j, Amazon NeptuneSpołeczności, rekomendacje
NoSQL nie oznacza "bez SQL" – to "Not Only SQL". Relacyjne bazy nie znikają, ale przestają być jedynym wyborem.
Mapa kategorii NoSQL – dokumentowe, klucz-wartość, kolumnowe, grafowe

Ruch NoSQL był odpowiedzią na konkretne problemy przełomu lat 2000. Skalowanie poziome – RDBMS skalują się pionowo, NoSQL horyzontalnie. Elastyczność schematu – NoSQL pozwala na różne struktury w jednej kolekcji. Wydajność przy prostych zapytaniach – brak JOIN oznacza mniej narzutu.

Google Bigtable z 2004 i Amazon Dynamo z 2007 zdefiniowały paradygmat NoSQL. Bigtable wprowadził model kolumnowy, Dynamo model klucz-wartość. MongoDB spopularyzował NoSQL wśród programistów dzięki prostocie i JavaScript API.

Cztery główne kategorie NoSQL to klucz-wartość dla cache i sesji, dokumentowe dla katalogów i CMS, kolumnowe dla Big Data i IoT oraz grafowe dla społeczności i rekomendacji. NoSQL nie oznacza bez SQL – to Not Only SQL. Relacyjne bazy nie znikają, ale przestają być jedynym wyborem.

45/52Big Data – kiedy baza to za mało

3V i nowe paradygmaty

  • Hadoop (2005) – Doug Cutting – inspirowany Google MapReduce i GFS
  • HDFS – Hadoop Distributed File System – rozproszony system plików
  • MapReduce – model programowania dla danych na dużą skalę
  • Apache Spark (2010) – przetwarzanie in-memory, znacznie szybsze od MapReduce
  • 3V (Doug Laney, 2001): Volume (objętość), Velocity (szybkość), Variety (różnorodność)
  • Data Lake – surowe dane w naturalnym formacie, przetwarzane w razie potrzeby
Big Data to nie tylko ilość danych. To także szybkość ich napływu (streaming) i różnorodność formatów.
Architektura Hadoop – HDFS, MapReduce, YARN

Hadoop zrewolucjonizował myślenie o danych: zamiast przenosić dane do programu, program jest przesyłany do danych. Ta zmiana paradygmatu – data locality – umożliwiła przetwarzanie petabajtów na tysiącach serwerów. Doug Cutting stworzył Hadoop w 2005 roku, inspirując się Google MapReduce i GFS.

Trzy V Big Data według Doug Laneya z 2001 roku to Volume, Velocity i Variety. Objętość danych rośnie wykładniczo, szybkość napływu wymaga przetwarzania strumieniowego, a różnorodność formatów obejmuje tekst, obraz, dźwięk i dane sensoryczne.

Współczesny ekosystem obejmuje Kafka do streamingu, Spark do przetwarzania, Hive i Trino do zapytań SQL na Hadoop, Airflow do orkiestracji i Delta Lake do warstwy jeziora. Big Data ewoluuje w kierunku Data Mesh i Data Fabric, decentralizując odpowiedzialność za dane.

46/52NewSQL – SQL skalujący się horyzontalnie

SQL bez kompromisów skalowalności

  • Google Spanner (2012) – globalna baza danych, ACID, SQL, horyzontalne skalowanie
  • TrueTime – zegary atomowe + GPS – globalna spójność bez centralnego zegara
  • CockroachDB (2015) – open source inspirowany Spannerem – "Spanner bez Google"
  • VoltDB – in-memory, ACID, skalowanie poziome (architektura shared-nothing)
  • Cechy NewSQL: SQL + ACID + horyzontalne skalowanie + wysoka dostępność
NewSQL próbuje pogodzić to, co wydawało się niemożliwe: SQL (bogate zapytania, ACID) z horyzontalnym skalowaniem (NoSQL).
Architektura Google Spanner – regiony, TrueTime, globalna spójność

Google Spanner, ogłoszony w 2012 roku, jest prawdopodobnie najbardziej zaawansowanym systemem bazodanowym na świecie. Łączy SQL z horyzontalnym skalowaniem i silną spójnością globalną. TrueTime – synchronizacja czasu przez GPS i zegary atomowe – pozwala na globalne transakcje bez centralnego koordynatora.

CockroachDB autorstwa Spencera Kimballa, współtwórcy Bigtable, jest open-source'ową implementacją idei Spannera. Używa zegarów logicznych HLC zamiast TrueTime. VoltDB oferuje in-memory ACID z architekturą shared-nothing.

NewSQL próbuje pogodzić to, co wydawało się niemożliwe: SQL z bogatymi zapytaniami i ACID z horyzontalnym skalowaniem NoSQL. Kategoria wciąż się rozwija, a produkty dojrzewają. NewSQL pokazuje, że SQL nie tylko przetrwał, ale ewoluuje, by sprostać nowym wyzwaniom skali.

47/52Bazy grafowe – siła relacji

Renesans modelu sieciowego w nowej odsłonie

  • Neo4j (2007) – lider baz grafowych – open source + komercyjne wsparcie
  • Model: węzły (encje) + krawędzie (relacje) + właściwości (property graph)
  • Różnica vs relacyjne: relacje są pierwszej klasy – nie wymagają JOIN, są szybkie
  • Cypher Query Language – deklaratywny język dla grafów (MATCH, WHERE, RETURN)
  • Zastosowania: social media (znajomi znajomych), rekomendacje, fraud detection, śledzenie łańcucha dostaw
Jeśli Twoje dane to przede wszystkim relacje (kto zna kogo, co jest częścią czego), baza grafowa może być 1000x szybsza od relacyjnej.
Graf – węzły (osoby) połączone krawędziami (ZNA, LUBI, PRACUJE_W)

Bazy grafowe są renesansem modelu sieciowego CODASYL w nowej odsłonie. Neo4j, lider rynku od 2007 roku, oferuje model property graph z węzłami, krawędziami i właściwościami. Różnica w stosunku do CODASYL: deklaratywny język Cypher i nowoczesna implementacja indeksów.

W bazach grafowych relacje są pierwszej klasy – nie wymagają JOIN, są szybkie. Zapytanie MATCH (a:Osoba {imie: "Jan"})-[:ZNA*1..3]->(b) RETURN b znajduje znajomych do trzech pośredników. W SQL takie zapytanie wymaga skomplikowanego rekurencyjnego CTE.

Zastosowania: social media, rekomendacje, fraud detection, łańcuch dostaw. Jeśli dane to przede wszystkim relacje, baza grafowa może być tysiąc razy szybsza od relacyjnej. Cypher, SPARQL i Gremlin oferują deklaratywne zapytania do grafów.

48/52Bazy w chmurze – baza jako usługa

Database-as-a-Service (DBaaS)

  • AWS RDS (2009) – pierwszy popularny DBaaS – Oracle, MySQL, PostgreSQL, SQL Server
  • Amazon Aurora (2015) – kompatybilna z MySQL/PostgreSQL, 5x wydajniejsza dzięki rozproszonemu storage
  • Google BigQuery – serverless data warehouse – płacisz za zapytania, nie za serwer
  • Azure Cosmos DB – globalnie rozproszona, multi-model (dokument, graf, klucz-wartość, kolumnowa)
  • Cloud-native: CockroachDB, PlanetScale (Vitess), Supabase, Neon
Chmura zmieniła model ekonomiczny baz danych: nie kupujesz serwera, nie płacisz z góry – płacisz za użycie.
Trzej dostawcy chmury – AWS, Azure, Google Cloud – z ofertami baz danych

Bazy w chmurze dzielą się na zarządzane i natywnie chmurowe. Zarządzane to tradycyjne bazy na infrastrukturze chmurowej, jak AWS RDS czy Cloud SQL. Natywnie chmurowe, jak Aurora, BigQuery, Spanner czy Cosmos DB, są zaprojektowane od podstaw dla chmury z automatycznym skalowaniem.

Amazon Aurora z 2015 roku jest kompatybilna z MySQL i PostgreSQL, ale pięciokrotnie wydajniejsza dzięki rozproszonemu storage. Google BigQuery oferuje model serverless – płacisz za zapytania, nie za serwer. Cosmos DB to globalnie rozproszona baza multi-model.

Trend serverless eliminuje myślenie o serwerach. Aurora Serverless i Neon oferują PostgreSQL bez zarządzania infrastrukturą. Edge databases przenoszą dane na urządzenia brzegowe z synchronizacją do chmury. Chmura zmieniła model ekonomiczny: nie kupujesz, płacisz za użycie.

49/52Przyszłość – dokąd zmierzamy?

Kierunki rozwoju baz danych

  • Bazy wektorowe (Pinecone, Weaviate, Milvus) – przechowywanie i wyszukiwanie embeddingów dla AI/LLM
  • Bazy strumieniowe (ksqlDB, Materialize, RisingWave) – dane w ruchu, zapytania ciągłe
  • Self-driving databases (Oracle Autonomous DB) – automatyzacja: tuning, backup, skalowanie
  • Edge databases – bazy na urządzeniach IoT, synchronizacja offline/online
  • Converged databases – jedna baza dla wielu modeli (relacyjny, dokumentowy, grafowy, wektorowy)
  • AI-natywne bazy – wbudowane modele ML, zapytania w języku naturalnym
Jedno jest pewne – dane będą tylko rosły. Szacuje się, że do 2027 roku powstanie 200+ zettabajtów danych rocznie.
Wykres wzrostu danych – od 1 ZB (2010) do 200+ ZB (2027)

Bazy wektorowe, takie jak Pinecone, Weaviate i Milvus, stały się kluczowe wraz z rozwojem dużych modeli językowych. Embeddings – wektorowe reprezentacje słów i dokumentów – wymagają wyspecjalizowanych indeksów HNSW i IVF do szybkiego wyszukiwania podobieństwa. To najszybciej rosnący segment rynku.

Bazy strumieniowe jak ksqlDB i Materialize oferują zapytania ciągłe na danych w ruchu. Self-driving databases automatyzują tuning, backup i skalowanie. Converged databases łączą wiele modeli w jednym silniku – relacyjny, dokumentowy, grafowy i wektorowy.

Przyszłość to AI-natywne bazy z wbudowanymi modelami ML i zapytaniami w języku naturalnym. Szacuje się, że do 2027 roku powstanie ponad dwieście zettabajtów danych rocznie. Jedno jest pewne – dane będą tylko rosły, a narzędzia do ich przetwarzania będą ewoluować.

50/52Mapa ewolucji – podsumowanie

10 000 lat w 52 slajdach

Główne punkty zwrotne w historii przechowywania danych:

  1. 7500 p.n.e. – Żetony gliniane (pierwsze "rekordy")
  2. 3500 p.n.e. – Bullae (pierwsze indeksy)
  3. 3100 p.n.e. – Pismo klinowe (pierwsze bazy administracyjne)
  4. 105 r. n.e. – Papier (tani, lekki, elastyczny nośnik)
  5. 1890 – Karty perforowane Holleritha (dane czytane maszynowo)
  6. 1956 – IBM RAMAC (pierwszy dysk twardy – dostęp swobodny)
  7. 1966 – IMS IBM (pierwszy komercyjny DBMS – model hierarchiczny)
  8. 1970 – Codd: model relacyjny (rewolucja konceptualna)
  9. 1979 – Oracle (pierwsza komercyjna RDBMS z SQL)
  10. 2000+ – NoSQL, Big Data, NewSQL, chmura, AI/wektorowe
Każda nowa era nie zastępuje całkowicie poprzedniej – raczej rozszerza możliwości. Dziś mamy więcej wyborów niż kiedykolwiek.
Oś czasu – od gliny do chmury – 10 kluczowych punktów

Historia baz danych to opowieść o stopniowym abstrahowaniu od fizyczności. Na początku dane były fizyczne – gliniane tabliczki, papier. Potem fizyczne, ale czytane maszynowo – karty perforowane. Potem magnetyczne z dostępem swobodnym – dyski. Dziś są wirtualne w chmurze, a jutro będą poznawcze.

Mimo abstrakcji podstawowe problemy pozostają: jak przechować informację, jak ją szybko znaleźć, jak zapewnić spójność i bezpieczeństwo. Odpowiedzi ewoluują, ale pytania są niezmienne od dziesięciu tysięcy lat. Każda era rozwiązywała problemy poprzedniej, tworząc nowe wyzwania.

Kluczowe punkty zwrotne: żetony gliniane, bullae, pismo klinowe, papier, karty Holleritha, RAMAC, IMS, model relacyjny Codda, Oracle, NoSQL, Big Data, NewSQL i chmura. Każdy z tych punktów zmieniał sposób, w jaki ludzkość przechowuje i przetwarza informacje, przybliżając nas do świata, w którym dane są wszędzie.

51/52Bibliografia i źródła

Kluczowe publikacje i materiały

  • E.F. Codd (1970) – "A Relational Model of Data for Large Shared Data Banks" – Communications of the ACM
  • C. Bachman (1973) – "The Programmer as Navigator" – Turing Award Lecture
  • P. Chen (1976) – "The Entity-Relationship Model – Toward a Unified View of Data"
  • M. Stonebraker, E. Wong – INGRES papers (UC Berkeley, 1974-1980)
  • D. Chamberlin, R. Boyce (1974) – "SEQUEL: A Structured English Query Language"
  • M. Stonebraker, J.M. Hellerstein – "What Goes Around Comes Around" – ewolucja modeli danych
  • D. Schmandt-Besserat (1996) – "How Writing Came About" – o żetonach glinianych
  • E. Brewer (2000) – "Towards Robust Distributed Systems" – CAP Theorem
  • Online: Historia Informatyki (historiainformatyki.pl), Wikipedia, BC PW
Większość wiedzy o bazach danych jest dostępna za darmo. Warto czytać oryginalne publikacje – nie tracą na aktualności.
Okładki/zdjęcia kluczowych publikacji – Codd, Bachman, Chen

Szczególnie polecany jest artykuł What Goes Around Comes Around autorstwa Stonebrakera i Hellera z MIT. To doskonały przegląd ewolucji modeli danych z komentarzami uczestników wydarzeń. Pokazuje, że wiele współczesnych idei ma swoje korzenie w pracach sprzed dekad.

Dla zainteresowanych prehistorią poleca się How Writing Came About Schmandt-Besserat – fascynującą książkę o żetonach glinianych jako prekursorach pisma. Oryginalne publikacje Codda, Bachmana i Chena są wciąż aktualne i warte przeczytania.

Większość wiedzy o bazach danych jest dostępna za darmo w Internecie. Społeczności open source, blogi techniczne i archiwa akademickie oferują bogactwo materiałów. Warto sięgać do źródeł, nie tylko do podręczników – historia uczy, że najlepsze pomysły często pochodzą z oryginalnych prac badawczych.

52/52Dziękuję – pytania i dyskusja

Co dalej?

Prezentacja "Bazy danych – Historia baz danych" – 52 slajdy, 10 000 lat w podróży.

Zachęcam do:

  • Zadawania pytań – które z etapów historii Cię zaintrygował?
  • Dyskusji – która era była najważniejsza? Jaka będzie przyszłość?
  • Eksperymentowania – wypróbuj różne bazy: SQLite, PostgreSQL, MongoDB, Neo4j
  • Czytania – sięgnij po oryginalne publikacje, nie tylko podręczniki
Bazy danych to fundament cyfrowego świata. Zrozumienie ich historii pomaga świadomie wybierać narzędzia i projektować lepsze systemy.

Dziękuję za uwagę!

Grafika podsumowująca – wszystkie ery na jednej osi czasu

Historia nie jest liniowa – to nie jest prosta ścieżka od gliny do chmury, lecz sieć powiązanych idei. IMS nie był gorszy od Oracle – był odpowiedzią na problemy lat sześćdziesiątych. NoSQL nie jest lepszy od SQL – jest odpowiedzią na problemy lat 2000. Każde narzędzie ma swoją historię i rację bytu.

Najważniejsza lekcja: nie ma srebrnej kuli. SQL nie rozwiąże wszystkich problemów skali, NoSQL nie zastąpi ACID tam, gdzie jest potrzebne. Kluczową umiejętnością inżyniera jest wybór odpowiedniego narzędzia do problemu, a nie szukanie jednego narzędzia do wszystkich problemów.

Zrozumienie historii baz danych pomaga świadomie wybierać technologie i projektować lepsze systemy. Każda decyzja architektoniczna to kontynuacja dziesięciu tysięcy lat poszukiwań lepszego sposobu przechowywania i przetwarzania informacji. To fascynująca podróż, która wciąż trwa.

Podgląd