Hologres dan MaxCompute terintegrasi secara mendalam di lapisan bawah, memungkinkan akses dua arah tanpa batas ke sistem penyimpanan masing-masing serta pemetaan metadata satu klik. Hal ini meningkatkan efisiensi akses data secara signifikan. Topik ini menjelaskan kemampuan dan batasan penggunaan Hologres untuk mempercepat pembacaan data dari dan penulisan data ke MaxCompute.
Informasi Latar Belakang
MaxCompute adalah platform komputasi cepat dan sepenuhnya dikelola untuk gudang data berskala besar yang dapat memproses hingga exabyte data. Platform ini digunakan untuk menyimpan dan menghitung sejumlah besar data terstruktur secara batch. MaxCompute juga menyediakan berbagai solusi gudang data dan layanan analisis serta pemodelan data besar. Untuk informasi lebih lanjut, lihat Apa itu MaxCompute?
Hologres adalah layanan gudang data real-time serba guna yang dikembangkan oleh Alibaba Cloud. Layanan ini memungkinkan Anda menulis, memperbarui, memproses, dan menganalisis sejumlah besar data secara real-time. Hologres terintegrasi secara mendalam dengan MaxCompute, memungkinkan Anda membuat database eksternal atau tabel asing untuk memetakan metadata MaxCompute dan mempercepat kueri data MaxCompute. Ini memberikan hasil kueri cepat berdasarkan set data penyimpanan tanpa perlu mengimpor data. Selain itu, Hologres menggunakan protokol PostgreSQL standar untuk berintegrasi mulus dengan semua alat BI utama dalam ekosistem PostgreSQL. Untuk informasi lebih lanjut, lihat Analisis BI dan visualisasi.
Mulai dari Hologres V3.1, kemampuan pembacaan langsung Hologres untuk data MaxCompute sepenuhnya ditingkatkan ke versi 2.0. Versi ini membangun ulang mekanisme pembacaan langsung berdasarkan MaxCompute C++ Native SDK, meningkatkan performa dan pengalaman pengguna saat Hologres mengakses sumber data MaxCompute. Dibandingkan dengan pendekatan menggunakan Storage API, metode pembacaan langsung menawarkan keuntungan signifikan karena membaca data langsung dari Apsara Distributed File System, tanpa biaya komputasi tambahan atau pembatasan laju di sisi MaxCompute, serta performa pembacaan lebih dari dua kali lipat dibandingkan metode Storage API.
CatatanUntuk mengakses tabel MaxCompute menggunakan jalur routing baru, Anda perlu menambahkan parameter GUC. Disarankan untuk mengaktifkannya di tingkat sesi. Tambahkan perintah
SET hg_experimental_external_catalog_routing = 'odps:common_table';sebelum pernyataan kueri SQL Anda dan jalankan mereka bersama-sama.
Skenario
Gunakan database eksternal atau tabel asing untuk mempercepat kueri data MaxCompute
Dalam solusi yang mengintegrasikan pemrosesan data real-time dan offline, aspek yang paling penting adalah penyederhanaan pertukaran data. Pengguna tidak perlu memindahkan data, dan satu sistem penyimpanan dapat mendukung alur kerja komputasi offline dan real-time. Kemampuan menggunakan database eksternal atau tabel asing untuk kueri data secara efektif memenuhi persyaratan ini.
Anda dapat menjalankan pernyataan CREATE EXTERNAL DATABASE untuk membuat database eksternal di Hologres untuk memetakan skema dan tabel dalam proyek MaxCompute. Anda juga dapat menjalankan pernyataan IMPORT FOREIGN SCHEMA untuk membuat beberapa tabel asing sekaligus. Jika Anda ingin mempercepat kueri pada sejumlah kecil tabel MaxCompute atau pada bidang tertentu dalam tabel MaxCompute, Anda dapat menjalankan pernyataan CREATE FOREIGN TABLE. Pilih metode berdasarkan karakteristik bisnis dan skenario Anda.
Mulai dari Hologres V3.0, batasan berikut dihilangkan ketika Anda menggunakan tabel asing untuk kueri data MaxCompute: Maksimum 200 GB data dalam maksimum 512 partisi dapat dipindai sekaligus. Kueri skala besar mengonsumsi lebih banyak sumber daya di Hologres. Kami sarankan Anda melakukan isolasi sumber daya. Untuk informasi lebih lanjut, lihat Memulai dengan instance gudang virtual. Anda juga dapat menggunakan sumber daya komputasi serverless untuk melakukan kueri skala besar sesekali. Untuk informasi lebih lanjut, lihat Ikhtisar Komputasi Serverless.
Impor data MaxCompute ke Hologres
Untuk meningkatkan performa kueri, Anda dapat mengimpor data ke Hologres dan kemudian menanyakan data tersebut. Metode ini memanfaatkan sepenuhnya kemampuan pengindeksan dan optimasi penyimpanan Hologres untuk lebih mempercepat kueri dan mengimplementasikan analisis BI real-time, kueri titik konkurensi tinggi, dan kueri asosiasi kompleks pada beberapa tabel. Untuk informasi lebih lanjut, lihat Impor data dari MaxCompute ke Hologres dengan menjalankan pernyataan SQL.
Ekspor data dari Hologres ke MaxCompute
Dalam skenario bisnis aktual, pengguna biasanya perlu menulis data yang ditulis ke Hologres secara real-time dan hasil analisis agregat kembali ke MaxCompute. Ini membantu memenuhi persyaratan untuk pengarsipan data historis, manajemen penyimpanan bertingkat untuk data panas dan dingin, serta pengisian ulang gudang data offline. Anda dapat menjalankan pernyataan INSERT INTO atau INSERT OVERWRITE untuk menulis data kembali ke MaxCompute. Untuk informasi lebih lanjut, lihat Ekspor data ke MaxCompute.
Deskripsi Fitur
Tabel berikut menggambarkan kemampuan yang disediakan oleh Hologres untuk kueri dipercepat pada data MaxCompute dengan menggunakan database eksternal dan tabel asing.
Versi Hologres | Kemampuan yang Didukung | Deskripsi |
V3.1 | Kemampuan pembacaan langsung Hologres untuk data MaxCompute sepenuhnya ditingkatkan ke versi 2.0. Versi ini membangun ulang mekanisme pembacaan langsung berdasarkan MaxCompute C++ Native SDK, meningkatkan performa dan pengalaman pengguna saat Hologres mengakses sumber data MaxCompute. | Dibandingkan dengan metode pembacaan berdasarkan Storage API, mekanisme pembacaan langsung dalam versi 2.0 dapat langsung mengakses Apsara Distributed File System, menghilangkan biaya komputasi tambahan di sisi MaxCompute dan menghindari pembatasan laju. Selain itu, dalam hal performa pembacaan, pendekatan pembacaan langsung menawarkan lebih dari dua kali lipat keunggulan performa. |
Hologres mendukung pembacaan langsung data tabel Delta MaxCompute. Saat ini, hanya mendukung akses penuh ke snapshot terbaru tabel Delta. | Tabel Delta adalah format tabel data inkremental yang diperkenalkan oleh MaxCompute, mendukung ingest data pada granularitas level menit. Format ini menggunakan AliORC sebagai format file dasar, mendukung semantik UPSERT, dan memungkinkan pembacaan dan penulisan data inkremental dalam format Change Data Capture (CDC). Untuk informasi lebih lanjut, lihat Akses tabel Delta MaxCompute dari Hologres. | |
Hologres mendukung pembacaan langsung data MaxCompute yang memiliki fitur penyembunyian data dinamis diaktifkan. | Fitur penyembunyian data dinamis MaxCompute membantu pelanggan menyembunyikan atau mengganti data sensitif secara real-time selama akses data atau tampilan, untuk mencegah kebocoran data sensitif. Untuk informasi lebih lanjut, lihat Penyembunyian data dinamis. | |
Hologres mendukung pembacaan langsung tabel evolusi skema MaxCompute. | Operasi yang didukung termasuk menambahkan kolom, menghapus kolom, mengubah tipe kolom, dan mengurutkan ulang kolom. | |
Hologres mendukung pembacaan langsung tabel terkluster MaxCompute, termasuk tabel terkluster rentang yang menggunakan bidang tipe DATETIME, TIMESTAMP, atau DECIMAL sebagai kolom kluster. | Tidak ada. | |
V3.0.7 | Pernyataan CREATE EXTERNAL DATABASE didukung untuk membuat database eksternal di Hologres untuk memetakan skema dan tabel dalam proyek MaxCompute. | Anda dapat menjalankan pernyataan CREATE EXTERNAL DATABASE untuk membuat database eksternal di Hologres dan menggunakan database eksternal untuk memuat metadata sumber data eksternal ke Hologres. Ini memungkinkan Anda mengelola data internal dan eksternal di Hologres dan membantu mengimplementasikan manajemen metadata terpusat menggunakan arsitektur lakehouse terintegrasi. Untuk informasi lebih lanjut, lihat CREATE EXTERNAL DATABASE. |
Batasan bahwa maksimum 200 GB data MaxCompute dalam maksimum 512 partisi dapat dipindai menggunakan tabel asing sekaligus dihilangkan. | Dengan cara ini, Anda dapat menggunakan Hologres untuk menanyakan sejumlah besar data MaxCompute. Anda dapat menggunakan instance gudang virtual dan fitur Komputasi Serverless untuk mengisolasi sumber daya. Ini mencegah kueri besar mengonsumsi sumber daya instans berlebihan dan memengaruhi eksekusi kueri lainnya dan pekerjaan tulis. | |
V2.2.1 | Fitur Auto Load mendukung proyek MaxCompute yang menggunakan model tiga lapis. | Skema dalam model tiga lapis MaxCompute digunakan untuk mengklasifikasikan tabel, sumber daya, dan fungsi dalam proyek. Untuk informasi lebih lanjut tentang skema, lihat Skema. Untuk informasi lebih lanjut tentang fitur Auto Load, lihat Auto Load. |
Fitur Auto Load mendukung pembaruan otomatis metadata. | Tidak ada. | |
Fitur Auto Load mendukung evolusi skema pada tabel asing MaxCompute. | Evolusi skema pada tabel asing MaxCompute mencakup operasi seperti menghapus kolom, mengubah urutan kolom, dan mengubah tipe data kolom. Untuk informasi lebih lanjut, lihat Auto Load. | |
Peran terhubung layanan Hologres dapat digunakan untuk mengakses MaxCompute. | Peran terhubung layanan adalah Peran RAM yang entitas tepercayanya adalah layanan Alibaba Cloud. Peran terhubung layanan dapat mengimplementasikan akses otorisasi lintas layanan Alibaba Cloud. Untuk informasi lebih lanjut, lihat Peran terhubung layanan untuk Hologres. | |
V2.1 | Anda dapat menulis data ke tabel dalam skema tertentu di proyek MaxCompute yang menggunakan model tiga lapis. | Skema dalam model tiga lapis MaxCompute digunakan untuk mengklasifikasikan tabel, sumber daya, dan fungsi dalam proyek. Untuk informasi lebih lanjut tentang skema, lihat Skema. |
Anda dapat mengakses tabel dalam skema tertentu di proyek MaxCompute yang menggunakan model tiga lapis di konsol HoloWeb. | Untuk informasi lebih lanjut, lihat Buat tabel asing yang dipetakan ke MaxCompute di konsol HoloWeb. | |
V2.0 | Mesin untuk kueri dipercepat pada data MaxCompute ditingkatkan ke Hologres Query Engine (HQE) untuk meningkatkan kompatibilitas dan stabilitas. | Tidak ada. |
V1.3 | Anda dapat menggunakan tabel asing untuk menanyakan data dalam tabel transaksional MaxCompute. | Tidak ada. |
Anda dapat membaca data dari tabel MaxCompute dalam status evolusi skema. | Tabel berada dalam status evolusi skema jika kolomnya dihapus, urutan kolom diubah, atau tipe data kolom diubah di MaxCompute. | |
Otentikasi dual-signature antara Hologres dan MaxCompute didukung. | Untuk informasi lebih lanjut, lihat Buat tabel eksternal Hologres dalam mode dual-signature. | |
Anda dapat mengakses tabel MaxCompute yang dienkripsi berdasarkan Bring Your Own Key (BYOK). | Untuk informasi lebih lanjut, lihat Kueri data MaxCompute yang dienkripsi berdasarkan BYOK. | |
V1.1.43 | Fitur Auto Load didukung. Tabel asing dapat dibuat secara otomatis untuk tabel MaxCompute yang dikueri berdasarkan kebutuhan bisnis Anda atau semua tabel MaxCompute. | Untuk informasi lebih lanjut, lihat Auto Load. |
Perhatian
Saat menggunakan database eksternal atau tabel asing di Hologres untuk mempercepat kueri pada data MaxCompute, perhatikan hal-hal berikut:
Pastikan instans Hologres Anda berada di wilayah yang sama dengan proyek MaxCompute. Jika tidak, stabilitas kueri data tidak dapat dijamin karena potensi masalah jaringan.
Anda hanya dapat mempercepat kueri pada data dalam tabel internal MaxCompute, bukan pada tabel eksternal atau tampilan di MaxCompute.
Bidang partisi dalam tabel MaxCompute dipetakan ke bidang reguler di Hologres. Anda dapat menggunakan nilai bidang partisi sebagai kondisi filter untuk menanyakan data.
Anda tidak dapat menanyakan data tipe MAP atau STRUCT dari tabel MaxCompute.
Tabel terkluster rentang di MaxCompute yang menggunakan kolom tipe DATETIME, TIMESTAMP, atau DECIMAL sebagai kolom kunci kluster tidak didukung.
Anda hanya dapat menanyakan data MaxCompute yang menggunakan penyimpanan standar, bukan data MaxCompute yang menggunakan penyimpanan akses jarang (IA) atau penyimpanan jangka panjang.