AnalyticDB for MySQL menyediakan fitur lake storage untuk menyederhanakan pembangunan data lake, manajemen penyimpanan, dan optimasi. Lake storage mendukung tabel terstruktur seperti Iceberg dan Paimon, serta objek file tidak terstruktur. Fitur ini ideal untuk skenario yang memerlukan pemrosesan batch offline sekaligus analitik real-time. Topik ini menjelaskan cara membuat dan mengubah lake storage serta melihat volume datanya.
Fitur lake storage sedang dalam pratinjau undangan. Untuk menggunakan fitur ini, submit a ticket untuk menghubungi dukungan teknis.
Prasyarat
Kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse telah dibuat.
Pengenalan fitur
Lake storage AnalyticDB for MySQL dapat menyimpan data tabel terstruktur dalam format seperti Iceberg dan Paimon, serta objek file tidak terstruktur. Dengan arsitektur fully managed-nya, lake storage secara otomatis menangani tugas-tugas kompleks seperti pembangunan data lake, tata kelola metadata, dan optimasi penyimpanan. Hal ini mengurangi biaya penyimpanan dan meningkatkan performa kueri. Manajemen metadata terpadu dan penjadwalan resource berbasis layanan memungkinkan Anda menyelesaikan ingesti data, optimasi penyimpanan, dan komputasi kolaboratif multi-engine dengan cepat tanpa perlu memelihara infrastruktur dasar.
Penagihan
Setelah Anda membuat lake storage, AnalyticDB for MySQL akan menagih Anda berdasarkan volume data dan durasi penggunaannya dengan model bayar sesuai penggunaan. Untuk informasi lebih lanjut tentang penagihan, lihat Harga Edisi Perusahaan dan Edisi Dasar dan Harga Edisi Data Lakehouse.
Membaca dari atau menulis ke lake storage menghasilkan biaya permintaan, yang mencakup tagihan berdasarkan jumlah permintaan PUT dan GET. Untuk informasi lebih lanjut tentang penagihan, lihat Harga Edisi Perusahaan dan Edisi Dasar dan Harga Edisi Data Lakehouse.
Catatan
Akun Alibaba Cloud dapat membuat maksimal lima lake storage di wilayah yang sama.
Tampilan penggunaan penyimpanan untuk lake storage memiliki keterlambatan. Oleh karena itu, volume data tidak langsung terlihat setelah data ditulis.
Saat menghapus lake storage, pastikan semua data di dalamnya telah dihapus. Jika tidak, penghapusan akan gagal.
Setelah Anda membuat lake storage, AnalyticDB for MySQL secara otomatis membuat bucket di akun layanan OSS. Bucket ini berada di wilayah yang sama dengan kluster AnalyticDB for MySQL dan memiliki nama yang sama dengan lake storage tersebut. Anda dapat melihat bucket ini di Konsol OSS akun Alibaba Cloud Anda dengan menambahkan jalur favorit.
Fitur backup dan recovery AnalyticDB for MySQL tidak mendukung data di lake storage.
Buat lake storage
Login ke AnalyticDB for MySQL console. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi kiri, klik Clusters. Temukan kluster yang ingin Anda kelola lalu klik ID kluster tersebut.
Di panel navigasi kiri, pilih .
Di pojok kanan atas halaman, klik Create Lake Storage.
Pada kotak dialog Create Lake Storage yang muncul, klik OK.
PentingNama lake storage dihasilkan secara otomatis oleh sistem dalam format
adb-lake-RegionID-RandomString. Nama ini bersifat unik secara global dan tidak dapat diubah setelah dibuat.(Opsional) Ubah deskripsi lake storage.
Nama lake storage dihasilkan secara otomatis dan tidak dapat diubah. Anda dapat mengubah deskripsi untuk membedakan lake storage yang digunakan dalam skenario bisnis berbeda.
Klik tombol
di kolom Lake Storage Description.Pada kotak dialog Change Lake Storage Description yang muncul, masukkan deskripsi lalu klik OK.
Gunakan lake storage
Tabel lake storage adalah tabel berformat lake yang sepenuhnya dikelola oleh AnalyticDB for MySQL. Tabel ini mendukung format data Iceberg dan Paimon. Setelah tabel lake storage dibuat, sistem secara otomatis menghasilkan path unik untuknya. Path default-nya adalah oss://<LakeStorageName>/lakehouse/default/tables/<table_uuid>. Misalnya, jika data tabel lake storage test_iceberg_tbl disimpan di `adb-lake-cn-shanghai-6gml****`, path yang dihasilkan adalah oss://adb-lake-cn-shanghai-6gml****/lakehouse/default/tables/b22cd225-528d-421c-a2****. Anda dapat membuat, membaca, dan menulis tabel lake storage menggunakan engine XIHE dan Spark. Anda juga dapat mengelola izin dan siklus hidup tabel lake storage seperti mengelola tabel internal biasa. Langkah-langkah berikut menjelaskan cara membaca dan menulis tabel lake storage:
Baca dan tulis tabel lake storage menggunakan Spark SQL
Prasyarat
Versi kernel kluster harus 3.2.3.0 atau lebih baru.
Untuk melihat dan memperbarui versi minor kluster AnalyticDB for MySQL, login ke AnalyticDB for MySQL console lalu buka bagian Configuration Information pada halaman Cluster Information.
Prosedur
Buka Data Development.
Login ke AnalyticDB for MySQL console. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi kiri, klik Clusters. Temukan kluster yang ingin Anda kelola lalu klik ID kluster tersebut.
Di panel navigasi kiri, pilih .
Di jendela SQLConsole, pilih mesin XIHE dan kelompok sumber daya Interactive.
Buat database eksternal dan tabel lake storage Iceberg.
Buat database.
CREATE DATABASE adb_external_db_iceberg WITH DBPROPERTIES ('adb_lake_bucket' = 'adb-lake-cn-shanghai-6gml****');Tabel berikut menjelaskan parameter tersebut:
Parameter
Deskripsi
adb_lake_bucket
Menentukan lokasi penyimpanan data tabel Data Lake Storage.
Jika Anda menentukan Data Lake Storage dalam pernyataan pembuatan database, semua tabel dalam database tersebut akan disimpan di Data Lake Storage. Jika Anda tidak ingin semua tabel dalam database disimpan di Data Lake Storage, Anda dapat mengatur parameter ini saat membuat tabel.
Buat tabel eksternal Iceberg.
SET spark.adb.lakehouse.enabled=true; ----Aktifkan Data Lake Storage CREATE TABLE adb_external_db_iceberg.test_iceberg_tbl ( `id` int, `name` string, `age` int ) USING iceberg PARTITIONED BY (age) TBLPROPERTIES ( 'adb_lake_bucket' = 'adb-lake-cn-shanghai-6gml****' );Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
adb_lake_bucket
Menentukan lokasi penyimpanan data tabel Data Lake Storage.
Jika Anda telah menentukan Data Lake Storage saat membuat database, semua tabel dalam database tersebut akan disimpan di Data Lake Storage. Anda tidak perlu menentukan parameter ini lagi saat membuat tabel.
Jika Anda tidak menentukan Data Lake Storage saat membuat database, Anda harus secara eksplisit menentukan parameter ini saat membuat tabel. Jika tidak, akan terjadi error. Setelah Anda menentukan parameter ini, data tabel akan disimpan di Data Lake Storage yang ditentukan.
Jika Anda secara eksplisit menentukan Data Lake Storage baik saat membuat database maupun saat membuat tabel, data tabel akan disimpan di Data Lake Storage yang ditentukan saat membuat tabel. Tabel lain dalam database akan disimpan di Data Lake Storage yang ditentukan saat membuat database.
Tulis data ke tabel Iceberg.
SET spark.adb.lakehouse.enabled=true; -- Aktifkan lake storage INSERT INTO adb_external_db_iceberg.test_iceberg_tbl VALUES (1, 'lisa', 10), (2, 'jams', 10);(Opsional) Hapus data dari tabel Iceberg.
SET spark.adb.lakehouse.enabled=true; ----Aktifkan Data Lake Storage DELETE FROM adb_external_db_iceberg.test_iceberg_tbl WHERE id = 1; DELETE FROM adb_external_db_iceberg.test_iceberg_tbl WHERE age = 20;Kueri data dari tabel eksternal Iceberg.
SET spark.adb.lakehouse.enabled=true; ----Aktifkan Data Lake Storage SELECT * FROM adb_external_db_iceberg.test_iceberg_tbl;Hasil berikut dikembalikan:
+---+----+---+ |id |name|age| +---+----+---+ |1 |anna|10 | |2 |jams|20 | +---+----+---+(Opsional) Hapus tabel eksternal Iceberg.
Pernyataan berikut menghapus tabel eksternal Iceberg dari AnalyticDB for MySQL dan datanya dari OSS.
SET spark.adb.lakehouse.enabled=true; DROP TABLE adb_external_db_iceberg.test_iceberg_tbl;
Baca dan tulis tabel lake storage menggunakan XIHE SQL
Prasyarat
Versi kernel kluster harus 3.2.5.3 atau lebih baru.
Untuk melihat dan memperbarui versi minor kluster AnalyticDB for MySQL, login ke AnalyticDB for MySQL console lalu buka bagian Configuration Information pada halaman Cluster Information.
Catatan
Pernyataan DELETE tidak dapat digunakan untuk menghapus satu baris data dari tabel lake storage. Anda hanya dapat menghapus seluruh tabel.
Prosedur
Buka Data Development.
Login ke AnalyticDB for MySQL console. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi kiri, klik Clusters. Temukan kluster yang ingin Anda kelola lalu klik ID kluster tersebut.
Di panel navigasi kiri, pilih .
Di jendela SQLConsole, pilih engine XIHE dan kelompok sumber daya Interaktif.
Buat database eksternal dan tabel eksternal Iceberg.
Buat database eksternal.
CREATE EXTERNAL DATABASE test_db WITH DBPROPERTIES ('adb_lake_bucket' = 'adb-lake-cn-shanghai-6gml****');Tabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
adb_lake_bucket
Menentukan lokasi penyimpanan data tabel lake storage.
Jika Anda menentukan lake storage dalam pernyataan CREATE DATABASE, semua tabel dalam database tersebut akan disimpan di lake storage tersebut. Jika Anda tidak ingin semua tabel dalam database disimpan di lake storage, Anda dapat mengatur parameter ini saat membuat tabel.
Buat tabel eksternal Iceberg.
CREATE TABLE test_db.test_iceberg_tbl ( `id` int, `name` string )PARTITIONED BY (age int) STORED AS ICEBERG TBLPROPERTIES ( 'catalog_type' = 'ADB', 'adb_lake_bucket' = 'adb-lake-cn-shanghai-6gml****' );Tabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
catalog_type
Menentukan jenis katalog. Atur parameter ini ke ADB.
adb_lake_bucket
Menentukan lokasi penyimpanan data tabel lake storage.
Jika Anda telah menentukan lake storage saat membuat database, semua tabel dalam database tersebut akan disimpan di lake storage tersebut. Anda tidak perlu menentukan parameter ini lagi saat membuat tabel.
Jika Anda tidak menentukan lake storage saat membuat database, Anda harus secara eksplisit menentukan parameter ini. Jika tidak, akan terjadi error saat membuat tabel. Setelah Anda menentukan parameter ini, data tabel akan disimpan di lake storage yang ditentukan.
Jika Anda secara eksplisit menentukan lake storage baik saat membuat database maupun saat membuat tabel, data tabel akan disimpan di lake storage yang ditentukan saat membuat tabel. Tabel lain dalam database akan disimpan di lake storage yang ditentukan dalam pernyataan CREATE DATABASE.
Tulis data ke tabel Iceberg.
INSERT INTO test_db1.test_iceberg_tbl select 1, 'anna', 10; INSERT INTO test_db1.test_iceberg_tbl select 2, 'jams', 20;Kueri data dari tabel eksternal Iceberg.
SELECT * FROM adb_external_db_iceberg.test_iceberg_tbl;Hasil berikut dikembalikan:
+---+----+---+ |id |name|age| +---+----+---+ |1 |anna|10 | |2 |jams|20 | +---+----+---+(Opsional) Hapus tabel eksternal Iceberg.
Pernyataan berikut menghapus tabel eksternal Iceberg dari AnalyticDB for MySQL dan datanya dari OSS.
SET spark.adb.lakehouse.enabled=true; DROP TABLE adb_external_db_iceberg.test_iceberg_tbl;
Kueri volume data lake storage
Di panel navigasi kiri, pilih .
Di kolom Storage Size lake storage yang dituju, lihat volume datanya.
PentingTampilan penggunaan penyimpanan untuk lake storage memiliki keterlambatan. Oleh karena itu, volume data tidak langsung terlihat setelah data ditulis.
Hapus lake storage
Di panel navigasi kiri, pilih .
Di kolom Actions lake storage yang dituju, klik Delete.
Pada kotak dialog Delete yang muncul, klik OK.
PentingSaat menghapus lake storage, pastikan semua data di dalamnya telah dihapus. Jika tidak, penghapusan akan gagal.
di samping Favorite Paths.