All Products
Search
Document Center

E-MapReduce:Doris

Last Updated:Jun 23, 2026

Apache Doris adalah database analitik real-time berkinerja tinggi yang unggul dalam analisis laporan, kueri ad hoc, dan akselerasi kueri terfederasi di atas data lake.

Informasi latar belakang

Untuk informasi lebih lanjut mengenai Apache Doris, lihat Introduction to Apache Doris.

Skenario

Setelah data dari berbagai sumber diintegrasikan dan diproses, data tersebut biasanya dimuat ke gudang data real-time seperti Doris serta danau data terpadu offline seperti Hive, Iceberg, dan Hudi. Gambar berikut menunjukkan proses ini.Apache Doris

Apache Doris banyak digunakan dalam skenario berikut:

  • Analisis laporan

    • Dasbor real-time.

    • Laporan untuk analis dan manajer internal.

    • Analisis laporan dengan konkurensi tinggi (Customer Facing Analytics), seperti analisis situs untuk pemilik website dan laporan iklan untuk pengiklan. Biasanya membutuhkan ribuan permintaan per detik (QPS) dengan latensi tingkat milidetik.

  • Kueri ad hoc: Analitik mandiri untuk analis dengan pola kueri bervariasi yang membutuhkan throughput tinggi.

  • Pembangunan gudang data terpadu: Doris berfungsi sebagai platform tunggal untuk membangun gudang data terpadu, menggantikan arsitektur lama yang terdiri dari Spark, Hive, Kudu, Hbase, dan Phoenix, sehingga sangat menyederhanakan tumpukan perangkat lunak data besar.

  • Kueri terfederasi data lake: Tabel eksternal memungkinkan analisis terfederasi pada data di Hive, Iceberg, dan Hudi tanpa perlu menyalin data, yang secara signifikan meningkatkan performa kueri.

Ikhtisar teknis

Gambar berikut menunjukkan arsitektur Doris, yang hanya terdiri dari dua jenis proses.Doris架构

  • Frontend (FE): Menangani permintaan klien, penguraian dan perencanaan kueri, metadata, serta manajemen node.

  • Backend (BE): Mengelola penyimpanan data dan mengeksekusi rencana kueri.

Kedua jenis proses tersebut dapat diskalakan secara horizontal, mendukung ratusan mesin dan puluhan petabyte penyimpanan per kluster. Protokol konsistensi menjamin ketersediaan tinggi (HA) untuk layanan dan keandalan tinggi untuk data, sedangkan arsitektur terintegrasi mengurangi biaya operasi dan maintenance (O&M) sistem terdistribusi.

Teknologi Doris memiliki lima aspek utama:

  • Doris menggunakan protokol MySQL, sangat kompatibel dengan sintaksis MySQL, dan mendukung SQL standar. Hal ini memungkinkan Anda mengakses Doris melalui berbagai alat klien dan mengintegrasikannya secara mulus dengan alat Business Intelligence (BI).

  • Doris menggunakan mesin penyimpanan kolom yang melakukan enkode, kompresi, dan pembacaan data berdasarkan kolom. Pendekatan ini mencapai rasio kompresi sangat tinggi dan mengurangi pemindaian data yang tidak relevan untuk penggunaan I/O dan CPU yang lebih efisien.

    Doris juga mendukung beragam struktur indeks untuk mengurangi volume pemindaian data:

    • Sorted Compound Key Index: Mendukung hingga tiga kolom sebagai kunci pengurutan majemuk, memungkinkan pemotongan data yang efektif untuk skenario pelaporan berkonkurensi tinggi.

    • Z-order Index: Melakukan kueri rentang secara efisien pada kombinasi bidang apa pun dalam model data.

    • Min/Max: Secara efektif menyaring kueri kesetaraan dan rentang pada tipe numerik.

    • Bloom Filter: Sangat efektif untuk pemotongan filter kesetaraan pada kolom dengan kardinalitas tinggi.

    • Inverted Index: Memungkinkan pengambilan cepat pada bidang apa pun.

  • Doris mendukung beberapa model penyimpanan yang dioptimalkan untuk skenario berbeda:

    • Model Aggregate Key: Menggabungkan kolom nilai dengan kunci yang sama. Model ini sangat meningkatkan performa melalui pra-agregasi.

    • Model Unique Key: Kunci bersifat unik. Data dengan kunci yang sama akan ditimpa, sehingga memungkinkan pembaruan data tingkat baris.

    • Model Duplicate Key: Model data detail yang menyimpan rincian tabel fakta.

    Doris juga mendukung Tampilan yang di-materialisasi dengan konsistensi kuat yang diperbarui dan dipilih secara otomatis tanpa intervensi manual, sehingga sangat mengurangi biaya maintenance.

  • Doris menggunakan model Pemrosesan Paralel Masif (MPP). Eksekusi dilakukan secara paralel antar node maupun di dalam setiap node. Doris juga mendukung distributed shuffle joins untuk beberapa tabel besar guna menangani kueri kompleks dengan lebih baik. Gambar berikut menunjukkan mesin kueri.Query

    Mesin kueri Doris adalah mesin vektorisasi. Semua struktur memori disusun dalam tata letak kolom. Desain ini sangat mengurangi pemanggilan fungsi virtual, meningkatkan tingkat hit cache, dan memanfaatkan Instruksi SIMD secara efisien. Dalam skenario agregasi tabel lebar, performanya 5 hingga 10 kali lebih baik dibandingkan mesin non-vektorisasi.

  • Doris menggunakan strategi optimasi hibrida yang menggabungkan Rule-Based Optimizer (RBO) dan Cost-Based Optimizer (CBO). RBO mendukung constant folding, penulisan ulang subkueri, dan penurunan predikat. CBO mendukung pengurutan ulang join. CBO terus dioptimalkan dengan fokus pada pengumpulan dan penurunan statistik yang lebih akurat serta estimasi model biaya yang lebih tepat.

Doris menggunakan teknologi Adaptive Query Execution untuk menyesuaikan rencana eksekusi secara dinamis berdasarkan statistik waktu proses. Sebagai contoh, Runtime Filter menghasilkan filter saat waktu proses dan mendorongnya ke sisi probe. Filter tersebut juga dapat didorong secara otomatis ke node pemindaian tingkat terendah di sisi probe, yang secara signifikan mengurangi volume data dan mempercepat performa join, seperti yang ditunjukkan dalam bagan alir berikut.AQERuntime Filter Doris mendukung filter In, Min, Max, dan Bloom.

Catatan

Konten dan gambar dalam topik ini bersumber dari Introduction to Apache Doris.