全部产品
Search
文档中心

Hologres:Arsitektur

更新时间:Jun 23, 2025

Topik ini menjelaskan arsitektur Hologres dan peran setiap komponen.

Arsitektur Hologres

Gambar berikut menunjukkan tiga arsitektur penyimpanan-komputasi yang umum digunakan dalam sistem terdistribusi tradisional. Architectures

  • Disk Bersama atau Penyimpanan Bersama

    Dalam arsitektur ini, kluster penyimpanan terdistribusi diterapkan. Setiap node pekerja mengakses data di kluster penyimpanan bersama seolah-olah data tersebut disimpan dalam database mandiri. Kluster penyimpanan dapat dengan mudah diperluas. Node pekerja harus menggunakan mekanisme koordinasi terdistribusi untuk menyinkronkan data dan memastikan konsistensi. Jumlah maksimum node pekerja dibatasi.

  • Tidak Ada yang Dibagi

    Setiap node pekerja memiliki penyimpanannya sendiri. Sebuah node pekerja hanya dapat memproses data dari satu shard. Node pekerja dapat berkomunikasi satu sama lain. Node ringkasan data diperlukan untuk merangkum data. Arsitektur ini dapat dengan mudah diperluas tetapi memiliki kelemahan. Ketika sebuah node pekerja online setelah failover, node tersebut harus menunggu data dimuat sebelum memberikan layanan. Selain itu, sumber daya penyimpanan dan komputasi harus diperluas secara bersamaan, yang kurang fleksibel. Setelah perluasan, penyeimbangan ulang data memerlukan waktu lama.

  • Pemisahan Penyimpanan

    Seperti pada arsitektur Penyimpanan Bersama, kluster penyimpanan terdistribusi diterapkan dan dibagikan dalam arsitektur ini. Mode pemrosesan data oleh node pekerja mirip dengan arsitektur Tidak Ada yang Dibagi. Data dipecah menjadi shard. Setiap node pekerja hanya memproses data dari satu shard. Setiap node komputasi dapat memiliki cache lokal.

    Arsitektur Pemisahan Penyimpanan memiliki manfaat berikut:

    • Konsistensi data tanpa usaha tambahan: Sistem hanya perlu memastikan bahwa satu node pekerja menulis data ke shard pada satu waktu.

    • Skalabilitas fleksibel: Sumber daya komputasi dan penyimpanan dapat diperluas secara terpisah sesuai kebutuhan. Fleksibilitas ini berguna dalam skenario seperti promosi besar. Jika sumber daya komputasi tidak mencukupi, Anda dapat langsung memperluas hanya sumber daya komputasi. Ini menghilangkan penyeimbangan ulang data yang memakan waktu dan tenaga yang diperlukan dalam arsitektur Tidak Ada yang Dibagi. Berbeda dengan arsitektur Tidak Ada yang Dibagi, kapasitas penyimpanan tidak terbatas untuk setiap node pekerja.

    • Pemulihan cepat dari kegagalan node komputasi: Setelah failover, data dapat ditarik secara asinkron dari penyimpanan terdistribusi dan bersama sesuai kebutuhan. Ini mempercepat pemulihan dari failover.

Hologres mengadopsi arsitektur Pemisahan Penyimpanan dan menggunakan Pangu yang dikembangkan oleh Alibaba sebagai sistem penyimpanan, yaitu sistem file terdistribusi yang mirip dengan Hadoop Distributed File System (HDFS). Anda dapat menyesuaikan kapasitas Hologres berdasarkan kebutuhan bisnis untuk dengan mudah menghadapi puncak lalu lintas di sistem online Anda.

Komponen dalam arsitektur Hologres

Gambar berikut menunjukkan arsitektur Hologres. Hologres architecture

Arsitektur ini terdiri dari komponen-komponen berikut:

  • Lapisan Komputasi

    • Frontend (FE)

      FE mengotentikasi, mengurai, dan mengoptimalkan pernyataan SQL. Sebuah instans Hologres memiliki beberapa FE. Hologres secara ekologis kompatibel dengan PostgreSQL 11. Anda dapat menggunakan sintaks PostgreSQL standar untuk pengembangan atau menggunakan alat pengembangan dan alat Business Intelligence (BI) yang kompatibel dengan PostgreSQL untuk terhubung ke Hologres.

    • HoloWorker

      Sebuah HoloWorker terdiri dari komponen-komponen seperti Query Engine (QE), Storage Engine (SE), dan HOS Scheduler. HoloWorkers menjadwalkan dan menghitung tugas pengguna.

      • QE

        • Hologres Query Engine (HQE)

          Dikembangkan oleh Alibaba Cloud, HQE menggunakan arsitektur Massively Parallel Processing (MPP) yang dapat diskalakan untuk menerapkan komputasi paralel penuh. HQE menggunakan operator vektorisasi untuk memaksimalkan penggunaan CPU dan mencapai performa query terbaik. HQE adalah modul utama Hologres QE.

        • PostgreSQL Query Engine (PQE)

          PQE menyediakan kompatibilitas dengan PostgreSQL. PQE mendukung berbagai ekstensi PostgreSQL, seperti PostGIS dan fungsi yang ditentukan pengguna (UDF) yang ditulis dalam PL/Java, PL/SQL, atau PL/Python. Fungsi dan operator yang tidak didukung oleh HQE dapat dieksekusi menggunakan PQE. HQE telah dioptimalkan secara berkelanjutan di setiap versi. Tujuan akhirnya adalah untuk mengintegrasikan semua fitur PQE.

        • Seahawks Query Engine (SQE)

          SQE memungkinkan Hologres untuk terhubung dengan mulus ke MaxCompute. Ini memberikan akses berperforma tinggi ke semua jenis file MaxCompute, tanpa perlu memigrasi atau mengimpor data. SQE juga memungkinkan Hologres untuk mengakses tabel kompleks seperti tabel hash dan tabel rentang-cluster, serta menerapkan analisis interaktif data batch tingkat PB.

      • SE

        SE mengelola dan memproses data. SE memungkinkan Anda melakukan operasi create, read, update, dan delete (CRUD) pada data.

      • Cache

        Komponen Cache menyimpan hasil query untuk meningkatkan performa query.

      • HOS Scheduler

        HOS Scheduler menyediakan kemampuan penjadwalan ringan.

    • Meta Service

      Meta Service mengelola metadata dan menyediakan metadata untuk FE. Metadata mencakup struktur tabel dan distribusi data pada SE.

    • Holo Master

      Hologres secara native diterapkan di kluster Kubernetes. Jika sebuah node pekerja di kluster mengalami kerusakan, kluster akan membuat node pekerja lain dalam waktu singkat untuk memastikan ketersediaan level node pekerja. Holo Master mempertahankan ketersediaan komponen di dalam setiap node pekerja. Jika sebuah komponen masuk ke status abnormal, Holo Master akan memulai ulang komponen tersebut dalam waktu singkat untuk memulihkan layanan yang disediakan oleh komponen tersebut.

  • Lapisan Penyimpanan

    • Data Hologres disimpan dalam sistem file Pangu.

    • Hologres dapat mengakses data MaxCompute yang disimpan di Pangu. Pangu menerapkan akses timbal balik yang efisien antara Hologres dan MaxCompute.

    • Hologres dapat mengakses data di Object Storage Service (OSS) dan Data Lake Formation (DLF) untuk mempercepat analisis di danau data. Data yang disimpan di kedua layanan ini mungkin dalam format berikut: CSV, ORC, Parquet, Hudi, Delta, dan Meta Data. Hologres juga dapat menyimpan data ke OSS, mengurangi biaya penyimpanan.