BigQuery untuk Pemula: Query Data Raksasa Tanpa Server
Blog/Tutorial SQL/BigQuery untuk Pemula: Query Data Raksasa Tanpa Server

BigQuery untuk Pemula: Query Data Raksasa Tanpa Server

BimaBima
·16 Juni 2026·10 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

BigQuery adalah data warehouse dari Google yang bisa nge-query miliaran baris tanpa kamu perlu ngurus server. Kamu bayar berdasarkan jumlah byte yang dibaca query, bukan berdasarkan waktu — dan 1 TB pertama tiap bulan gratis. Untuk mulai: bikin project di Google Cloud, bikin dataset, upload CSV jadi tabel, lalu tulis SELECT biasa. Aturan hemat yang paling penting: jangan pernah pakai SELECT *, dan selalu filter kolom partisi (biasanya tanggal) di WHERE.

BigQuery adalah data warehouse dari Google yang bisa nge-query miliaran baris tanpa kamu perlu nyiapin server satu pun.

Kamu tempel query, tekan Run, hasilnya keluar. Nggak ada instalasi, nggak ada konfigurasi memori, nggak ada urusan indeks.

Yang perlu kamu ngerti dari awal cuma satu hal: kamu bayar berdasarkan jumlah byte yang dibaca query, bukan berdasarkan lama query jalan. Ini yang nentuin apakah tagihanmu nol rupiah atau bikin kaget.

Kenapa pakai BigQuery, bukan MySQL biasa?

MySQL dan PostgreSQL itu database transaksional. Mereka jago nyimpen dan ngubah data aplikasi baris per baris, real-time.

BigQuery beda kerjaannya. Dia dirancang buat baca dan agregasi data besar sekaligus.

KondisiPakai
Update 1 baris pesanan pelangganPostgreSQL / MySQL
Hitung total omzet 80 juta baris per kotaBigQuery
Data kamu 50 ribu barisPostgreSQL / SQLite (BigQuery overkill)
Berbagi dataset ke 10 orang tanpa ngurus serverBigQuery

Nyoba UPDATE satu baris di BigQuery bakal terasa lambat. Itu bukan bug — dia memang bukan buat itu.

Cara mulai BigQuery dari nol

Total waktu sekitar 15 menit. Kartu kredit perlu didaftarin, tapi kamu nggak bakal ditagih selama masih di free tier.

  1. Buka console.cloud.google.com/bigquery, login pakai akun Google.
  2. Klik dropdown project di kiri atas → New Project. Kasih nama, misalnya ngulik-demo.
  3. Di panel Explorer kiri, klik titik tiga di samping nama project → Create dataset. Nama: toko_berkah. Location: pilih asia-southeast2 (Jakarta) biar latensinya rendah.
  4. Klik titik tiga di samping dataset → Create table.
  5. Source: Upload. Pilih file CSV kamu. Format: CSV.
  6. Table name: transaksi. Schema: centang Auto detect.
  7. Klik Create table. Selesai.

Buat file di atas 100 MB, upload lewat Google Cloud Storage dulu — lebih stabil daripada upload langsung dari browser.

Query pertama kamu di BigQuery

Sintaksnya SQL standar. Yang beda cuma cara nulis nama tabel: project.dataset.tabel dibungkus backtick.

SELECT
    kota,
    COUNT(*) AS jumlah_transaksi,
    ROUND(SUM(qty * harga_satuan)) AS total_omzet
FROM `ngulik-demo.toko_berkah.transaksi`
WHERE tanggal BETWEEN '2026-01-01' AND '2026-03-31'
  AND status = 'selesai'
GROUP BY kota
ORDER BY total_omzet DESC
LIMIT 10;

Sebelum kamu tekan Run, lihat pojok kanan atas editor. Ada tulisan kecil: "This query will process X MB when run."

Itu angka yang bakal kamu bayar. Selalu baca dulu.

Kenapa SELECT * itu mahal di BigQuery?

BigQuery nyimpen data secara kolom, bukan baris. Waktu kamu minta 3 kolom, dia cuma baca 3 kolom itu. Yang lain nggak disentuh.

Begitu kamu nulis SELECT *, dia baca semua kolom. Tabel 500 GB dengan 40 kolom? Kamu baca 500 GB.

Dan ini bagian yang paling sering bikin orang kaget: LIMIT nggak nghemat apa-apa.

-- Ini tetap baca SELURUH tabel. LIMIT cuma motong tampilan.
SELECT * FROM `ngulik-demo.toko_berkah.transaksi` LIMIT 10;

-- Ini yang bener kalau cuma mau ngintip isinya:
-- klik nama tabel di Explorer, buka tab "Preview" — gratis, 0 byte.

Tab Preview di UI BigQuery baca 0 byte. Pakai itu buat ngintip data, jangan query.

Partitioned table: trik hemat paling besar

Partitioned table adalah tabel yang dipecah jadi potongan berdasarkan satu kolom — hampir selalu tanggal.

Waktu query kamu filter tanggal, BigQuery cuma baca potongan yang relevan. Sisanya dilewatin.

CREATE TABLE `ngulik-demo.toko_berkah.transaksi_part`
PARTITION BY DATE(tanggal)
CLUSTER BY kota
AS
SELECT * FROM `ngulik-demo.toko_berkah.transaksi`;

PARTITION BY mecah per tanggal. CLUSTER BY ngurutin data di dalam tiap partisi berdasarkan kota — jadi filter kota juga jadi lebih cepat.

Syaratnya cuma satu: filter partisinya harus kena di WHERE.

-- HEMAT: baca 1 bulan doang
SELECT kota, SUM(qty * harga_satuan) AS omzet
FROM `ngulik-demo.toko_berkah.transaksi_part`
WHERE tanggal BETWEEN '2026-01-01' AND '2026-01-31'
GROUP BY kota;

-- MAHAL: nggak ada filter tanggal, baca semua partisi
SELECT kota, SUM(qty * harga_satuan) AS omzet
FROM `ngulik-demo.toko_berkah.transaksi_part`
GROUP BY kota;

Contoh kasus: 3,2 GB jadi 180 MB

Aku uji ini pakai versi besar dataset toko_berkah: 42 juta baris transaksi, 24 bulan, ukuran tabel 3,2 GB.

Query pertama, gaya pemula:

SELECT * FROM `ngulik-demo.toko_berkah.transaksi`
WHERE kota = 'Bandung'
LIMIT 100;

Bytes processed: 3,2 GB. Buat 100 baris hasil.

Query kedua, tabel udah dipartisi dan kolomnya disebut eksplisit:

SELECT tanggal, kota, qty, harga_satuan
FROM `ngulik-demo.toko_berkah.transaksi_part`
WHERE tanggal BETWEEN '2026-01-01' AND '2026-01-31'
  AND kota = 'Bandung';

Bytes processed: 180 MB.

Turun 94,4%. Query yang sama, jawaban yang sama, biaya seperempat puluhan kali lebih kecil.

Di free tier 1 TB per bulan, query pertama bisa kamu jalanin 312 kali. Query kedua: 5.688 kali.

Kesalahan umum pemula di BigQuery

SELECT * buat ngintip data. Pakai tab Preview. Gratis.

Ngira LIMIT nghemat biaya. Nggak. LIMIT motong hasil, bukan pembacaan.

Nggak bikin tabel berpartisi. Kalau tabel kamu punya kolom tanggal dan bakal sering difilter per periode, partisi itu wajib.

Pilih location yang salah. Dataset di US nggak bisa di-JOIN sama dataset di asia-southeast2. Tentuin location dari awal dan konsisten.

Lupa set budget alert. Di Google Cloud Console, buka Billing → Budgets & alerts, set batas Rp 0 dengan notifikasi email. Kalau ada yang aneh, kamu tau duluan.

Detail model harganya bisa kamu baca di dokumentasi resmi BigQuery Pricing.

FAQ

Apakah BigQuery gratis?

Ada free tier: 1 TB query processing per bulan dan 10 GB storage, gratis selamanya. Buat belajar dan proyek portfolio, kamu hampir pasti nggak lewat batas itu. Kamu tetap perlu masukin kartu kredit waktu daftar Google Cloud, tapi nggak akan ditagih selama masih di dalam free tier.

Apa bedanya BigQuery sama MySQL atau PostgreSQL?

MySQL dan PostgreSQL database transaksional — buat nyimpen dan ngubah data aplikasi real-time, baris per baris. BigQuery data warehouse analitik — buat baca dan agregasi data besar sekaligus. BigQuery lambat kalau dipakai UPDATE satu baris, tapi bisa nge-scan 100 juta baris dalam hitungan detik.

Kenapa query BigQuery saya mahal padahal cuma SELECT?

Karena BigQuery ngitung biaya dari byte kolom yang dibaca, bukan jumlah baris hasil. SELECT * dari tabel 500 GB tetap baca 500 GB walaupun kamu kasih LIMIT 10. Sebut kolom yang kamu butuh secara eksplisit, dan pastikan filter tanggalnya kena kolom partisi.

Apa itu partitioned table dan kenapa penting?

Tabel yang dipecah jadi potongan berdasarkan satu kolom, biasanya tanggal. Waktu kamu filter WHERE tanggal BETWEEN, BigQuery cuma baca partisi yang relevan. Di tabel 2 tahun, ini bisa motong biaya query sampai 95%.

Bisa nggak BigQuery dipakai buat data kecil?

Bisa, tapi buat data di bawah 1 juta baris kamu nggak dapat manfaat kecepatannya — SQLite atau PostgreSQL udah cukup. BigQuery baru kerasa unggul di puluhan juta baris ke atas, atau kalau kamu perlu berbagi dataset ke banyak orang tanpa ngurus server.

Praktekin sekarang

Tiga aturan yang bikin BigQuery kamu tetap gratis:

  • Nggak pernah SELECT *. Sebut kolomnya.
  • Tabel yang punya kolom tanggal, partisi berdasarkan tanggal.
  • Baca angka "will process X MB" sebelum tekan Run.

Bikin project BigQuery hari ini, upload satu CSV yang kamu punya, terus jalanin satu query GROUP BY. Lihat bytes processed-nya berapa.

Kalau sintaks SQL-nya masih baru buat kamu, mulai dari panduan belajar SQL dari nol. Buat fungsi agregasi yang paling sering kepakai, cek SUM dan GROUP BY.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel Terkait

7 SQL Client Gratis Terbaik buat Analis Data (2026)
Tutorial SQL
10 Juli 2026•9 menit baca

7 SQL Client Gratis Terbaik buat Analis Data (2026)

Nggak perlu bayar buat nulis query. Ini 7 SQL client gratis yang beneran dipakai analis, plus kelebihan dan kekurangannya masing-masing.

BimaBima
SQL Style Guide: Cara Nulis Query yang Enak Dibaca Tim
Tutorial SQL
7 Juli 2026•9 menit baca

SQL Style Guide: Cara Nulis Query yang Enak Dibaca Tim

Sepuluh aturan SQL style guide yang bikin query kamu kebaca sama tim — dan sama kamu sendiri 6 bulan lagi. Lengkap dengan contoh sebelum-sesudah.

BimaBima
Take-Home Test SQL Data Analyst: Contoh Soal + Cara Ngerjainnya
Tutorial SQL
4 Juli 2026•11 menit baca

Take-Home Test SQL Data Analyst: Contoh Soal + Cara Ngerjainnya

Contoh soal take-home test SQL yang beneran dipakai perusahaan, dikerjain step by step — dari baca soal, nulis query, sampai nyusun insight yang bikin recruiter nengok.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

Copyright © 2026 - All rights reserved

LINKS
SupportPricingDatasetBlogAffiliates
LEGAL
Terms of servicesPrivacy policy
Ngulik Data
DatasetLeaderboardBlogStore