Apache Presto - Architektura

Architektura Presto jest prawie podobna do klasycznej architektury DBMS MPP (masowo równoległe przetwarzanie). Poniższy diagram ilustruje architekturę Presto.

Powyższy schemat składa się z różnych elementów. Poniższa tabela szczegółowo opisuje każdy element.

S.Nr Opis podzespołu
1.

Client

Klient (Presto CLI) przesyła instrukcje SQL do koordynatora w celu uzyskania wyniku.

2.

Coordinator

Koordynator to główny demon. Koordynator najpierw analizuje zapytania SQL, a następnie analizuje i planuje wykonanie zapytania. Harmonogram wykonuje potok, przypisuje pracę do najbliższego węzła i monitoruje postęp.

3.

Connector

Wtyczki pamięci masowej nazywane są łącznikami. Hive, HBase, MySQL, Cassandra i wiele innych działają jako łączniki; w przeciwnym razie możesz również zaimplementować niestandardowy. Łącznik udostępnia metadane i dane do zapytań. Koordynator używa łącznika, aby uzyskać metadane do tworzenia planu kwerend.

4.

Worker

Koordynator przydziela zadania do węzłów roboczych. Pracownicy pobierają rzeczywiste dane z łącznika. Wreszcie węzeł roboczy dostarcza wynik do klienta.

Presto - przepływ pracy

Presto to system rozproszony, który działa w klastrze węzłów. Rozproszony silnik zapytań Presto jest zoptymalizowany pod kątem interaktywnej analizy i obsługuje standard ANSI SQL, w tym złożone zapytania, agregacje, sprzężenia i funkcje okien. Architektura Presto jest prosta i rozszerzalna. Klient Presto (CLI) przesyła instrukcje SQL do głównego koordynatora demona.

Harmonogram łączy się za pośrednictwem potoku wykonywania. Planista przydziela pracę do węzłów, które są najbliżej danych i monitoruje postęp. Koordynator przydziela zadanie do wielu węzłów roboczych, a na koniec węzeł roboczy dostarcza wynik z powrotem do klienta. Klient pobiera dane z procesu wyjściowego. Elastyczność to kluczowy projekt. Wtykowe łączniki, takie jak Hive, HBase, MySQL itp., Zapewniają metadane i dane do zapytań. Presto został zaprojektowany z „prostą abstrakcją pamięci masowej”, która ułatwia udostępnianie możliwości zapytań SQL w różnych rodzajach źródeł danych.

Model wykonania

Presto obsługuje niestandardowy mechanizm zapytań i wykonywania z operatorami zaprojektowanymi do obsługi semantyki SQL. Oprócz ulepszonego planowania, całe przetwarzanie odbywa się w pamięci i jest przesyłane potokowo przez sieć między różnymi etapami. Pozwala to uniknąć niepotrzebnych opóźnień we / wy.