Apache Tajo - Arsitektur

Ilustrasi berikut menggambarkan arsitektur Apache Tajo.

Tabel berikut menjelaskan setiap komponen secara rinci.

S.No. Deskripsi komponen
1

Client

Client mengirimkan pernyataan SQL ke Tajo Master untuk mendapatkan hasilnya.

2

Master

Master adalah daemon utama. Ini bertanggung jawab untuk perencanaan permintaan dan koordinator untuk pekerja.

3

Catalog server

Menjaga tabel dan deskripsi indeks. Itu tertanam dalam daemon Master. Server katalog menggunakan Apache Derby sebagai lapisan penyimpanan dan terhubung melalui klien JDBC.

4

Worker

Node master memberikan tugas ke node pekerja. TajoWorker memproses data. Dengan bertambahnya jumlah TajoWorkers, kapasitas pemrosesan juga meningkat secara linier.

5

Query Master

Master Tajo menetapkan kueri ke Master Kueri. Query Master bertanggung jawab untuk mengendalikan rencana eksekusi terdistribusi. Ini meluncurkan TaskRunner dan menjadwalkan tugas ke TaskRunner. Peran utama Query Master adalah untuk memantau tugas yang sedang berjalan dan melaporkannya ke Master node.

6

Node Managers

Mengelola sumber daya node pekerja. Ini memutuskan untuk mengalokasikan permintaan ke node.

7

TaskRunner

Bertindak sebagai mesin eksekusi kueri lokal. Ini digunakan untuk menjalankan dan memantau proses kueri. TaskRunner memproses satu tugas dalam satu waktu.

Ini memiliki tiga atribut utama berikut -

  • Rencana logis - Blok eksekusi yang membuat tugas.
  • Fragmen - jalur input, rentang offset, dan skema.
  • Mengambil URI
8

Query Executor

Ini digunakan untuk mengeksekusi kueri.

9

Storage service

Menghubungkan penyimpanan data yang mendasari ke Tajo.

Alur Kerja

Tajo menggunakan Hadoop Distributed File System (HDFS) sebagai lapisan penyimpanan dan memiliki mesin eksekusi kuerinya sendiri, bukan kerangka kerja MapReduce. Cluster Tajo terdiri dari satu node master dan sejumlah pekerja di seluruh node cluster.

Master terutama bertanggung jawab untuk perencanaan permintaan dan koordinator untuk pekerja. Master membagi kueri menjadi tugas-tugas kecil dan menugaskan kepada pekerja. Setiap pekerja memiliki mesin kueri lokal yang menjalankan grafik asiklik terarah dari operator fisik.

Selain itu, Tajo dapat mengontrol aliran data terdistribusi dengan lebih fleksibel daripada MapReduce dan mendukung teknik pengindeksan.

Antarmuka Tajo berbasis web memiliki kemampuan berikut -

  • Pilihan untuk menemukan bagaimana permintaan yang diajukan direncanakan
  • Pilihan untuk menemukan bagaimana kueri didistribusikan ke seluruh node
  • Pilihan untuk memeriksa status cluster dan node