⚠ Bu derste BigQuery e sorgu gönderilir. Ebeveyn eşliğinde.
Modül 4 · Veri Ambarı · ⏱ 7 dk

BigQuery'e ilk sorgu: 1 milyon satır + BigQuery internals

First BigQuery query + internals

Bu derste neler öğreneceksin

  • BigQuery columnar storage mantığını açıklar
  • 1M satır üzerinde SELECT çalıştırır
  • Slot-based query engine i kavrar

Büyük Defterin Bulut Kütüphanesi

Şimdiye kadar verileri kendi bilgisayarımızda bir dosyada (CSV) ya da Docker’da bir veritabanında (Postgres) tuttuk. Bunlar güzel ama bir gün 1 milyon (ya da 1 milyar) satır veriyle çalışman gerektiğinde, o defter yetmez. İşte o an BigQuery devreye girer: Google’ın buluttaki dev veri ambarı.

Düşün: şehir kütüphanesinde milyonlarca kitap var. Sen içeri girip “bana bilim kurgu romanlarını getir” diyorsun, kütüphaneci 1 saniyede rafları tarayıp önüne koyuyor. Sen dosyalara tek tek bakmıyorsun, kütüphaneci arka planda çok hızlı çalışıyor. BigQuery tam olarak böyle bir kütüphane: verilerin hep onda duruyor, sen SQL sorusu soruyorsun, o saniyeler içinde cevap veriyor.

Sütun = Sıra (Columnar Storage)

Normal bir CSV düşün. Her satır yan yana: isim, yaş, şehir, puan. Bilgisayar bunu satır satır okur. Ama sen sadece “tüm şehirler” demek istiyorsan, bilgisayar tüm satırları okumak zorunda — her ismi, her yaşı, her puanı görür, sonra atar. Çok yavaş.

BigQuery verileri sütun sütun saklıyor. Yani “şehir” sütunu ayrı bir yerde, “yaş” ayrı bir yerde. Sen sadece “şehir” isteyince, sadece o sütunun dosyası okunuyor. Bu yüzden 1 milyon satırda bile sorgu 1-2 saniyede biter.

Bu kavramın adı columnar storage (sütun depolama). Büyük veri dünyasının sihri burada başlıyor.

Slot: Kütüphanedeki İşçiler

Sorgun kütüphaneye gelince kütüphaneci tek başına çalışmıyor. Google’ın deposunda yüzlerce slot (işçi) var. BigQuery sorgunu parçalara böler, her parçayı bir slota verir, hepsi aynı anda çalışır, sonuçları toplar. Sen sadece SQL yazarsın, kaç tane slot çalıştıracağına Google karar verir.

Biliyor musun? “On-demand” modda Google her sorgu için ihtiyacı kadar slot ayırır. “Reservation” modunda (büyük şirketler için) sen belirli sayıda slot satın alırsın ve her zaman o kadar slot senin için hazır bekler.

Şimdi Sorgu Zamanı

  1. Google Cloud Console’a gir → BigQuery → “SQL Workspace”.
  2. Soldaki panelde bigquery-public-data.new_york_taxi.taxi_trips tablosunu bul (1 milyar satırdan fazla).
  3. Şu sorguyu yapıştır ve çalıştır:
SELECT
  pickup_datetime,
  passenger_count,
  trip_distance,
  total_amount
FROM `bigquery-public-data.new_york_taxi.taxi_trips`
WHERE pickup_datetime BETWEEN '2024-01-01' AND '2024-12-31'
  AND passenger_count > 0
ORDER BY pickup_datetime
LIMIT 1000000;

Bu sorgu 2024 yılında yapılan, en az 1 yolcusu olan tüm taksilerin ilk 1 milyon satırını getirir. Sorgu bittiğinde üstte “This query will process XXX MB” yazacak. BigQuery sana sorgunun ne kadar veri taradığını söyler — bu senin faturalandırma birimin. Her 1 TB tarama ~$6.25 (2026 fiyatı).

Ebeveyn Notu

Bu derste çocuğunuz Google Cloud hesabıyla ilk kez gerçek bir bulut veritabanına sorgu gönderiyor. Eğer henüz bir GCP projesi yoksa:

  1. console.cloud.google.com adresinden yeni proje açın (ücretsiz tier yeterli).
  2. BigQuery API’yi etkinleştirin.
  3. Çocuğunuza birlikte ilk sorguyu çalıştırın.

Çocuğunuzun yanlışlıkla devasa bir sorgu çalıştırıp fatura şokuna yol açmaması için “Custom quota” bölümünden aylık 1-2$ limit koymak iyi bir fikirdir. Bu, gerçek veri mühendislerinin de yaptığı “cost guard” pratiğidir.

Ne Öğrendik?

  • BigQuery, buluttaki dev bir kütüphane gibi çalışıyor.
  • Columnar storage sayesinde sadece ihtiyacın olan sütunları okur, çok hızlı.
  • Slot sistemi sayesinde sorgu paralel çalışıyor.
  • Taradığın veri miktarı kadar ödüyorsun.

Sıradaki

Parquet vs CSV: valiz vs açık bavul →