All Products
Search
Document Center

MaxCompute:Ikhtisar Open Storage

Last Updated:Jan 07, 2026

MaxCompute menyediakan Storage API untuk meningkatkan integrasi dengan ekosistem data besar dan memungkinkan mesin eksternal mengakses data di MaxCompute. Mesin komputasi pihak ketiga yang populer dapat memanggil Storage API untuk langsung mengakses penyimpanan dasar MaxCompute, sehingga secara signifikan meningkatkan efisiensi akses dan interaksi data.

Ikhtisar Open Storage

Storage API adalah antarmuka layanan data yang menyediakan metode akses data yang efisien, berlatensi rendah, dan aman. Antarmuka ini memungkinkan mesin komputasi pihak ketiga yang populer untuk mengakses sistem penyimpanan MaxCompute, sehingga meningkatkan integrasi dan efisiensi pemrosesan data antara MaxCompute dengan mesin komputasi open source atau mesin pembelajaran mesin. Mesin komputasi seperti Spark, StarRocks, Presto, dan Flink dapat menggunakan connector untuk langsung mengakses data yang disimpan di MaxCompute, yang menyederhanakan proses penggunaan data dan meningkatkan kinerja akses data. Gambar berikut menunjukkan arsitekturnya.

image

Skenario

Storage API ideal untuk skenario yang memerlukan aksesibilitas data dan komputasi multi-mesin. Jika perusahaan atau pengembang perlu beralih secara fleksibel antar kerangka kerja komputasi atau menggunakan fitur mesin tertentu untuk memproses data di MaxCompute, Storage API bertindak sebagai jembatan untuk memfasilitasi pertukaran data dan memungkinkan pemrosesan data yang beragam.

Fitur utama

  • Throughput tinggi: Storage API mendukung pembacaan data kolom yang efisien, predicate pushdown untuk penyaringan data sebelum transmisi, dan format data Arrow.

  • Aman dan mudah digunakan: Menyediakan akses bacalangsung ke penyimpanan dasar dengan semantik tabel. Hal ini menyembunyikan kompleksitas penyimpanan sekaligus mematuhi kebijakan keamanan seperti isolasi proyek, kontrol akses, dan enkripsi data.

  • Integrasi ekosistem: Spark pada EMR dan StarRocks dapat menggunakan connector untuk langsung mengakses data di MaxCompute, sehingga menyederhanakan integrasi mesin komputasi.

Cakupan

  • Mesin pihak ketiga yang mengakses MaxCompute dapat membaca tabel standar, tabel partisi, tabel terkluster, Delta Tables, dan tampilan yang di-materialisasi. Namun, mereka tidak dapat membaca tabel eksternal atau tampilan logis di MaxCompute.

  • Pembacaan data bertipe JSON tidak didukung.

  • Untuk Storage API pay-as-you-go, jumlah permintaan konkuren dibatasi hingga 1.000 per tenant, dan laju transmisi dibatasi hingga 10 MB/detik per permintaan konkuren.

Sumber daya transmisi data

Ketika mesin pihak ketiga menggunakan MaxCompute Storage API untuk tugas transmisi data, Anda dapat menggunakan kelompok sumber daya eksklusif untuk Data Transmission Service (subscription). Tabel berikut menjelaskan sumber daya tersebut.

Nama kelompok sumber daya

Deskripsi penagihan

Wilayah yang didukung

Petunjuk penggunaan

Biaya langganan untuk sumber daya transmisi data eksklusif

Kelompok sumber daya ini menggunakan metode penagihan langganan. Anda dikenai biaya berdasarkan jumlah instans konkuren yang Anda beli.

  • China (Beijing)

  • China (Hangzhou)

  • China (Shanghai)

  • China (Shenzhen)

  • China (Hong Kong)

  • Indonesia (Jakarta)

  • Singapura

  • AS (Silicon Valley)

  • AS (Virginia)

  • Jepang (Tokyo)

  • Jerman (Frankfurt)

Beli dan gunakan kelompok sumber daya eksklusif untuk Data Transmission Service

Pada halaman Resource Observation, Anda dapat melihat detail penggunaan kelompok sumber daya eksklusif untuk Data Transmission Service (subscription). Untuk informasi selengkapnya, lihat Resource Observation.

Contoh penggunaan

Pemetaan tipe data Arrow

MaxCompute Storage API menggunakan tipe data Apache Arrow untuk memastikan representasi data yang efisien dan terstruktur selama penyimpanan dan transmisi. Saat Anda menulis data menggunakan MaxCompute Storage API, data tersebut tidak dihitung atau diproses. Misalnya, kunci duplikat tidak dihapus dari data Map. Struktur data asli dipertahankan kecuali jika mesin penyimpanan memiliki batasan tertentu.

Tabel berikut menjelaskan pemetaan antara tipe data MaxCompute dan Apache Arrow.

Tipe data MaxCompute

Tipe data Arrow

TINYINT

Int8Type

SMALLINT

Int16Type

INT

Int32Type

BIGINT

Int64Type

FLOAT

FloatType

DOUBLE

DoubleType

BOOLEAN

BooleanType

DECIMAL

Decimal128Type

Catatan

Presisi tipe DECIMAL MaxCompute lebih tinggi daripada tipe Decimal128Type Storage API.

  • Saat membaca data, tipe DECIMAL MaxCompute dikonversi ke tipe Arrow decimal(38,18) untuk output. Pengecualian akan dilempar jika terjadi overflow.

  • Saat menulis data, tipe Arrow decimal(precision,scale) dikonversi ke tipe MaxCompute DECIMAL(38,18). Presisi dan skala harus sama.

DECIMAL(precision, scale)

Decimal128Type

STRING

StringType

BINARY

BinaryType

VARCHAR

StringType

CHAR

StringType

DATETIME

TimestampType[1]

Unit waktu adalah milidetik, dan zona waktu adalah UTC.

TIMESTAMP

TimestampType[2]

Unit waktu adalah nanodetik, dan zona waktu adalah UTC.

Catatan

Tipe TIMESTAMP mendukung rentang nilai yang lebih luas. Jika Anda menggunakan Storage API untuk membaca atau menulis data TIMESTAMP yang melebihi rentang presisi TimestampType, bagian bernilai presisi tinggi akan dipotong. Hal ini menyebabkan loss presisi.

DATE

Date32Type

INTERVAL_DAY_TIME

DayTimeIntervalType

Catatan

Tipe INTERVAL_DAY_TIME akurat hingga nanodetik. Tipe DayTimeIntervalType Storage API akurat hingga milidetik. Jika Anda menggunakan Storage API untuk membaca atau menulis data INTERVAL_DAY_TIME, bagian nanodetik akan dipotong. Hal ini menyebabkan loss presisi.

INTERVAL_YEAR_MONTH

MonthIntervalType

ARRAY

ListType

MAP

MapType

Catatan

Jika MAP berisi kunci duplikat:

  • Fase penulisan: Storage API tidak memproses kunci duplikat dalam Map saat menulis data. Struktur data asli dipertahankan dan ditulis ke penyimpanan.

  • Fase kueri: Saat Anda mengkueri data, mesin SQL menggunakan prinsip "last write wins" dan mengembalikan hasil yang sesuai dengan semantik kunci unik untuk tipe data Map.

Sebagai contoh, jika Anda menulis data mentah {'a': 1, 'b': 2, 'a': 3}, hasil kuerinya adalah {'a': 3, 'b': 2}.

STRUCT

StructType

JSON

StringType