Fitur kueri SQL menyediakan antarmuka akses terpusat untuk berbagai mesin data Tablestore dan kompatibel dengan sintaks kueri MySQL. Fitur ini cocok untuk skenario di mana volume data besar disimpan dan Anda ingin mengakses data secara online. Dengan fitur kueri SQL, Anda dapat melakukan kueri dan analitik kompleks pada data di Tablestore secara efisien.
Informasi latar belakang
Tablestore menyediakan tipe penyimpanan NoSQL konvensional yang memungkinkan Anda menyimpan data terstruktur serta kemampuan mesin SQL cloud native. Hal ini memungkinkan Anda bermigrasi bisnis ke Tablestore dengan lancar dan menjalankan pernyataan SQL untuk mengakses Tablestore. Fitur kueri SQL kompatibel dengan sintaks kueri MySQL dan memungkinkan Anda membuat tabel dengan menjalankan pernyataan DDL. Untuk tabel data yang sudah ada, Anda dapat menjalankan pernyataan CREATE TABLE untuk membuat tabel pemetaan. Kemudian, Anda dapat menjalankan pernyataan SQL untuk mengakses data dalam tabel tersebut.
Fitur kueri SQL memungkinkan Anda menggunakan indeks pencarian untuk menanyakan data yang memenuhi kondisi kueri dengan cepat. Saat menggunakan fitur ini, sistem secara otomatis memilih metode yang sesuai untuk mempercepat akses SQL berdasarkan pernyataan SQL.
Fitur kueri SQL cocok untuk skenario di mana volume data besar disimpan dan Anda ingin mengakses data secara online. Latensi akses berkisar dari milidetik hingga menit. Fitur ini mendukung kueri titik berdasarkan kunci utama tabel data (operasi GetRow), kueri istilah berdasarkan indeks pencarian (TermQuery), serta kueri berdasarkan kemampuan agregasi indeks pencarian seperti jumlah baris yang memenuhi kondisi tertentu dan jumlah nilai dalam kolom.
Istilah
Penggunaan SQL melibatkan banyak istilah dalam database konvensional. Tabel berikut menjelaskan istilah spesifik dalam database konvensional dan pemetaannya dengan istilah Tablestore.
Istilah Database | Istilah Tablestore | Deskripsi |
database | instance | Database adalah repositori data yang mengorganisir, menyimpan, dan mengelola data berdasarkan struktur data. Sebuah database dapat berisi satu atau lebih tabel. |
tabel | tabel | Sebuah tabel terdiri dari baris dan kolom. |
indeks | indeks sekunder dan indeks pencarian | Indeks adalah struktur penyimpanan yang dibuat untuk mempercepat kueri data. |
Fitur
Fitur SQL
Memungkinkan Anda memulai satu permintaan dengan menjalankan satu pernyataan SQL.
Mendukung pernyataan DDL dasar, termasuk CREATE TABLE, ALTER TABLE, DROP MAPPING TABLE, dan DESCRIBE statements. Untuk informasi lebih lanjut, lihat Buat tabel pemetaan untuk tabel, Buat tabel pemetaan untuk indeks pencarian, Perbarui kolom atribut tabel pemetaan, Hapus tabel pemetaan, dan Kueri informasi tentang tabel.
Mendukung pernyataan Data Query Language (DQL), termasuk pernyataan SELECT. Anda dapat menjalankan pernyataan SELECT untuk melakukan kueri data dasar, agregasi, penyaringan berdasarkan kondisi, dan kueri berdasarkan halaman. Untuk informasi lebih lanjut, lihat Kueri data.
Mendukung pernyataan administrasi database dasar, termasuk pernyataan SHOW TABLES dan SHOW INDEX. Untuk informasi lebih lanjut, lihat Daftar Nama Tabel Pemetaan dan Kueri Informasi Indeks tentang Tabel.
Mendukung penggunaan indeks pencarian untuk melakukan kueri data, termasuk pencarian teks lengkap, kueri berdasarkan kolom ARRAY, kueri berdasarkan kolom NESTED, dan kueri berdasarkan kolom virtual. Untuk informasi lebih lanjut, lihat Pencarian teks lengkap, ARRAY didukung dalam indeks pencarian, NESTED didukung dalam indeks pencarian, dan Kolom virtual indeks pencarian.
Mengizinkan Anda menggabungkan dua atau lebih tabel dan mengembalikan data yang memenuhi kondisi gabungan dan kondisi kueri. Untuk informasi lebih lanjut, lihat Gabung.
Mendukung fungsi JSON berikut:
->>, JSON_UNQUOTE, dan JSON_EXTRACT. Untuk informasi lebih lanjut, lihat Fungsi JSON.
Set karakter dan collation
Set karakter: UTF-8
Collation: binary collation
Operator
Mendukung operator SQL seperti operator aritmatika, relasional, dan logika. Untuk informasi lebih lanjut, lihat Operator SQL.
Tabel pemetaan untuk tabel yang sudah ada
Anda dapat menjalankan pernyataan CREATE TABLE untuk membuat tabel pemetaan untuk tabel yang sudah ada. Pastikan bahwa kunci utama dalam tabel pemetaan sama dengan kunci utama dalam tabel yang sudah ada dan kolom atribut dalam tabel pemetaan memiliki tipe yang sama dengan kolom atribut dan kolom yang telah ditentukan sebelumnya dalam tabel yang sudah ada. Untuk informasi tentang pemetaan tipe data, lihat Pemetaan tipe data dalam SQL.
Catatan penggunaan
Fitur kueri SQL cocok untuk model Kolom Lebar dan model TimeSeries. Untuk informasi lebih lanjut, lihat Model Kolom Lebar dan Model TimeSeries.
Saat menggunakan fitur kueri SQL, Anda tidak dapat menggunakan fitur transaksi.
Tablestore menggunakan kata kunci dalam pernyataan SQL sebagai kata cadangan. Jika Anda ingin menggunakan kata kunci untuk menamai tabel atau kolom, tambahkan simbol
``untuk melarikan kata kunci. Kata kunci tidak peka huruf besar/kecil. Untuk informasi lebih lanjut, lihat Kata cadangan dan kata kunci.Mesin SQL Tablestore mengikuti konvensi SQL umum. Selain itu, nama kolom dalam mesin SQL Tablestore tidak peka huruf besar/kecil. Misalnya, pernyataan
SELECT Aa FROM exampletable;setara dengan pernyataanSELECT aa FROM exampletable;.Nama kolom dalam Tablestore peka huruf besar/kecil. Saat menggunakan SQL, nama kolom dalam Tablestore dikonversi menjadi huruf kecil untuk pencocokan. Misalnya, jika Anda ingin melakukan operasi pada kolom Aa dalam tabel Tablestore, Anda dapat menggunakan AA, aa, aA, atau Aa dalam SQL. Oleh karena itu, nama kolom dalam Tablestore tidak bisa AA, aa, aA, dan Aa pada saat yang bersamaan.
Fitur kueri SQL tersedia di wilayah berikut: Cina (Hangzhou), Cina (Shanghai), Cina (Beijing), Cina (Zhangjiakou), Cina (Ulanqab), Cina (Shenzhen), Cina (Chengdu), Cina (Hong Kong), Singapura, Indonesia (Jakarta), Jepang (Tokyo), Malaysia (Kuala Lumpur), Inggris (London), AS (Silicon Valley), Jerman (Frankfurt), SAU (Riyadh - Partner Region), dan AS (Virginia).
Batasan
Untuk informasi lebih lanjut, lihat Batasan pada kueri SQL.
Prosedur
Langkah-langkah untuk menanyakan dan menganalisis data menggunakan fitur kueri SQL bervariasi berdasarkan model data yang digunakan untuk menyimpan data. Anda dapat menggunakan fitur kueri SQL untuk menanyakan dan menganalisis data dalam model Kolom Lebar atau model TimeSeries. Lakukan langkah-langkah sesuai dengan model data yang Anda gunakan.
Langkah-langkah yang dilakukan untuk menanyakan dan menganalisis data dalam model Kolom Lebar
Langkah | Operasi | Deskripsi |
1 | Buat tabel pemetaan untuk tabel | Sebelum Anda menggunakan fitur kueri SQL untuk menanyakan data dalam tabel, Anda harus secara manual membuat tabel pemetaan untuk tabel tersebut. Untuk informasi lebih lanjut, lihat Buat tabel pemetaan untuk tabel. Jika indeks pencarian dibuat untuk tabel data, Anda dapat membuat tabel pemetaan untuk indeks pencarian. Dengan cara ini, Anda dapat menjalankan pernyataan SQL untuk menanyakan data berdasarkan indeks pencarian. Untuk informasi lebih lanjut, lihat Buat tabel pemetaan untuk indeks pencarian. |
2 | Gunakan SQL untuk menanyakan data | Anda dapat menggunakan tabel pemetaan untuk menanyakan data dalam tabel tempat tabel pemetaan atau indeks pencarian dibuat. Anda dapat menggunakan fitur kueri SQL untuk melakukan operasi kueri berikut:
|
3 | Gunakan SQL untuk menganalisis data | Anda dapat menggunakan tabel pemetaan untuk menganalisis data dalam tabel tempat tabel pemetaan dibuat. Anda dapat menggunakan pernyataan GROUP BY untuk mengelompokkan set hasil berdasarkan kondisi tertentu. Anda juga dapat menggunakan fungsi agregat untuk mengumpulkan statistik dan menghitung data. Untuk informasi lebih lanjut, lihat Klausa GROUP BY (groupby_condition) dan Fungsi agregat. |
Langkah-langkah yang dilakukan untuk menanyakan dan menganalisis data dalam model TimeSeries
Langkah | Operasi | Deskripsi |
1 | Buat tabel pemetaan untuk tabel | Sebelum Anda menggunakan fitur kueri SQL untuk menanyakan data dalam tabel, Anda harus membuat tabel pemetaan untuk tabel tersebut. Anda dapat membuat jenis tabel pemetaan berikut untuk tabel time series: tabel pemetaan dalam model nilai tunggal, tabel pemetaan dalam model multi-nilai, atau tabel pemetaan untuk metadata time series. Setelah Anda membuat tabel time series, sistem secara otomatis membuat tabel pemetaan dalam model nilai tunggal dan tabel pemetaan untuk metadata time series untuk tabel time series tersebut. Anda dapat membuat tabel pemetaan dalam model multi-nilai untuk menanyakan data. Untuk informasi lebih lanjut, lihat Tabel pemetaan untuk tabel time series dalam SQL. |
2 | Gunakan SQL untuk menanyakan data | Anda dapat menggunakan tabel pemetaan untuk menanyakan data dalam tabel tempat tabel pemetaan dibuat. Anda dapat menggunakan tabel pemetaan dalam model nilai tunggal atau tabel pemetaan dalam model multi-nilai untuk menanyakan data time series dan menggunakan tabel pemetaan untuk metadata time series untuk menanyakan metadata time series. Untuk informasi lebih lanjut, lihat Contoh SQL. |
3 | Gunakan SQL untuk menganalisis data | Anda dapat menggunakan tabel pemetaan untuk menganalisis data dalam tabel tempat tabel pemetaan dibuat. Metadata time series terdiri dari nama metrik, sumber data, tag, dan atribut time series. Anda dapat menggunakan fungsi tag_value_at untuk mengekstrak nilai tag (_tags) dan nilai atribut (_attributes). Untuk informasi lebih lanjut, lihat Contoh SQL. |
Metode
Anda dapat menggunakan fitur kueri SQL di konsol Tablestore atau CLI Tablestore, atau melalui SDK Tablestore, driver JDBC, dan driver Tablestore untuk Go.
Penagihan
Anda tidak dikenakan biaya untuk menggunakan fitur kueri SQL. Namun, saat menggunakan fitur ini, Anda akan dikenakan biaya untuk throughput baca dan tulis yang dihasilkan oleh operasi seperti pemindaian tabel dan kueri berbasis indeks. Untuk informasi lebih lanjut, lihat Item yang dapat ditagih dari kueri SQL.
FAQ
Referensi
Jika Anda ingin mempercepat kueri data dan komputasi dengan menjalankan pernyataan SQL, Anda dapat membuat indeks sekunder atau indeks pencarian. Untuk informasi lebih lanjut, lihat Kebijakan pemilihan indeks dan Pushdown komputasi.
Anda juga dapat menggunakan mesin komputasi seperti MaxCompute, Spark, Hive, HadoopMR, Function Compute, Flink, dan PrestoDB untuk menghitung dan menganalisis data dalam tabel. Untuk informasi lebih lanjut, lihat Ikhtisar.
Untuk memvisualisasikan data, Anda dapat menggunakan Grafana. Misalnya, Anda dapat menggunakan Grafana untuk menampilkan data Tablestore dalam bentuk grafik. Untuk informasi lebih lanjut, lihat Hubungkan Tablestore ke Grafana.
Lampiran: Perbedaan antara fitur kueri SQL dan indeks pencarian
Fitur kueri SQL dan indeks pencarian menyediakan kemampuan khusus untuk kueri dan analisis data. Tabel berikut menjelaskan kemampuan fitur kueri SQL dan indeks pencarian, serta memberikan pemetaan antara kemampuan tersebut.
Indeks Pencarian | Fungsi/Pernyataan SQL | |
Sama dengan (=) | ||
Lebih besar dari (>), kurang dari (<), lebih besar dari atau sama dengan (>=), kurang dari atau sama dengan (<=), dan BETWEEN ... AND ... | ||
MustQueries | AND | |
MustNotQueries | != | |
ShouldQueries | OR | |
FieldSort | ORDER BY | |
SetLimit | LIMIT | |
Nilai minimum | MIN() | |
Nilai maksimum | MAX() | |
Jumlah | SUM() | |
Nilai rata-rata | AVG() | |
Hitungan | COUNT() | |
Hitungan unik | COUNT(DISTINCT) | |
Kueri baris yang diperoleh dari hasil operasi agregasi di setiap grup | ANY_VALUE() | |
Pengelompokan berdasarkan nilai bidang | GROUP BY | |