Databases

Introductie tot Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Wat zijn databases?

 

Afbeelding van een database

Een vaak grote verzameling data, speciaal georganiseerd voor snelle zoekactie en opvraging.

 

  • Slaat data op
  • Organiseert data
  • Haal/zoek data op via een DBMS
Introductie tot Data Engineering

Databases en bestandsopslag

Databases

 

Afbeelding van een database

  • Heel georganiseerd
  • Functionaliteit zoals zoeken, replicatie, ...

Bestandsystemen

 

Afbeelding van bestand

  • Minder georganiseerd
  • Eenvoudig, weinig extra functionaliteit
Introductie tot Data Engineering

Gestructureerde en ongestructureerde data

Gestructureerd: databaseschema

  • Relationele database

 

Semi-gestructureerd

  • JSON

 

Ongestructureerd: schemaloos, meer als bestanden

  • Video's, foto's

Afbeelding van een database

 

{ "key": "value"}

 

Afbeelding van bestand

Introductie tot Data Engineering

SQL en NoSQL

SQL

  • Tabellen
  • Databaseschema
  • Relationele databases

 

MySQL-afbeelding

PostgreSQL-afbeelding

NoSQL

  • Niet-relationele databases
  • Gestructureerd of ongestructureerd
  • Key-value stores (bv. caching)
  • Documentdatabase (bv. JSON-objecten)

 

Redis/MongoDB-afbeelding

Introductie tot Data Engineering

SQL: Het databaseschema

-- Create Customer Table 
CREATE TABLE "Customer" (
  "id" SERIAL NOT NULL,
  "first_name" varchar,
  "last_name" varchar,
  PRIMARY KEY ("id")
);

-- Create Order Table 
CREATE TABLE "Order" (
  "id" SERIAL NOT NULL,
  "customer_id" integer REFERENCES "Customer",
  "product_name" varchar,
  "product_price" integer,
  PRIMARY KEY ("id")
);

Databaseschema voor Customer en Order

-- Join beide tabellen op de foreign key
SELECT * FROM "Customer"
INNER JOIN "Order"
ON "customer_id" = "Customer"."id";
 id | first_name | ... | product_price
  1 | Vincent    | ... |            10
Introductie tot Data Engineering

SQL: Sterschema

Het sterschema bestaat uit één of meer facttabellen die verwijzen naar een aantal dimensietabellen.

Sterschema van Customers en Orders

  • Feiten: gebeurtenissen (bijv. productbestellingen)
  • Dimensies: context/kenmerken (bijv. klantinformatie)
1 Wikipedia: https://en.wikipedia.org/wiki/Star_schema
Introductie tot Data Engineering

Laten we oefenen!

Introductie tot Data Engineering

Preparing Video For Download...