Lake storage adalah lapisan penyimpanan yang sepenuhnya dikelola dalam AnalyticDB for MySQL, yang secara otomatis menangani pembangunan data lake, tata kelola metadata, dan optimalisasi penyimpanan. Gunakan fitur ini bila Anda memerlukan satu lapisan tunggal yang mendukung pemrosesan batch offline maupun analitik real-time tanpa perlu mengelola infrastruktur dasarnya.
Dengan lake storage, Anda dapat:
Menyimpan data tabel terstruktur dalam format terbuka (Iceberg, Paimon) bersama objek file tidak terstruktur dalam satu lapisan.
Membuat, menjalankan kueri, dan mengelola tabel lake storage dari mesin XIHE dan Spark.
Menerapkan kontrol izin dan siklus hidup yang sama pada tabel lake storage seperti pada tabel internal.
Memasukkan data dan menjalankan kueri multi-mesin tanpa perlu menyediakan atau memelihara infrastruktur penyimpanan.
Lake storage sedang dalam pratinjau undangan. Untuk menggunakan fitur ini, submit a ticket untuk menghubungi dukungan teknis.submit a ticket
Prasyarat
Sebelum memulai, pastikan Anda memiliki kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse.
Penagihan
Biaya lake storage dihitung berdasarkan volume data dan durasi penggunaan dengan skema bayar sesuai penggunaan. Membaca dari atau menulis ke lake storage juga menghasilkan biaya permintaan berdasarkan jumlah permintaan PUT dan GET.
Untuk detail harga, lihat Harga Edisi Perusahaan dan Edisi Dasar serta Harga Edisi Data Lakehouse.
Batasan
Batasan | Detail |
Lake storages per wilayah | Maksimal 5 per Akun Alibaba Cloud. |
Nama lake storage | Dibuat otomatis dalam format |
Tampilan penggunaan penyimpanan | Tampilan mengalami penundaan. Volume data tidak langsung terlihat setelah data ditulis. |
Backup dan pemulihan | Fitur backup dan pemulihan AnalyticDB for MySQL tidak mendukung data dalam lake storage. |
Kondisi penghapusan | Semua data dalam lake storage harus dihapus sebelum Anda dapat menghapus lake storage tersebut. |
Membuat lake storage
Login ke Konsol AnalyticDB for MySQL. Di pojok kiri atas, pilih wilayah. Di panel navigasi kiri, klik Clusters. Temukan kluster target dan klik ID kluster tersebut.
Di panel navigasi kiri, pilih Data Management > Lake Storages.
Di pojok kanan atas, klik Create Lake Storage.
Pada kotak dialog Create Lake Storage, klik OK. Sistem akan membuat nama lake storage secara otomatis dalam format
adb-lake-RegionID-RandomString. Nama tersebut tidak dapat diubah setelah dibuat.(Opsional) Tambahkan deskripsi untuk membedakan lake storage yang digunakan dalam skenario bisnis berbeda.
Di kolom Lake Storage Description, klik ikon
.Pada kotak dialog Change Lake Storage Description, masukkan deskripsi dan klik OK.
Setelah lake storage dibuat, AnalyticDB for MySQL secara otomatis membuat Bucket OSS di wilayah yang sama dengan nama yang sama seperti lake storage. Untuk melihat bucket ini di Konsol OSS:
Login ke Konsol OSS
Di panel navigasi kiri, klik ikon
di samping Favorite Paths.Pada kotak dialog Add Favorite Path, konfigurasikan pengaturan berikut dan klik OK:
Adding Method: Pilih Add from other authorized buckets.
Region: Wilayah tempat kluster AnalyticDB for MySQL berada.
Bucket: Masukkan nama lake storage.
Menggunakan lake storage
Tabel lake storage adalah tabel yang sepenuhnya dikelola dalam format Iceberg atau Paimon. Setelah dibuat, sistem menetapkan path unik untuk tabel tersebut: oss://<LakeStorageName>/lakehouse/default/tables/<table_uuid>.
Contohnya, sebuah tabel bernama test_iceberg_tbl disimpan di oss://adb-lake-cn-shanghai-6gml****/lakehouse/default/tables/b22cd225-528d-421c-a2****.
Kedua mesin XIHE dan Spark mendukung membaca dari dan menulis ke tabel lake storage. Parameter adb_lake_bucket mengontrol lake storage mana yang digunakan oleh suatu tabel:
Tempat | Efek |
Hanya di | Semua tabel dalam database tersebut menggunakan lake storage tersebut. Tidak perlu menentukannya lagi di tingkat tabel. |
Hanya di | Tabel tersebut menggunakan lake storage yang ditentukan. Wajib — jika dihilangkan akan menyebabkan error. |
Di kedua | Tabel tersebut menggunakan lake storage dari |
Membaca dan menulis ke tabel lake storage menggunakan Spark SQL
Prasyarat
Versi kernel kluster harus 3.2.3.0 atau lebih baru.
Untuk melihat dan memperbarui versi kluster, login ke Konsol AnalyticDB for MySQL dan buka bagian Configuration Information pada halaman Cluster Information. Untuk detailnya, lihat Lihat dan perbarui versi minor kluster.
Prosedur
Buka Data Development.
Login ke Konsol AnalyticDB for MySQL. Di pojok kiri atas, pilih wilayah. Di panel navigasi kiri, klik Clusters. Temukan kluster target dan klik ID kluster tersebut.
Di panel navigasi kiri, pilih Job Development > SQL Development.
Pada tab SQLConsole, pilih mesin Spark dan kelompok sumber daya (kelompok sumber daya pekerjaan atau kelompok sumber daya interaktif dengan Spark).
Buat database dan tabel Iceberg.
Buat database.
CREATE DATABASE adb_external_db_iceberg WITH DBPROPERTIES ('adb_lake_bucket' = 'adb-lake-cn-shanghai-6gml****');Aktifkan lake storage dan buat tabel Iceberg.
SET spark.adb.lakehouse.enabled=true; 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****' );Untuk perilaku cakupan
adb_lake_bucket, lihat tabel parameter di atas.
Tulis data ke tabel Iceberg.
SET spark.adb.lakehouse.enabled=true; INSERT INTO adb_external_db_iceberg.test_iceberg_tbl VALUES (1, 'lisa', 10), (2, 'jams', 10);(Opsional) Hapus baris dari tabel Iceberg.
SET spark.adb.lakehouse.enabled=true; DELETE FROM adb_external_db_iceberg.test_iceberg_tbl WHERE id = 1; DELETE FROM adb_external_db_iceberg.test_iceberg_tbl WHERE age = 20;Jalankan kueri data dari tabel Iceberg.
SET spark.adb.lakehouse.enabled=true; SELECT * FROM adb_external_db_iceberg.test_iceberg_tbl;Output yang diharapkan:
+---+----+---+ |id |name|age| +---+----+---+ |1 |anna|10 | |2 |jams|20 | +---+----+---+(Opsional) Hapus tabel Iceberg. Pernyataan berikut menghapus tabel dari AnalyticDB for MySQL dan menghapus datanya dari OSS.
SET spark.adb.lakehouse.enabled=true; DROP TABLE adb_external_db_iceberg.test_iceberg_tbl;
Membaca dan menulis ke tabel lake storage menggunakan XIHE SQL
Prasyarat
Versi kernel kluster harus 3.2.5.3 atau lebih baru.
Untuk melihat dan memperbarui versi kluster, login ke Konsol AnalyticDB for MySQL dan buka bagian Configuration Information pada halaman Cluster Information. Untuk detailnya, lihat Lihat dan perbarui versi minor kluster.
Pernyataan DELETE tidak dapat menghapus baris individual dari tabel lake storage XIHE. Untuk menghapus data, hapus seluruh tabel tersebut.
Prosedur
Buka Data Development.
Login ke Konsol AnalyticDB for MySQL. Di pojok kiri atas, pilih wilayah. Di panel navigasi kiri, klik Clusters. Temukan kluster target dan klik ID kluster tersebut.
Di panel navigasi kiri, pilih Job Development > SQL Development.
Pada jendela SQLConsole, pilih mesin 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****');
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-parameter tersebut.
Parameter
Deskripsi
catalog_typeJenis katalog. Atur ke
ADB.adb_lake_bucketLake storage untuk tabel ini. Untuk perilaku cakupan, lihat tabel parameter di atas.
Tulis data ke tabel Iceberg.
INSERT INTO test_db.test_iceberg_tbl SELECT 1, 'anna', 10; INSERT INTO test_db.test_iceberg_tbl SELECT 2, 'jams', 20;Jalankan kueri data dari tabel Iceberg.
SELECT * FROM test_db.test_iceberg_tbl;Output yang diharapkan:
+---+----+---+ |id |name|age| +---+----+---+ |1 |anna|10 | |2 |jams|20 | +---+----+---+(Opsional) Hapus tabel eksternal Iceberg. Pernyataan berikut menghapus tabel dari AnalyticDB for MySQL dan menghapus datanya dari OSS.
DROP TABLE test_db.test_iceberg_tbl;
Menanyakan volume data
Di panel navigasi kiri, pilih Data Management > Lake Storages.
Di kolom Storage Size, lihat volume data lake storage target.
Tampilan penggunaan penyimpanan mengalami penundaan. Volume data tidak langsung terlihat setelah data ditulis.
Menghapus lake storage
Hapus semua data dalam lake storage sebelum melanjutkan. Jika masih ada data yang tersisa, penghapusan akan gagal.
Di panel navigasi kiri, pilih Data Management > Lake Storages.
Di kolom Actions lake storage target, klik Delete.
Pada kotak dialog Delete, klik OK.