Topik ini menjelaskan tipe data yang didukung oleh ApsaraDB for ClickHouse.
Tipe data yang didukung
Untuk informasi lebih lanjut mengenai semua tipe data yang didukung oleh ClickHouse, lihat topik Tipe Data dalam dokumentasi ClickHouse open source.
Kategori | Kata Kunci | Tipe data | Nilai valid atau deskripsi |
Bilangan bulat |
| INT8 | Nilai valid: |
| Int16 | Nilai valid: | |
| Int32 | Nilai valid: | |
| Int64 | Nilai valid: | |
Bilangan titik mengambang |
| Tipe bilangan titik mengambang presisi tunggal | Mirip dengan nilai FLOAT dalam bahasa pemrograman C++, bilangan titik mengambang presisi tunggal membutuhkan 4 byte. Bilangan titik mengambang presisi tunggal adalah data biner 32-bit. |
| Tipe bilangan titik mengambang presisi ganda | Mirip dengan nilai DOUBLE dalam bahasa pemrograman C++, bilangan titik mengambang presisi ganda membutuhkan 8 byte. Bilangan titik mengambang presisi ganda adalah data biner 64-bit. | |
Desimal |
| Desimal | Nilai DECIMAL adalah angka titik tetap bertanda. Presisi numerik dari nilai-nilai ini dapat dipertahankan selama operasi matematika berikut: penambahan, pengurangan, dan perkalian. Nilai DECIMAL dapat berada dalam format berikut:
|
String |
| STRING | Sebuah string dapat memiliki panjang acak dan dapat berisi set byte acak, termasuk byte null. Oleh karena itu, tipe STRING di ApsaraDB for ClickHouse setara dengan tipe VARCHAR, BLOB, dan CLOB di sistem manajemen database lainnya. |
FixedString | FIXEDSTRING | Tipe FIXEDSTRING efisien ketika data memiliki panjang tepat N byte. Dalam kasus lain, efisiensi mungkin terganggu. Contoh nilai yang dapat disimpan secara efisien dalam kolom bertipe FIXEDSTRING:
| |
Tanggal dan waktu |
| DATE | Nilai DATE membutuhkan dua byte dan menunjukkan jumlah hari yang telah berlalu sejak Kamis, 1 Januari 1970. Nilai DATE tidak bertanda. Nilai DATE disimpan tanpa zona waktu. |
| TIMESTAMP | Nilai TIMESTAMP membutuhkan empat byte dan menunjukkan jumlah detik yang telah berlalu sejak 00:00:00 Kamis, 1 Januari 1970. Nilai TIMESTAMP tidak bertanda. Rentang nilai tipe TIMESTAMP sama dengan rentang nilai tipe DATE. Nilai TIMESTAMP minimum adalah 1970-01-01 00:00:00. Nilai TIMESTAMP akurat hingga detik. Detik kabisat tidak didukung. Zona waktu nilai TIMESTAMP adalah zona waktu sistem klien atau server terkait. | |
| DATETIME64 | Anda dapat menggunakan tipe data ini untuk menyimpan tanggal dan waktu pada titik waktu tertentu. | |
Boolean | Boolean | Boolean | ClickHouse tidak mendukung tipe BOOLEAN. Gunakan tipe UINT8 untuk nilai Boolean. Nilai valid adalah 0 dan 1. |
Array |
| ARRAY | Nilai ARRAY adalah kumpulan elemen dengan tipe data yang sama. Elemen dapat berupa tipe data acak, bahkan tipe ARRAY. Namun, kami menyarankan agar Anda tidak menggunakan array multi-dimensi, karena ClickHouse hanya mendukung array multi-dimensi secara terbatas. Sebagai contoh, array multi-dimensi tidak dapat disimpan dalam tabel MergeTree. |
Tuple |
| TUPLE | Nilai TUPLE adalah kumpulan elemen dengan tipe data berbeda. Nilai TUPLE tidak dapat disimpan dalam tabel, kecuali tabel memori. Anda dapat menggunakan nilai TUPLE untuk mengelompokkan kolom sementara. Dalam query, Anda dapat menggunakan ekspresi IN dan fungsi lambda dengan parameter tertentu untuk mengelompokkan kolom sementara. |
Domain |
| Domain | Implementasi tipe DOMAIN bervariasi berdasarkan nilai yang berbeda: Jika nilainya adalah alamat IPv4, tipe DOMAIN kompatibel biner dengan tipe UINT32. Dibandingkan dengan tipe UINT32, tipe DOMAIN menghemat ruang penyimpanan biner dan mendukung format input dan output yang lebih mudah dibaca. Jika nilainya adalah alamat IPv6, tipe DOMAIN kompatibel biner dengan tipe FIXEDSTRING(16). Dibandingkan dengan tipe FIXEDSTRING(16), tipe DOMAIN menghemat ruang penyimpanan biner dan mendukung format input dan output yang lebih mudah dibaca. |
Enumerasi |
| Enum8 | Nilai valid: |
| Enum16 | Nilai valid: | |
Nilai ENUM16 dapat kosong. |
| Nullable | Kecuali dinyatakan lain dalam konfigurasi server ClickHouse, nilai default tipe NULLABLE adalah NULL. Nilai NULLABLE tidak dapat disertakan dalam indeks tabel. |
Nested |
| nested | Struktur data nested mirip dengan tabel di dalam sel. Anda dapat menentukan parameter struktur data nested, seperti nama bidang dan tipe data, dengan cara yang sama seperti menentukan parameter dalam pernyataan CREATE TABLE. Setiap baris dalam pernyataan CREATE TABLE dapat sesuai dengan sejumlah baris acak dalam struktur data nested. |