Veritabanları

Data Engineering'e Giriş

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Veritabanları nedir?

 

Bir veritabanı görseli

Genellikle büyük, hızlı arama ve getirme için düzenlenmiş veri koleksiyonu.

 

  • Veriyi tutar
  • Veriyi düzenler
  • Veriye VTYS ile erişim/arama
Data Engineering'e Giriş

Veritabanları ve dosya depolama

Veritabanları

 

Bir veritabanı görseli

  • Çok düzenli
  • Arama, çoğaltma vb. işlevler

Dosya sistemleri

 

Bir dosya görseli

  • Daha az düzenli
  • Basit, az ek işlev
Data Engineering'e Giriş

Yapılı ve yapılandırılmamış veri

Yapılı: veritabanı şeması

  • İlişkisel veritabanı

 

Yarı yapılı

  • JSON

 

Yapılandırılmamış: şemasız, dosya gibidir

  • Videolar, fotoğraflar

Bir veritabanı görseli

 

{ "key": "value"}

 

Bir dosya görseli

Data Engineering'e Giriş

SQL ve NoSQL

SQL

  • Tablolar
  • Veritabanı şeması
  • İlişkisel veritabanları

 

MySQL Görseli

PostgreSQL Görseli

NoSQL

  • İlişkisel olmayan veritabanları
  • Yapılı veya yapılandırılmamış
  • Anahtar-değer depoları (örn. önbellekleme)
  • Belge DB (örn. JSON nesneleri)

 

Redis/MongoDB Görseli

Data Engineering'e Giriş

SQL: Veritabanı şeması

-- 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")
);

Müşteri ve Sipariş için Veritabanı Şeması

-- Her iki tabloyu yabancı anahtar ile birleştir
SELECT * FROM "Customer"
INNER JOIN "Order"
ON "customer_id" = "Customer"."id";
 id | first_name | ... | product_price
  1 | Vincent    | ... |            10
Data Engineering'e Giriş

SQL: Yıldız şeması

Yıldız şeması, bir veya daha fazla olgu tablosunun çok sayıda boyut tablosuna başvurduğu yapıdır.

Müşteriler ve Siparişlerin Yıldız Şeması Diyagramı

  • Olgular: gerçekleşen olaylar (örn. Ürün Siparişleri)
  • Boyutlar: bağlamsal bilgiler (örn. Müşteri Bilgileri)
1 Vikipedi: https://en.wikipedia.org/wiki/Star_schema
Data Engineering'e Giriş

Hadi pratik yapalım!

Data Engineering'e Giriş

Preparing Video For Download...