Zestawienie najważniejszych skrótów i pojęć związanych z bazami danych, przetwarzaniem danych i AI. Od klasycznych terminów z lat 90. po nowoczesne koncepcje wokół baz wektorowych i LLM-ów.
Klasyczne - przetwarzanie transakcyjne i analityczne
OLTP - Online Transaction Processing. Szybkie operacje na pojedynczych rekordach - INSERT, UPDATE, DELETE. Codzienne “klikanie” w aplikacji. Termin spopularyzowany przez Jima Graya (Microsoft Research) w latach 80.
OLAP - Online Analytical Processing. Ciężkie zapytania czytające tysiące/miliony wierszy - raporty, agregacje, dashboardy. “Online” oznacza interaktywnie, w odróżnieniu od batchowych raportów generowanych godzinami. Termin wprowadzony przez Edgara Codda w 1993 roku.
HTAP - Hybrid Transactional/Analytical Processing. Baza próbująca obsłużyć OLTP i OLAP jednocześnie. Termin ukuty przez Gartner w 2014. Przykłady: TiDB, CockroachDB, SingleStore. W praktyce trudne do realizacji - artykuł PlanetScale o kolejkach w Postgresie dobrze pokazuje dlaczego mieszanie tych obciążeń bywa problematyczne.
ACID - Atomicity, Consistency, Isolation, Durability. Cztery właściwości gwarantujące niezawodność transakcji bazodanowych. Fundament relacyjnych baz danych od lat 80. Termin sformalizowany przez Jima Graya i Andreasa Reutera (1983).
MVCC - Multi-Version Concurrency Control. Mechanizm pozwalający wielu transakcjom czytać i pisać dane jednocześnie bez blokowania się nawzajem. Baza utrzymuje wiele wersji tego samego wiersza. Używany w PostgreSQL, Oracle, MySQL (InnoDB). Koncepcja z 1981 roku (Reed, MIT).
CAP - Consistency, Availability, Partition tolerance. Twierdzenie Erica Brewera z 2000 roku - system rozproszony może zagwarantować tylko 2 z 3 właściwości jednocześnie. Wpłynęło na projektowanie baz NoSQL.
Przetwarzanie i przepływ danych
ETL - Extract, Transform, Load. Klasyczny przepływ: wyciągnij dane ze źródła, przetransformuj (wyczyść, przelicz), załaduj do hurtowni. Dominujący wzorzec od lat 90.
ELT - Extract, Load, Transform. Nowoczesne podejście - załaduj surowe dane do hurtowni, transformuj tam. Możliwe dzięki mocy obliczeniowej BigQuery/Snowflake. Spopularyzowane ok. 2015-2018 wraz z rozwojem chmurowych hurtowni.
CDC - Change Data Capture. Śledzenie zmian w bazie w czasie rzeczywistym. Np. Debezium (Red Hat, 2017) czyta WAL Postgresa i streamuje zmiany do Kafki. Pozwala synchronizować systemy bez ciężkich batchowych eksportów.
DAG - Directed Acyclic Graph. Graf skierowany bez cykli, używany do modelowania przepływów zadań. Apache Airflow (Airbnb, 2014) spopularyzował ten termin w kontekście pipeline’ów danych.
Typy baz i architektury danych
DWH (Data Warehouse) - ustrukturyzowana hurtownia danych zoptymalizowana pod zapytania analityczne. Klasyka: Teradata (lata 80.), obecnie: Snowflake, BigQuery, Redshift.
Data Lake - magazyn surowych danych w dowolnym formacie (JSON, Parquet, CSV) na tanim storage (np. S3). Termin spopularyzowany przez Jamesa Dixona (Pentaho) w 2010.
Data Lakehouse - hybryda lake + warehouse. Surowe dane z ustrukturyzowanym dostępem. Databricks wprowadził termin ok. 2020 wraz z Delta Lake.
Data Mesh - architektura gdzie każdy zespół zarządza swoimi danymi jako produktem, zamiast jednej centralnej hurtowni. Zaproponowana przez Zhamak Dehghani (Thoughtworks) w 2019.
MDM - Master Data Management. Jedno źródło prawdy dla kluczowych danych (klient, produkt, adres). Ważne w dużych organizacjach z wieloma systemami.
Bazy wektorowe i wyszukiwanie
ANN - Approximate Nearest Neighbor. Algorytm szybkiego przybliżonego wyszukiwania najbliższych wektorów. Zamiast porównywać z każdym wektorem (O(n)), używa sprytnych struktur indeksowych.
HNSW - Hierarchical Navigable Small World. Najpopularniejszy algorytm ANN, opublikowany przez Malkov i Yashunin w 2016. Używany w pgvector, Pinecone, Qdrant, Weaviate. Buduje wielopoziomowy graf do szybkiego przeszukiwania.
pgvector - rozszerzenie PostgreSQL dodające typ danych wektorowych i indeksy ANN (HNSW, IVFFlat). Pozwala robić wyszukiwanie semantyczne bez oddzielnej bazy wektorowej. Autor: Andrew Kane, 2021.
AI i LLM-y - pojęcia związane z danymi
RAG - Retrieval-Augmented Generation. LLM przed odpowiedzią wyszukuje relevantne dokumenty z bazy wiedzy (zwykle przez embeddingi + ANN) i dołącza je do kontekstu. Zamiast polegać na pamięci modelu, dociągasz aktualne fakty. Zaproponowane przez Meta AI (Lewis et al.) w 2020.
Embeddingi - reprezentacja tekstu/obrazu jako wektora liczb (np. 1536 wymiarów). Podobne znaczeniowo teksty mają bliskie wektory. Fundament wyszukiwania semantycznego i RAG. Koncepcja z Word2Vec (Google, Mikolov, 2013), rozwinięta przez modele typu BERT i OpenAI Embeddings.
MCP - Model Context Protocol. Protokół Anthropic (2024) do podłączania zewnętrznych narzędzi i źródeł danych do LLM-ów. Standardowy interfejs - zamiast pisać osobną integrację dla każdego modelu, definiujesz narzędzia raz.
GraphRAG - RAG wzbogacony o graf wiedzy. Zamiast płaskiego wyszukiwania dokumentów, dane są powiązane w graf (encje + relacje). Lepsze odpowiedzi na złożone pytania wymagające łączenia informacji z wielu źródeł. Opublikowany przez Microsoft Research w 2024.
Przetwarzanie strumieniowe
CEP - Complex Event Processing. Wykrywanie wzorców w strumieniu zdarzeń w czasie rzeczywistym. Np. “3 nieudane logowania w 5 minut z tego samego IP - zablokuj”. Koncepcja z lat 2000., narzędzia: Apache Flink, Esper.
Stream vs Batch - dwa podejścia do przetwarzania. Batch przetwarza duże porcje co jakiś czas (nocny import), stream przetwarza zdarzenia na bieżąco (Kafka, Flink, Kinesis). Trend idzie w stronę streamu, ale batch nadal ma sens dla ciężkich transformacji.