Tabel dan tampilan
Di Bigtable, Anda menyimpan data dalam tabel, dan Anda dapat membuat beberapa jenis tampilan tabel. Jenis tampilan yang Anda gunakan bergantung pada kasus penggunaan Anda.
Tabel
Tabel Bigtable adalah peta nilai kunci yang diurutkan yang menyimpan data dalam baris dan kolom. Setiap baris diindeks oleh satu row key unik. Kolom yang terkait satu sama lain biasanya dikelompokkan ke dalam grup kolom.
Bigtable memiliki model data yang fleksibel, dan tabelnya jarang. Artinya, jika kolom tidak digunakan dalam baris, tidak ada data yang disimpan untuk kolom tersebut. Anda tidak perlu menyimpan nilai NULL untuk kolom yang tidak digunakan seperti yang Anda lakukan dengan database relasional. Dalam tabel Bigtable, baris tertentu mungkin memiliki satu kolom dan baris di sebelahnya memiliki 100 kolom.
Dalam baris, kolom dapat berisi beberapa sel, yang masing-masing diidentifikasi oleh empat tuple (row key, grup kolom, penentu kolom, stempel waktu). Menyimpan beberapa sel dalam kolom memberikan catatan tentang bagaimana data yang disimpan untuk baris dan kolom tersebut telah berubah dari waktu ke waktu.
Tabel Bigtable tidak mendukung gabungan, dan transaksi hanya didukung dalam satu baris.
Tabel adalah resource tingkat instance yang otomatis direplikasi ke setiap cluster dalam instance. Penyimpanan data dikontrol dengan kebijakan pengumpulan sampah yang ditetapkan di tingkat grup kolom.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan Bigtable dan Praktik terbaik desain skema.
Tampilan
Bigtable mendukung jenis tampilan tabel berikut: tampilan logis, tampilan terwujud berkelanjutan, dan tampilan yang diotorisasi. Tampilan memungkinkan Anda membagikan data tabel dengan pengguna dan grup tertentu tanpa memberi mereka akses ke data sumber yang mendasarinya.
Tampilan logis
Tampilan logis – sering disebut hanya tampilan – adalah hasil kueri SQL. Fungsinya sebagai tabel virtual yang dapat dikueri oleh kueri SQL lainnya. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola tampilan logis.
Tampilan yang diberi parameter
Tampilan yang diberi parameter adalah jenis tampilan logis yang secara dinamis memfilter rentang data berdasarkan konteks aplikasi. Pendekatan ini melindungi aplikasi Anda dari injeksi SQL dan mengurangi kebutuhan akan beberapa tampilan statis.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan tampilan yang diberi parameter.
Tampilan terwujud berkelanjutan
Tampilan terwujud berkelanjutan dibuat dengan menjalankan kueri SQL secara terus-menerus terhadap tabel Bigtable. Bigtable membuat tabel baru berdasarkan output kueri dan menyinkronkannya dengan tabel sumber.
Tampilan terwujud berkelanjutan dapat membantu meningkatkan performa kueri. Tabel baru – tampilan terwujud berkelanjutan – memiliki skema yang berbeda dengan tabel sumber, yang berisi data yang telah diagregasi atau diubah yang dioptimalkan untuk kueri yang berbeda dari yang digunakan pada tabel sumber.
Tampilan terwujud berkelanjutan bersifat hanya baca. Anda akan dikenai biaya untuk penyimpanan tampilan terwujud berkelanjutan serta untuk pekerjaan pemrosesan yang digunakan untuk membuat tabel kedua, menyinkronkannya dengan tabel sumber, dan mereplikasinya.
Untuk mengetahui informasi selengkapnya, lihat Tampilan terwujud berkelanjutan views.
Tampilan yang diotorisasi
Tampilan yang diotorisasi adalah tampilan tabel yang Anda konfigurasi untuk menyertakan data tabel tertentu, lalu memberikan akses secara terpisah dari akses ke tabel sumber. Tampilan yang diotorisasi ditentukan oleh file definisi berformat JSON.
Tidak seperti tampilan terwujud berkelanjutan atau tampilan logis, tampilan yang diotorisasi Bigtable dapat digunakan untuk mengontrol akses baca dan tulis.
Tampilan yang diotorisasi berguna jika Anda menyimpan data untuk beberapa pelanggan dalam tabel Bigtable, dan Anda ingin memberikan akses kepada setiap pelanggan hanya ke subset tabel yang berisi data mereka.
Tampilan yang diotorisasi tidak dikenai biaya penyimpanan tambahan.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan tampilan yang diotorisasi.
Perbandingan
Tabel berikut memberikan informasi tambahan tentang perbedaan tampilan tabel Bigtable.
| Tampilan logis | Tampilan yang diberi parameter | Tampilan terwujud berkelanjutan | Tampilan yang diotorisasi | |
|---|---|---|---|---|
| Struktur | Tabel virtual yang mewakili hasil kueri SQL | Tabel virtual yang mewakili hasil kueri SQL | Tabel hanya baca berdasarkan tabel sumber | Subset tabel |
| Definisi | Kueri SQL | Kueri SQL menggunakan VIEW_PARAMETERS() |
Kueri SQL | File definisi JSON |
| Konsistensi dengan tabel sumber | Konsisten saat kueri dijalankan | Konsisten saat kueri dijalankan | Konsisten pada akhirnya | Konsisten saat kueri dijalankan |
| Opsi kueri | Harus menggunakan SQL | SQL | SQL atau Bigtable Data API | Bigtable Data API |
| Dapat ditulis | Tidak | Tidak | Tidak | Ya |
| Penyimpanan | Data tetap berada di tabel sumber | Data tetap berada di tabel sumber | Data diduplikasi, diagregasi, atau diubah dan disimpan dalam tabel hanya baca baru | Data tetap berada di tabel sumber |
| Biaya penggunaan | Pemrosesan komputasi untuk menjalankan kueri | Pemrosesan komputasi untuk menjalankan kueri | Pemrosesan komputasi saat menyinkronkan, biaya penyimpanan | Pemrosesan komputasi untuk menjalankan kueri |