Вышел новый выпуск Apache Kudu, в котором добавлена информация о местоположении и поддержка скриптов Docker. Kudu — это механизм хранения по столбцам, который заполняет пробел между распределенной файловой системой Hadoop (HDFS) и базой данных HBase NoSQL. Kudu предоставляет клиентские API C ++, Java и Python.
Apache Kudu изначально был проектом Cloudera, который теперь является частью экосистемы Apache Hadoop. Apache говорит, что его можно использовать для обеспечения быстрой аналитики быстрых данных. Преимущество Kudu заключается в том, что он сочетает в себе поддержку быстрой вставки и обновления с эффективным сканированием по столбцам, что означает, что вы можете использовать его для нескольких аналитических рабочих нагрузок в реальном времени на одном уровне хранения. Грант Хенке из Cloudera говорит, что по этой причине Kudu хорошо вписывается в конвейер данных как место для хранения данных в реальном времени, которые необходимо немедленно запрашивать. Кроме того, Kudu поддерживает обновление и удаление строк в режиме реального времени, что позволяет поддерживать данные, поступающие с опозданием, и исправлять данные.
Основное улучшение Kudu 1.9 — поддержка определения местоположения. Обычные методы повторной репликации Kudu предназначены для обеспечения доступности кластера в случае отказа одного узла, но кластеры могут быть уязвимы для коррелированных отказов нескольких узлов. Например, все физические хосты в одной стойке в центре обработки данных могут стать недоступными одновременно при выходе из строя коммутатора верхней части стойки. Новая функция определения местоположения или стойки предназначена для того, чтобы избежать этого. При настройке Kudu будет делать все возможное, чтобы не размещать большинство реплик для данного планшета в одном и том же месте.
Следующее улучшение — добавление скриптов Docker для сборки и запуска Kudu в различных операционных системах.
Также было улучшено тестирование с использованием Java; разработчики, интегрирующиеся с Kudu, теперь могут писать тесты Java, запускающие мини-кластер Kudu, без необходимости сначала локально создавать и устанавливать Kudu. Это стало возможным благодаря тому, что команда Kudu предоставила двоичные файлы для конкретной платформы, доступные Gradle или Maven для загрузки и установки во время тестирования.