🎯 Definicja
Federacja Danych (często zwana Wirtualizacją Danych) to architektura, w której dane pozostają w swoich systemach źródłowych (nie są kopiowane do jednej hurtowni), a specjalny Silnik Federacyjny (np. Trino, Denodo) pozwala odpytywać je wszystkie naraz za pomocą jednego zapytania SQL, tak jakby były w jednej bazie.
🔑 Kluczowe punkty
- Brak kopiowania (Zero-Copy): Oszczędność miejsca i czasu na ETL.
- Real-time: Dane są zawsze aktualne (bo czytamy ze źródła).
- Single Point of Access: Użytkownik widzi “jedną wielką bazę”, a pod spodem może być 50 różnych systemów (Oracle, S3, API, Kafka).
📚 Szczegółowe wyjaśnienie
Jak to działa?
Użytkownik pisze: SELECT * FROM oracle.zakupy JOIN mongo.logi ON ...
Silnik (np. Trino):
- Wysyła zapytanie SQL do Oracle (Pushdown).
- Pobiera JSONy z Mongo.
- Łączy te dane w swojej pamięci RAM.
- Zwraca wynik użytkownikowi.
💡 Przykład zastosowania
Dział Compliance musi sprawdzić, czy dane klienta w systemie CRM (Salesforce) zgadzają się z danymi w starym systemie bilingowym (Mainframe) i logami na S3. Zamiast budować pipeline ETL, który potrwa miesiąc, analityk podpina te trzy źródła do Trino i w 15 minut pisze zapytanie SQL łączące te trzy światy.
📌 Źródła
- “Data Virtualization for Business Intelligence Systems” - Rick van der Lans.
- Trino Documentation.
👽 Brudnopis
- Zaleta: Szybkość dostępu do nowych źródeł (Time-to-Value).
- Wade: Obciążenie systemów źródłowych (zapytania analityczne lecą na produkcję) i możliwa niska wydajność przy dużych wolumenach (brak pre-agregacji).
- Często element koncepcji Data Mesh.