Przechowywanie danych

Projektowanie baz danych

Lis Sulmont

Curriculum Manager

Strukturyzacja danych

1. Dane ustrukturyzowane  

  • Zgodne ze schematem
  • Zdefiniowane typy danych i relacje

np. SQL, tabele w relacyjnej bazie danych

2. Dane nieustrukturyzowane  

  • Bez schematu
  • Stanowią większość danych na świecie

np. zdjęcia, logi czatów, MP3

3. Dane częściowo ustrukturyzowane

  • Nie podlegają ogólnemu schematowi
  • Samookreślająca się struktura

np. NoSQL, XML, JSON

# Example of a JSON file
"user": {
     "profile_use_background_image": true, 
     "statuses_count": 31, 
     "profile_background_color": "C0DEED", 
     "followers_count": 3066, 
     ...
Projektowanie baz danych

Strukturyzacja danych

Diagram przedstawiający spektrum między danymi ustrukturyzowanymi a nieustrukturyzowanymi

1 Flower by Sam Oth and Database Diagram by Nick Jenkins via Wikimedia Commons https://commons.wikimedia.org/wiki/File:Languages_xml.png
Projektowanie baz danych

Przechowywanie danych poza tradycyjnymi bazami

  • Tradycyjne bazy danych
    • Do przechowywania relacyjnych danych ustrukturyzowanych w czasie rzeczywistym ⟶ OLTP
  • Hurtownie danych
    • Do analizy archiwalnych danych ustrukturyzowanych ⟶ OLAP
  • Jeziora danych
    • Do przechowywania danych wszelkich struktur = elastyczność i skalowalność
    • Do analizy big data
Projektowanie baz danych

Hurtownie danych

  • Zoptymalizowane pod kątem analityki - OLAP
    • Organizacja danych do odczytu/agregacji
    • Zazwyczaj tylko do odczytu
  • Dane z wielu źródeł
  • Masowe przetwarzanie równoległe (MPP)
  • Zazwyczaj zdenormalizowany schemat i modelowanie wymiarowe

Hurtownie danych (data marts)

  • Podzbiór hurtowni danych
  • Dedykowany określonemu tematowi

Amazon Redshift, Google Big Query i Azure SQL Data Warehouse

Data mart jako podzbiór hurtowni danych

Projektowanie baz danych

Jeziora danych

  • Przechowywanie wszystkich typów danych niskim kosztem:
    • np. surowe dane, bazy operacyjne, logi urządzeń IoT, dane real-time, relacyjne i nierelacyjne
  • Zachowuje wszystkie dane; może zajmować petabajty
  • Schema-on-read zamiast schema-on-write
  • Wymaga katalogowania danych — bez tego staje się data swamp
  • Obsługa big data za pomocą narzędzi jak Apache Spark i Hadoop
    • Przydatne w deep learningu i eksploracji danych — działania wymagają dużych zbiorów danych

Amazon, Google i Microsoft oferują rozwiązania Data Lake

Projektowanie baz danych

ETL

ELT

Projektowanie baz danych

Czas na ćwiczenia!

Projektowanie baz danych

Preparing Video For Download...