Pendahuluan
Apache Cassandra menggunakan CQL (Cassandra Query Language) untuk berkomunikasi dengan database-nya. Cassandra mirip dengan SQL karena juga menyimpan data dalam tabel, mengaturnya menjadi baris dan kolom.
Cassandra menyimpan data dalam variabel. Setiap variabel memiliki tipe data yang ditetapkan yang mendefinisikan tipe (atau rentang) nilai yang dapat disimpannya, dan operasi apa yang dapat dilakukan tanpa menyebabkan kesalahan.
Baca terus untuk mempelajari tentang tipe data Cassandra dan perbedaannya.
Tipe Data Cassandra
Apache Cassandra mendukung kumpulan tipe data yang kaya, termasuk:
- Jenis data bawaan
- Jenis data koleksi
- Jenis data yang ditentukan pengguna
Catatan: Apache Cassandra adalah database NoSQL Kolom Lebar. Jika Anda ingin mempelajari lebih lanjut tentang tipe database ini, baca tipe database NoSQL. Dan jika Anda tertarik dengan konsep dan fitur inti NoSQL, lihat Apa itu NoSQL.
Tipe Data Bawaan
Cassandra memiliki banyak tipe data yang menyediakan dukungan bawaan. Ini juga disebut sebagai tipe data primitif. Mereka sudah ditentukan sebelumnya dan Anda dapat langsung merujuk ke salah satu dari mereka.
Jenis Data | Konstanta | Deskripsi |
---|---|---|
ascii | string | ASCII adalah tipe data yang menyertakan pengkodean karakter yang digunakan untuk string. Di dalamnya, kode numerik mewakili karakter (misalnya, T adalah 84 ). Sementara ASCII standar dapat menggambarkan 128 karakter, versi yang diperluas mencakup 256 karakter. |
Boolean | boolean | BOOLEAN digunakan untuk variabel yang memiliki salah satu dari dua kemungkinan nilai. Nilai-nilai ini disimpan sebagai angka 16-bit, tetapi hanya boleh Benar atau Salah . |
gumpalan | gumpalan | BLOB adalah kependekan dari “Binary Large Object” dan digunakan untuk menyimpan data biner. Karena mewakili byte arbitrer, ini terutama digunakan untuk menyimpan file gambar, video, dan audio. Karena ukurannya, mereka membutuhkan lebih banyak ruang dibandingkan dengan tipe data lainnya. |
desimal | bilangan bulat, float | Tipe data DECIMAL nyaman untuk menyimpan data mata uang karena presisi yang ditawarkannya. Digunakan untuk nilai numerik yang terdiri dari dua komponen:presisi (jumlah digit:5.754 ) skala (angka yang muncul setelah koma:5.754 ) Ini menyimpan nilai 5.754 sebagai dua unit terpisah:5 (presisi) dan 754 (skala). |
dua kali lipat | bilangan bulat | Jika Anda perlu menyimpan nilai desimal yang tidak memerlukan tingkat presisi nilai mata uang, Anda dapat menggunakan tipe data GANDA. Ini mewakili titik mengambang 64-bit dan digunakan untuk bilangan bulat. |
mengambang | bilangan bulat, float | Tipe data FLOAT menyimpan nilai titik desimal. Ini adalah presisi tunggal, mewakili titik mengambang 32-bit. Anda tidak boleh menggunakannya dengan data yang membutuhkan akurasi tinggi karena tidak setepat representasi tipe data desimal. |
int | bilangan bulat | Tipe data INT digunakan untuk menyimpan bilangan bulat bertanda 32-bit. |
kecil | bilangan bulat | SMALLINT menyimpan bilangan bulat bertanda 16-bit. |
besar | bilangan bulat | BIGINT menyimpan bilangan bulat bertanda 64-bit. |
teks | string | Untuk menyimpan data, Anda dapat menggunakan tipe data TEXT yang digunakan untuk data teks, direpresentasikan dalam string yang disandikan UTF8. |
varchar | string | Gunakan VARCHAR untuk variabel atau karakter arbitrer. Ini disimpan dalam string yang disandikan UTF8 yang juga dapat Anda tentukan ukuran maksimumnya. |
inet | string | Untuk menyimpan string karakter yang tidak memerlukan operasi aritmatika, gunakan tipe data INET. Gunakan untuk menyimpan dan mengelola alamat IP karena mendukung representasi numerik dan karakter. INET dapat menyimpan alamat host IPv4 dan IPv6. |
penghitung | bilangan bulat | Tipe data COUNTER digunakan untuk nilai integral 64-bit dan menyimpannya dalam kolom counter. Tipe data ini mendukung dua operasi:penambahan dan pengurangan, dan biasanya digunakan untuk menghitung tampilan halaman. |
waktu | bilangan bulat, string | Anda dapat menyimpan nilai waktu dalam format berikut:hh:mm:ss menggunakan tipe data waktu. Ini menawarkan presisi nanodetik dan mendukung data dalam bilangan bulat dan string. |
tanggal | bilangan bulat, string | Dengan demikian, Anda dapat menyimpan nilai tanggal dalam format:YYYY-MM-DD . Tipe data ini juga mendukung bilangan bulat dan string. |
stempel waktu | bilangan bulat, string | Tipe data TIMESTAMP adalah kombinasi dari dua yang disebutkan sebelumnya. Ini digunakan untuk nilai yang menyertakan nilai waktu dan tanggal dalam format:YYYY-MM-DD hh:mm:ss |
Catatan: Untuk mempelajari lebih lanjut tentang Cassandra, lihat Cassandra vs MongoDB.
Tipe Data Koleksi
Anda dapat menggunakan salah satu tipe data kumpulan jika Anda ingin menyimpan beberapa nilai ke dalam satu unit.
Cassandra mendukung tiga jenis tipe data koleksi:
- Peta . Cassandra dapat menyimpan data dalam kumpulan pasangan nilai kunci menggunakan Peta tipe data. Ini memungkinkan Anda untuk menyimpan data dan menetapkan label (nama kunci) untuk memudahkan penyortiran.
- Set . Anda dapat menyimpan beberapa nilai unik, menggunakan Set tipe data. Ingatlah bahwa elemen tidak akan disimpan secara berurutan.
- Daftar . Jika Anda perlu menyimpan beberapa nilai dalam urutan tertentu, Anda dapat menggunakan Daftar tipe data. Tidak seperti kumpulan, daftar dapat menyimpan nilai duplikat.
Jenis Data Buatan Pengguna
Tipe terakhir dari tipe data Cassandra adalah User-Defined tipe data (UDT). Seperti namanya, ini memungkinkan Anda (pengguna) untuk membuat tipe data Anda sendiri berdasarkan persyaratan yang Anda butuhkan.
UDT terdiri dari beberapa bidang data dari tipe data apa pun di dalam satu kolom. Setelah Anda membuat tipe data yang ditentukan pengguna, Anda dapat mengubah atau bahkan menghapus bidang di dalamnya.