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 kunci baris tunggal yang unik. Kolom yang terkait satu sama lain biasanya dikelompokkan ke dalam grup kolom.
Bigtable memiliki model data yang fleksibel, dan tabelnya renggang. 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 satu baris, satu kolom dapat berisi beberapa sel, yang masing-masing diidentifikasi oleh empat tuple (kunci baris, 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. Retensi data dikontrol dengan kebijakan pengumpulan sampah yang ditetapkan di tingkat family kolom.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan Bigtable dan Praktik terbaik desain skema.
Dilihat
Bigtable mendukung tiga jenis tampilan tabel: tampilan logis, tampilan terwujud berkelanjutan, dan tampilan yang diotorisasi. Tabel virtual 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 sebagai tampilan – adalah hasil kueri SQL. Tabel ini berfungsi sebagai tabel virtual yang dapat dikueri oleh kueri SQL lainnya. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola tampilan logis.
Tampilan terwujud berkelanjutan
Tampilan terwujud berkelanjutan dibuat dengan menjalankan kueri SQL secara berkelanjutan 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 materialis berkesinambungan – memiliki skema yang berbeda dengan tabel sumber, yang berisi data yang telah diagregasi atau diubah sebelumnya yang dioptimalkan untuk kueri yang berbeda dengan yang digunakan pada tabel sumber.
Tampilan terwujud berkelanjutan bersifat hanya baca. Anda akan ditagih untuk penyimpanan tampilan terwujud berkelanjutan serta untuk pekerjaan pemrosesan yang dilakukan untuk membuat tabel kedua, menyinkronkannya dengan tabel sumber, dan mereplikasinya.
Untuk mengetahui informasi selengkapnya, lihat Tampilan terwujud berkelanjutan.
Tampilan yang diberi otorisasi
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 diizinkan 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 menimbulkan biaya penyimpanan tambahan.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan tampilan yang diizinkan.
Perbandingan
Tabel berikut memberikan informasi tambahan tentang perbedaan tampilan tabel Bigtable.
Tampilan logis | Tabel virtual terwujud berkelanjutan | Tampilan yang diberi otorisasi | |
---|---|---|---|
Struktur | Tabel virtual yang merepresentasikan hasil kueri SQL | Tabel hanya baca berdasarkan tabel sumber | Subset tabel |
Definisi | Kueri SQL | Kueri SQL | File definisi JSON |
Konsistensi dengan tabel sumber | Konsisten saat kueri dijalankan | Konsistensi tertunda | Konsisten saat kueri dijalankan |
Opsi kueri | Harus menggunakan SQL | SQL atau Bigtable Data API | Bigtable Data API |
Dapat ditulis | Tidak | Tidak | Ya |
Penyimpanan | Data tetap berada di tabel sumber | Data diduplikasi, digabungkan, atau ditransformasi dan disimpan dalam tabel baru yang hanya dapat dibaca | Data tetap berada di tabel sumber |
Biaya penggunaan | Pemrosesan komputasi untuk menjalankan kueri | Pemrosesan komputasi saat menyinkronkan, biaya penyimpanan | Pemrosesan komputasi untuk menjalankan kueri |