Hadoop, Spark и Kafka уже оказали огромное влияние на мир Больших Данных, и вот теперь на очереди новый проект Apache, обещающий в корне изменить сложившуюся ситуацию.

Для Apache Software Foundation проект Arrow, который призван вывести на новый уровень производительность неоднородных аналитических систем, обрабатывающих данные в оперативной памяти, приобрел первоочередное значение.

Программное обеспечение Apache Arrow, базирующееся на коде Apache Drill, позволит увеличить производительность аналитических систем более чем в сто раз. Такого повышенного быстродействия планируется достичь посредством устранения издержек, возникающих при организации взаимодействия между различными системами.

В реализации новой инициативы примут участие разработчики, которые внесли свою лепту и в другие проекты Больших Данных Apache: Calcite, Cassandra, Drill, Hadoop, HBase, Impala, Kudu, Parquet, Phoenix, Spark и Storm.

«Сообщество сторонников программного обеспечения с открытым кодом решило объединить свои усилия в работе над Apache Arrow, – сообщил вице-президент Apache Software Foundation Жак Надо, курирующий новый проект и проект Apache Drill. – Мы полагаем, что в ближайшие несколько лет большая часть данных в мире будет обрабатываться с помощью Arrow».

При решении многих задач от 70 до 80% процессорного времени тратится на сериализацию и десериализацию данных. Программное обеспечение Arrow изменяет представление данных при их обработке в системах хранения, благодаря чему в ходе информационного обмена между различными системами и процессами центральный процессор не перегружен операциями сериализации, десериализации и создания копий данных в памяти.

«Колоночное представление данных в памяти позволяет использовать при решении задач множество систем, приложений и языков программирования и избежать характерных издержек», – пояснил вице-президент Apache Incubator и член комитета управления проектом Apache Arrow Тед Даннинг.

Вот почему у Arrow сразу же появилось очень много поклонников, к числу которых относятся не только наиболее известные партнеры Apache, включая разработчиков проектов Calcite, Cassandra, Drill, Hadoop, HBase, Impala, Kudu, Parquet, Phoenix, Spark, Storm, Pandas и Ibis, но и такие компании, как Cloudera, Databricks, Datastax, Dremio, Hortonworks, MapR, Salesforce и Twitter. В качестве общей основы для механизмов исполнения команд SQL, систем анализа данных, хранения и обработки потоков и очередей программное обеспечение Arrow позволит добиться более высокой производительности и интероперабельности.

«Колоночное представление данных в памяти помогает системам и приложениям наиболее полно задействовать ресурсы оборудования в процессе обработки, – пояснил автор идеи Apache Kudu и член комитета управления проектом Apache Arrow Тод Липкон. – Современные процессоры ориентированы на параллельную обработку данных с помощью векторных операций и инструкций SIMD. Arrow упрощает организацию такой обработки».

Помимо традиционной реляционной структуры, Arrow поддерживает сложную организацию данных и динамические схемы. К примеру, можно управлять данными JSON, получившими широкое распространение в Интернете вещей, современных приложениях и файлах системных журналов. Уже доступна поддержка различных языков программирования, включая Java, C++ и Python. По словам Надо, к концу года планируется реализовать R и JavaScript. Примерно в те же сроки Arrow появится в арсенале Drill, Ibis, Impala, Kudu, Parquet, Spark и ряда других проектов: поддержка множества различных языков программирования способствует повышению интероперабельности.

«В обыденной жизни чаще всего используются сценарии, предусматривающие сложное сочетание структурированных и неструктурированных данных, – указал член комитетов управления проектами Apache Drill и Apache Arrow Парт Чандра. – Колоночное представление и обработка данных в памяти, уже доказавшие свою эффективность в Apache Drill, позволят Arrow объединить высокую производительность колоночной обработки с гибкостью JSON».

Программное обеспечение Apache Arrow будет распространяться по лицензии Apache License v2.0 и контролироваться наиболее активными участниками проекта. По словам Надо, первая официальная версия Arrow появится в ближайшие несколько месяцев.