Apache Arrow ma zwiększyć wydajność przetwarzania Big Data

Apache Arrow to najnowszy projekt fundacji Apache, który ma znacznie zwiększyć wydajność aplikacji służących do przetwarzania dużych zbiorów danych Big Data.

Fundacja Apache (ASF - Apache Software Foundation) oficjalnie uruchomiła nowy projekt: Apache Arrow. Celem przedsięwzięcia – w które zaangażowali się m.in. przedstawiciele 13 najważniejszych projektów open source – jest stworzenie rozwiązania, które pozwoli na znaczne zwiększenie wydajności aplikacji służących do analizowania i przetwarzania dużych zbiorów danych.

Arrow wydaje się projektem unikalnym, choćby dlatego, że od dnia zero nadano mu najwyższy status „top level” – zwykle zanim jakiś projekt osiągnie to stadium, spędza miesiące czy nawet lata w inkubatorze Apache Incubator. Arrow uznano za przedsięwzięcie tak ważne i nowatorskie, że de facto pozwolono mu na „przeskoczenie” fazy inkubatora i skierowano od razu do realizacji.

Zobacz również:

  • IDC CIO Summit – potencjał drzemiący w algorytmach

„Podjęliśmy taką decyzję z uwagi to, kto zaangażował się w to przedsięwzięcie” - mówi Jacques Nadeau, CTO startupu Dremio, a także wiceprezes projektu Apache Drill oraz wiceprezes Apache Arrow. „Uznaliśmy, że mając wsparcie tak znaczących graczy z branży, należy to potraktować jako okazję do stworzenia de facto nowego standardu heterogenicznej infrastruktury danych. Spodziewamy się, że w ciągu kilku lat większość danych powstających na całym świecie będzie reprezentowana za pośrednictwem Arrow” – dodaje Jacques Nadeau.

Przyspieszenie x100

Wedle założeń projektu, Arrow ma być wysoko wydajną, międzyplatformową warstwą danych przeznaczoną do analityki in-memory. Zdaniem Jacquesa Nadeau, wdrożenie takiego rozwiązania może sprawić, że wydajność zarówno systemów przetwarzania big data, jak i big data storage może wzrosnąć od 10x do nawet 100x – dzięki zapewnieniu ujednoliconej wewnętrznej reprezentacji danych.

Przedstawiciele ASF wyjaśniają, że Arrow będzie pełnił rolę wydajnego interfejsu, umożliwiającego sprawną wymianę i przetwarzanie danych pochodzących z najróżniejszych źródeł. Nowe rozwiązanie będzie zbiorem algorytmów, formatów, komend itp., których zadaniem będzie usprawnienie procesu wymiany i analizy informacji.

Jacques Nadeau tłumaczy, że obecnie w wielu operacjach 70 do nawet 80% cykli procesora wykorzystywanych jest na serializację i deserializację danych, które są przekazywane pomiędzy różnymi systemami i procesami, korzystającymi z własnych metod reprezentacji danych. Wprowadzenie Arrow – czyli ujednoliconej reprezentacji – sprawi, że dane będzie można sprawnie przesyłać, bez serializacji, deserializacji czy tworzenia kopii w pamięci.

“Stworzenie ogólnobranżowego standardu warstwy danych in-memory pozwoli użytkownikom na łatwe łączenie wielu systemów, aplikacji oraz języków programowania w pojedynczy workload” – wyjaśnia Ted Dunning, wiceprezes Apache Incubator oraz PMC (Project Management Committee) projektu Apache Arrow.

Wsparcie gigantów

To właśnie ta perspektywa jest powodem, dla którego projekt Arrow praktycznie od początku otrzymał tak znaczące wsparcie od czołowych deweloperów oraz przedstawicieli Fundacji Apache – w przedsięwzięcie to zaangażowali się m.in. twórcy Calcite, Cassandra, Drill, Hadoop, HBase, Impala, Kudu, Parquet, Phoenix, Spark, Storm, Pandas oraz Ibis. Jego potencjał doceniają również ważni gracze rynkowi – w Arrow uczestniczą również programiści firm Cloudera, Databricks, Datastax, Dremio, Hortonworks, MapR, Salesforce oraz Twitter.

Jacques Nadeau tłumaczy, że jako wspólna platforma pod silniki SQL, systemy analizy danych, systemy strumieniowania, kolejkowania i przechowywania danych Arrow ma ogromny potencjał, by okazać się niezwykle przydatnym rozwiązaniem dla każdej z powyższych firm czy projektów. “Apache Arrow pozwoli systemom i aplikacjom na przetwarzanie danych z maksymalną wydajnością zapewnianą przez hardware. Nowoczesne procesory zaprojektowane są z myślą o wykorzystanie przetwarzania równoległego na poziomie danych, zwektoryzowanych operacji oraz instrukcji SIMD – Arrow pozwoli na pełne użycie możliwości oferowanych przez te technologie” – tłumaczy Todd Lipcon, twórca Apache Kudu oraz PMC Apache Arrow.

Wszechstronna zgodność

Co ważne, nowy projekt przewiduje obsługę nie tylko danych relacyjnych, ale również kompleksowych oraz schematów dynamicznych. Arrow może np. obsługiwać dane JSON (powszechnie wykorzystywane w rozwiązaniach z zakresu Internetu Rzeczy, nowoczesnych aplikacjach oraz plikach logów), a wkrótce pojawią się również implementacje dla dodatkowych języków programowania, m.in. Java, C++ oraz Python. Nadeau dodaje, że do końca bieżącego roku powinny gotowe być także implementacje dla R oraz JavaScript, a do końca 2017 r. – również dla Drill, Ibis, Impala, Kudu, Parquet oraz Spark. W planach jest również dodanie obsługi Arrow do wielu innych projektów (przedstawiciele Apache mają o tym informować na bieżąco).

Dokładny terminarz prac nad Apache Arrow na razie nie został jeszcze opublikowany, wiadomo jednak, że pierwsza wersja nowego oprogramowania ma być oficjalnie dostępna w ciągu kilku miesięcy. Oprogramowanie będzie dystrybuowane na zasadach licencji Apache License v2.0. Więcej informacji o tym projekcie można znaleźć na jego oficjalnej stronie Apache Arrow.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200