Data opslaan

Databaseontwerp

Lis Sulmont

Curriculum Manager

Data structureren

1. Gestructureerde data  

  • Volgt een schema
  • Gedefinieerde datatypen & relaties

bijv. SQL, tabellen in een relationele database

2. Ongestructureerde data  

  • Zonder schema
  • Vormt het grootste deel van alle data

bijv. foto’s, chatlogs, MP3

3. Semi-gestructureerde data

  • Volgt geen overkoepelend schema
  • Zelfbeschrijvende structuur

bijv. NoSQL, XML, JSON

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

Data structureren

Diagram met het spectrum tussen gestructureerde en ongestructureerde data

1 Flower door Sam Oth en Database Diagram door Nick Jenkins via Wikimedia Commons https://commons.wikimedia.org/wiki/File:Languages_xml.png
Databaseontwerp

Data opslaan buiten traditionele databases

  • Traditionele databases
    • Voor realtime relationele gestructureerde data ⟶ OLTP
  • Datawarehouses
    • Voor analyse van gearchiveerde gestructureerde data ⟶ OLAP
  • Data lakes
    • Voor opslag van alle structuren = flexibiliteit en schaalbaarheid
    • Voor big data-analyse
Databaseontwerp

Datawarehouses

  • Geoptimaliseerd voor analytics - OLAP
    • Ingericht voor lezen/aggregatie
    • Meestal alleen-lezen
  • Bevat data uit meerdere bronnen
  • Massively Parallel Processing (MPP)
  • Vaak een gedenormaliseerd schema en dimensioneel model

Data marts

  • Subset van datawarehouses
  • Gericht op één onderwerp

Amazon Redshift, Google BigQuery en Azure SQL Data Warehouse

Datamart als subset van een datawarehouse

Databaseontwerp

Data lakes

  • Slaat alle datatypes op tegen lagere kosten:
    • bijv. ruwe data, operationele databases, IoT-logs, realtime, relationeel en niet-relationeel
  • Bewaart alles; kan petabytes beslaan
  • Schema-on-read i.p.v. schema-on-write
  • Moet gecatalogiseerd worden, anders wordt het een data swamp
  • Draai big-data-analytics met diensten als Apache Spark en Hadoop
    • Nuttig voor deep learning en data discovery omdat dit veel data vereist

Amazon, Google en Microsoft bieden Data Lake-oplossingen

Databaseontwerp

ETL

ELT

Databaseontwerp

Laten we oefenen!

Databaseontwerp

Preparing Video For Download...