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 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 sampingnya memiliki 100 kolom.
Dalam baris, kolom dapat berisi beberapa sel, yang masing-masing diidentifikasi oleh empat tuple (row key, column family, column qualifier, timestamp). 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 join, 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 keluarga 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. Tampilan memungkinkan Anda membagikan data tabel kepada pengguna dan grup tertentu tanpa memberi mereka akses ke data sumber yang mendasarinya.
Tampilan logis
Tampilan logis – sering disebut sebagai tampilan saja – adalah hasil kueri SQL. Tampilan 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 terus menjalankan kueri SQL terhadap tabel Bigtable. Bigtable membuat tabel baru berdasarkan output kueri dan membuatnya tetap sinkron dengan tabel sumber.
Tampilan terwujud berkelanjutan dapat membantu meningkatkan performa kueri. Tabel baru – tampilan materialisasi berkelanjutan – memiliki skema yang berbeda dengan tabel sumber, yang berisi data yang telah digabungkan atau ditransformasi sebelumnya yang dioptimalkan untuk kueri yang berbeda dengan kueri yang digunakan di tabel sumber.
Tampilan terwujud berkelanjutan bersifat hanya baca. Anda akan ditagih untuk penyimpanan tampilan terwujud berkelanjutan serta untuk pekerjaan pemrosesan yang digunakan untuk membuat tabel kedua, menjaganya tetap sinkron dengan tabel sumber, dan mereplikasinya.
Untuk informasi selengkapnya, lihat Tampilan terwujud berkelanjutan.
Tampilan yang diberi otorisasi
Tampilan yang diotorisasi adalah tampilan tabel yang Anda konfigurasikan 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 sebagian 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 terwujud berkelanjutan | Tampilan yang diberi otorisasi | |
---|---|---|---|
Struktur | Tabel virtual yang mewakili 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 ada di tabel sumber | Data diduplikasi, digabungkan, atau ditransformasi dan disimpan dalam tabel hanya baca baru | Data tetap ada di tabel sumber |
Biaya penggunaan | Pemrosesan komputasi untuk menjalankan kueri | Pemrosesan komputasi saat menyinkronkan, biaya penyimpanan | Pemrosesan komputasi untuk menjalankan kueri |