Przetwarzanie dużych zbiorów danych jest jednym z krytycznych aspektów ery cyfrowej. Firmy wykorzystują więcej sztucznej inteligencji, uczenia maszynowego i analizy danych, które wytwarzają i zbierają więcej danych. W związku z tym skutkuje to ogromne ilości danych które należy skutecznie przeszukiwać i analizować.
Tutaj może pomóc przetwarzanie w chmurze i Presto.
Co to jest Presto?
Zgodnie z definicją Amazon AWS: Presto to rozproszony silnik zapytań SQL, stworzony do wykonywania szybkich zapytań analitycznych na zestawach danych o dowolnej wielkości. Został przemianowany pod koniec 2020 roku na Trino, aby oddzielić projekt od Prestodb.
Presto ma tę zaletę, że jest open-source, co oznacza, że jest regularnie aktualizowane, a programiści często się do niego przyczyniają.
Platforma Presto współpracuje z nierelacyjne źródła danych lubić:
- Amazonka S3
- Hadoop
- HDFS
- MongoDB
- HBase
i relacyjne bazy danych lubić:
- Moja przestrzeń
- PostgresSQL i
- Serwer MS SQL
Z Presto, możesz wysyłać zapytania do danych, gdziekolwiek są przechowywane. Oznacza to, że nie musisz przenosić danych do relacyjnej bazy danych lub hurtowni danych. Presto zostało stworzone dla SQL i obsługuje standardową semantykę SQL. Obejmuje to zapytania podrzędne, zapytania złożone, sprzężenia zewnętrzne, odrębne liczby i przybliżone percentyle.
Wykonywanie zapytań jest również szybsze, ponieważ działa równolegle do architektury opartej na pamięci. Dlatego nie musisz się już martwić, jak długo może zająć zapytanie do ogromnej bazy danych. Wyniki wracają w ciągu kilku sekund.
Uczyć się jak wdrożyć Presto i jego architekturę na ich dokumentacji.
Przeczytaj także: Jak zaktualizować sterowniki urządzeń w systemie Windows 10? {Prosty przewodnik}
Kluczowe idee
Kluczowe koncepcje SQL są powszechnie znane. Aby zrozumieć, jak działa Presto, musimy najpierw zrozumieć jego podstawowe koncepcje.
Typy serwerów
Presto używa dwóch typów serwerów: koordynator serwer i pracownik serwer. Węzły robocze przetwarzają zapytania, pobierając dane z łączników. Koordynator pobiera wyniki i przesyła je do klienta. Serwery koordynatorów analizują również instrukcje i zarządzają węzłami.
Działa podobnie do systemów zarządzania bazami danych Massive Parallel Processing.
Źródło obrazu: tutorialspoint
Presto wykorzystuje konektory do łączenia systemu rozproszonego ze źródłem, na przykład Amazon S3. Liczne konektory Presto, do źródeł relacyjnych i nierelacyjnych, sprawiają, że system jest rozszerzalny na prawie każde źródło danych.
Przeczytaj także: Jak zaktualizować sterowniki w systemie Windows 10,8,7 – Zaktualizuj sterowniki urządzeń
Jak Presto przetwarza zapytania?
Gdy presto otrzymuje zapytanie, wykonuje je, dzieląc je na wiele etapów. Zazwyczaj system tworzy etap główny i etapy pokrewne. Etapy są następnie rozdzielane na zadania w węzłach roboczych.
Zalety korzystania z Presto
Presto staje się bardzo popularne wśród dużych przedsiębiorstw, takich jak Netflix, Facebook, Atlassian i Airbnb. Na przykład Facebook wykorzystuje Presto do przetwarzania jednego petabajta danych dziennie, wykonując ponad 30 tys. zapytań.
Presto zawiera dwa oddzielne projekty open-source: PrestoSQL (obecnie Trino) i PrestoDB. Jest bardzo popularny w wielu różnych przypadkach użycia, w różnych typach jezior danych i hurtowni danych. Przyjrzyjmy się niektórym zaletom, które sprawiają, że Presto jest tak popularne.
1. Łatwa integracja
Jedną z kluczowych zalet Presto jest to, że integruje się z istniejącym systemem danych bez konieczności modyfikacji. Dlatego dodając Presto, dodajesz możliwości szybkiej analizy bez konieczności ulepszania istniejącego systemu.
2. Szybsza wydajność
Jednym z powodów, dla których opracowano Presto, był fakt, że istniejący Apache Hive nie radził sobie dobrze z zapytaniami interaktywnymi. Presto jest przeznaczony do obsługi interaktywnych zapytań BI. Poza tym jest zgodny z modelem push, przetwarzając zapytanie SQL przy użyciu wielu etapów jednocześnie, co oznacza, że wszystkie etapy są przesyłane potokowo bez oczekiwania między etapami.
Presto oferuje również transfer danych z pamięci do pamięci, bez konieczności zapisywania danych na dysku, co zwiększa wydajność.
3. Zaprojektowany dla chmury
Presto obsługuje pamięć masową i obliczenia oddzielnie, co czyni go bardzo odpowiednim dla środowisk chmurowych. Firmy korzystające z PrestoSQL mogą łatwo skalować w górę lub w dół w zależności od obciążenia bez powodowania utraty danych. Może się tak zdarzyć, ponieważ klaster Presto nie przechowuje żadnych danych.
4. Ujednolicony interfejs SQL
SQL to najpopularniejszy język do analizy danych. Analitycy, analitycy i inżynierowie zajmujący się danymi używają języka SQL do przetwarzania, analizowania i testowania danych, integrując je z narzędziami analizy biznesowej.
Presto ma możliwość wyszukiwania danych nie tylko ze źródeł SQL, ale także z baz danych NoSQL, takich jak Elasticsearch i Cassandra. Obsługuje połączenia ANSI-SQL i Postgres. Daje to Presto wszechstronność, której nie mają inne systemy rozproszone.
Interfejs jest idealny dla danych średniej wielkości, ponieważ ma to samo Funkcje okien jakie ma PostgreSQL.
Przeczytaj także: Jak zaktualizować sterowniki graficzne w systemie Windows 10 {Prosty przewodnik}
Do czego możesz używać Presto?
Presto jest używane w różnych branżach w wielu różnych przypadkach użycia. Nadaje się szczególnie do zapytań ad-hoc i interaktywnych. Przyjrzyjmy się kilku typowym przypadkom użycia:
Analiza jeziora danych
Możesz użyć PrestoSQL do wykonywania zapytań o dane w Data Lake bez konieczności przekształcania danych. Presto pozwala na wyszukiwanie danych tam, gdzie się znajdują. W związku z tym można go użyć do usprawnienia analizy w usłudze Data Lake, wysyłając zapytania do danych ustrukturyzowanych i nieustrukturyzowanych.
Zapytania ad hoc
Presto umożliwia uruchamianie zapytań w dowolnym momencie, niezależnie od tego, gdzie znajdują się Twoje dane. Co więcej, dzięki łącznikom Presto Twoje zespoły mogą uzyskiwać dostęp do zestawów danych w wielu różnych źródłach danych, a ponieważ zapytania są wykonywane w ciągu kilku sekund, a nie godzin, Twój system działa szybciej.
Partia ETL
Zamiast używać starszych systemów przetwarzania wsadowego, możesz użyć Presto do uruchamiania zapytań, które są wydajne w zakresie zasobów. Możesz agregować dane z wielu źródeł danych i przeprowadzać zapytania o wysokiej przepustowości.
Podsumowując, Presto ma kilka zalet dla firm, które muszą przetwarzać duże ilości danych, przeprowadzać doraźne, interaktywne zapytania i uruchamiać analizy z różnych źródeł danych.