Apache DataSketches достиг статуса проекта верхнего уровня. Программное обеспечение для анализа данных изначально было разработано в Yahoo и последние два года являлось инкубатором Apache.
DataSketches — это высокопроизводительная библиотека стохастических потоковых алгоритмов с открытым исходным кодом, обычно называемая «эскизами» в науках о данных. Эскизы — это небольшие программы с отслеживанием состояния, которые обрабатывают массивные данные в виде потока и могут дать приблизительные ответы с математическими гарантиями на сложные в вычислительном отношении запросы на порядки быстрее, чем традиционные точные методы.
Разработчики DataSketches говорят, что такие эскизы важны для любой системы, которая должна извлекать полезную информацию из больших данных, и что эскизы должны быть тесно интегрированы в возможности анализа таких систем. Эскизы реализуют алгоритмы, которые могут извлекать информацию из потока данных за один проход, также как и обработка «в одно касание».
Технология DataSketches помогла Yahoo (Verizon Media) успешно сократить время обработки данных с дней или часов до минут или секунд на ряде своих внутренних платформ. Проект DataSketches посвящен предоставлению широкого выбора алгоритмов создания эскизов производственного качества.
Полезность набросков сводится к тому, что предприятиям не всегда нужны точные ответы. Если приблизительный ответ приемлем, то алгоритмы набросков позволяют вам отвечать на эти запросы на порядки быстрее при гораздо меньшем использовании ресурсов.
Вместо того, чтобы требовать от системы анализа данных наличия огромных объемов данных, в эскизах используются небольшие структуры данных, обычно размером в килобайты. Эскизы также являются алгоритмами потоковой передачи, поскольку им нужно увидеть каждый входящий элемент только один раз.
Библиотека DataSketches была специально разработана для производственных систем, которые должны обрабатывать большие объемы данных. Он включает адаптеры для Apache Hive, Apache Pig и PostgreSQL (C ++), и эти адаптеры предназначены для предоставления примеров адаптеров для других систем. Эскизы в этой библиотеке также предназначены для совместимых двоичных представлений на разных языках (Java, C ++, Python) и платформах.