Awesome Big Data
Кураторский список замечательных фреймворков для работы с большими данными, ресурсов и других интересных вещей.
Вдохновлён awesome-php, awesome-python, awesome-ruby, hadoopecosystemtable и big-data. Ваши вклады всегда приветствуются!
Содержание:
- RDBMS.
- Фреймворки.
- Распределённое программирование.
- Распределённая файловая система.
- Распределённый индекс.
- Модель данных документа.
- Модель данных ключевой карты.
- Модель данных «ключ — значение».
- Модель графических данных.
- Колоночные базы данных.
- Базы данных NewSQL.
- Базы данных временных рядов.
- Обработка, подобная SQL.
- Ввод данных.
- Сервисное программирование.
- Планирование.
- Машинное обучение.
- Бенчмаркинг.
- Безопасность.
- Развёртывание системы.
- Приложения.
- Поисковая система и фреймворк.
- Форки MySQL и их развитие.
- Форки PostgreSQL и их развитие.
- Форки Memcached и их развитие.
- Встраиваемые базы данных.
- Бизнес-аналитика.
- Визуализация данных.
- Интернет вещей и данные датчиков.
- Интересные чтения.
- Интересные статьи:
- 2015–2016;
- 2013–2014;
- 2011–2012;
- 2001–2010.
- Видео.
- Книги:
- Потоковая передача.
- Распределённые системы.
- Подход на основе графов.
- Визуализация данных.
- Другие замечательные списки.
RDBMS
- MySQL — самая популярная в мире база данных с открытым исходным кодом.
- PostgreSQL — самая продвинутая в мире база данных с открытым исходным кодом.
- Oracle Database — объектно-реляционная система управления базами данных.
- Teradata — высокопроизводительная платформа хранилища данных MPP.
Фреймворки
-
Bistro — универсальный механизм обработки данных как для пакетной, так и для потоковой аналитики. Он основан на новой модели данных, которая представляет данные через функции и обрабатывает данные через операции со столбцами, в отличие от наличия только операций над множествами в традиционных подходах, таких как MapReduce или SQL.
-
IBM Streams — платформа для распределённой обработки и аналитики в реальном времени. Интегрируется со многими популярными технологиями экосистемы больших данных (Kafka, HDFS, Spark и т. д.).
-
Apache Hadoop — фреймворк для распределённой обработки. Интегрирует MapReduce (параллельную обработку), YARN (планирование заданий) и HDFS (распределённую файловую систему).
-
Tigon — фреймворк с высокой пропускной способностью для обработки потоков в реальном времени.
-
Pachyderm — платформа хранения данных, построенная на Docker и Kubernetes, для обеспечения воспроизводимой обработки и анализа данных.
-
Polyaxon — платформа для воспроизводимых и масштабируемых... Распределённое хранилище
-
Megastore — масштабируемое, высокодоступное хранилище.
-
GridGain — GGFS, совместимая с Hadoop файловая система в оперативной памяти.
-
Lustre file system — высокопроизводительная распределённая файловая система.
-
Microsoft Azure Data Lake Store — совместимое с HDFS хранилище в облаке Azure.
-
Quantcast File System QFS — открытая распределённая файловая система.
-
Red Hat GlusterFS — масштабируемая сетевая файловая система хранения данных.
-
Seaweed-FS — простая и масштабируемая распределённая файловая система.
-
Alluxio — надёжное файловое хранилище со скоростью доступа к памяти в кластерных средах.
-
Tahoe-LAFS — децентрализованная облачная система хранения.
-
Baidu File System — распределённая файловая система.
Распределённый индекс
- Pilosa — открытый распределённый растровый индекс, который значительно ускоряет запросы к нескольким большим наборам данных.
Модель данных документа
- Actian Versant — коммерческие объектно-ориентированные системы управления базами данных.
- Crate Data — открытое масштабируемое хранилище данных, не требующее администрирования.
- Facebook Apollo — NoSQL-база данных Facebook, похожая на Paxos.
- jumboDB — ориентированное на документы хранилище данных над Hadoop.
- LinkedIn Espresso — горизонтально масштабируемый документ-ориентированный NoSQL магазин данных.
- MarkLogic — схема-независимая корпоративная технология баз данных NoSQL.
- Microsoft Azure DocumentDB — облачный сервис NoSQL базы данных с поддержкой протокола MongoDB.
- MongoDB — документоориентированная система баз данных.
- RavenDB — транзакционная открытая база данных документов.
- RethinkDB — документно-ориентированная база данных, поддерживающая запросы типа соединения таблиц и группировки.
Ключевая модель данных карты
Существует некоторая путаница в терминах в отрасли, и две разные вещи называются «колоночными базами данных». Некоторые из них перечислены здесь и представляют собой распределённые постоянные базы данных, построенные вокруг модели данных «ключ-карта»: все данные имеют (возможно, составной) ключ, с которым связана карта пар ключ-значение. В некоторых системах с ключом можно связать несколько таких карт значений, которые называются «семействами столбцов» (ключи карт значений называются «столбцами»).
Ещё одна группа технологий, которую также можно назвать «колоночные базы данных», отличается тем, как она хранит данные, на диске или в памяти — вместо того чтобы хранить данные традиционным способом, когда все значения столбца для данного ключа хранятся рядом друг с другом, «строка за строкой», эти системы хранят все значения столбцов рядом друг с другом. Поэтому требуется больше работы, чтобы получить все столбцы для данного ключа, но меньше работы требуется, чтобы получить все значения для данного столбца.
Первая группа здесь называется «модель данных ключ-карта». Граница между этими хранилищами и хранилищами ключевых моделей данных довольно размыта.
Вторая группа, которая больше связана с форматом хранения, чем с моделью данных, перечислена в разделе Колоночные базы данных.
Подробнее об этом различии можно прочитать в блоге профессора Дэниела Абади: Различение двух основных типов колоночных хранилищ.
- Apache Accumulo — распределённое хранилище ключей и значений, созданное на основе Hadoop.
- Apache Cassandra — ориентированная на столбцы распределённая база данных, вдохновлённая BigTable.
- Apache HBase — ориентированная на столбцы распределённая база данных. Вдохновлённые BigTable:
- Baidu Tera — база данных масштаба интернета, вдохновлённая BigTable.
- Facebook HydraBase — эволюция HBase от Facebook.
- Google BigTable — колоночно-ориентированное распределённое хранилище данных.
- Google Cloud Datastore — полностью управляемая бессхемная база данных для хранения нереляционных данных поверх BigTable.
- Hypertable — колоночно-ориентированное распределённое хранилище данных, вдохновлённое BigTable.
- InfiniDB — доступ через интерфейс MySQL и использование массовой параллельной обработки для распараллеливания запросов.
- Tephra — транзакции для HBase.
- Twitter Manhattan — база данных в реальном времени для многопользовательских систем масштаба Twitter.
- ScyllaDB — колоночно-ориентированное распределённое хранилище данных, написанное на C++, полностью совместимое с Apache Cassandra.
Ключевые модели данных
-
Aerospike — NoSQL, оптимизированный для флэш-памяти, работает в памяти. Открытый исходный код и «серверный код на „C“ (не Java или Erlang), точно настроенный, чтобы избежать переключения контекста и копирования памяти».
-
Amazon DynamoDB — распределённое хранилище ключей и значений, реализация Dynamo paper.
-
Badger — быстрый, простой, эффективный и постоянный ключ-значение магазин, написанный на Go.
-
Bolt — встроенная база данных ключ-значение для Go.
-
BTDB — Key Value Database в .Net с Object DB Layer, RPC, динамическим IL и многим другим.
-
BuntDB — быстрая встраиваемая база данных ключ/значение в оперативной памяти для Go с пользовательским индексированием и геопространственной поддержкой.
-
Edis — протокол-совместимая замена сервера для Redis.
-
ElephantDB — распределённая база данных, специализирующаяся на экспорте данных из Hadoop.
-
EventStore — распределённая база данных временных рядов.
-
GhostDB — распределённый, работающий в памяти, универсальный ключ-значение хранилище данных, обеспечивающий микросекундную производительность в любом масштабе.
-
Graviton — простое, быстрое, версионное, аутентифицированное, встраиваемое хранилище данных ключ-значение на чистом Go(lang).
-
GridDB — подходит для данных датчиков, хранящихся во временных рядах.
-
HyperDex — масштабируемое следующее поколение хранилищ ключ-значение и документов с широким спектром функций, включая согласованность, отказоустойчивость и высокую производительность.
-
Ignite — хранилище данных ключ-значение в оперативной памяти, обеспечивающее полный SQL-совместимый доступ к данным, который может быть дополнительно подкреплён дисковым хранилищем.
-
Krati — простой постоянный магазин данных с очень низкой задержкой и высокой пропускной способностью.
-
Voldemort — распределённая система хранения ключ/значение.
-
Oracle NoSQL Database — распределённая база данных ключ-значение от Oracle Corporation.
-
Redis — хранилище данных в памяти ключ-значение.
-
Riak — децентрализованное хранилище данных.
-
Storehaus — библиотека для работы с асинхронными хранилищами ключ-значение, созданная Twitter.
-
SummitDB — хранилище ключ/значение в оперативной памяти с сохранением на диск и использованием алгоритма консенсуса Raft. Tarantool — эффективная NoSQL база данных и сервер приложений на Lua.
-
TiKV — распределённая база данных типа «ключ-значение», работающая на Rust и вдохновлённая Google Spanner и HBase.
-
Tile38 — хранилище геоданных, пространственный индекс и геозона в реальном времени, поддерживающее различные типы объектов, включая точки широты/долготы, ограничивающие рамки, XYZ тайлы, Geohashes и GeoJSON.
-
TreodeDB — реплицированное и сегментированное хранилище «ключ-значение» с атомарной многострочной записью.
Графовая модель данных
-
AgensGraph — графовая база данных нового поколения для современной сложной среды данных.
-
Apache Giraph — реализация Pregel на основе Hadoop.
-
Apache Spark Bagel — реализация Pregel, часть Spark.
-
ArangoDB — мультимодельная распределённая база данных.
-
DGraph — масштабируемая, распределённая, низкозатратная, высокопроизводительная графовая база данных, предназначенная для обеспечения масштаба и пропускной способности уровня производства Google с достаточно низкой задержкой для обслуживания запросов пользователей в реальном времени над терабайтами структурированных данных.
-
EliasDB — облегчённая графовая база данных, не требующая сторонних библиотек.
-
Facebook TAO — TAO — это распределённое хранилище данных, широко используемое в Facebook для хранения и обслуживания социального графа.
-
GCHQ Gaffer — Gaffer от GCHQ — это фреймворк, который упрощает хранение крупномасштабных графов, в которых узлы и рёбра имеют статистику.
-
Google Cayley — открытая графовая база данных.
-
Google Pregel — фреймворк для обработки графов.
-
GraphLab PowerGraph — основной C++ API GraphLab и набор высокопроизводительных инструментов машинного обучения и интеллектуального анализа данных, построенных поверх API GraphLab.
-
GraphX — отказоустойчивая распределённая графовая система на Spark.
-
Gremlin — язык обхода графов.
-
Infovore — RDF-ориентированный фреймворк Map/Reduce.
-
Intel GraphBuilder — инструменты для построения крупномасштабных графов поверх Hadoop.
-
JanusGraph — открытая распределённая графовая база данных с множеством вариантов бэкендов хранения (Bigtable, HBase, Cassandra и т. д.) и бэкендов индексации (Elasticsearch, Solr, Lucene).
-
MapGraph — массово-параллельная обработка графов на GPU.
-
Microsoft Graph Engine — распределённый механизм обработки данных в памяти, основанный на строго типизированном хранилище ключей и значений в памяти и общем механизме распределённых вычислений.
-
Neo4j — графовая база данных полностью на Java.
-
OrientDB — документно-графовая база данных.
-
Phoebus — фреймворк для крупномасштабной обработки графов.
-
Titan — распределённая графовая база данных, созданная на Cassandra.
-
Twitter FlockDB — распределённая графовая база данных.
-
NodeXL — бесплатный открытый шаблон для Microsoft® Excel® 2007, 2010, 2013 и 2016, который позволяет легко исследовать сетевые графики.
Колоночные базы данных
Примечание: пожалуйста, прочтите примечание в разделе «Модель данных ключ-карта».
-
Колоночное хранилище — объяснение того, что такое колоночное хранилище и когда оно может вам понадобиться.
-
Actian Vector — Колоночные аналитические базы данных.
- ClickHouse — открытая колоночная СУБД, позволяющая генерировать аналитические отчёты в реальном времени.
- EventQL — распределённая колоночная база данных, созданная для сбора и анализа больших объёмов событий.
- MonetDB — колоночная база данных.
- Parquet — формат хранения данных с колончатым форматом для Hadoop.
- Pivotal Greenplum — специализированное хранилище аналитических данных, предлагающее как колоночный механизм, так и традиционный построчный.
- Vertica — предназначена для управления большими и быстрорастущими объёмами данных и обеспечивает очень высокую производительность запросов при использовании для хранилищ данных.
- SQream DB — база данных для больших данных на GPU, предназначенная для аналитики и хранения данных, совместимая с ANSI-92 SQL, подходит для наборов данных от 10 ТБ до 1 ПБ.
- Google BigQuery — облачное предложение Google, основанное на их новаторской работе над Dremel.
- Amazon Redshift — облачное предложение Amazon, также основанное на колоночном бэкэнде хранилища данных.
- IndexR — открытый формат колоночного хранения данных для быстрой и реальной аналитики больших данных.
- LocustDB — экспериментальная аналитическая база данных, стремящаяся установить новый стандарт производительности запросов на обычном оборудовании.
Базы данных NewSQL
- Actian Ingres — коммерчески поддерживаемая, открытая СУБД SQL реляционной системы управления базами данных.
- ActorDB — распределённая СУБД SQL с масштабируемостью хранилища KV, сохраняя при этом возможности запросов реляционной базы данных.
- Amazon RedShift — сервис хранилища данных, основанный на PostgreSQL.
- BayesDB — статистическая СУБД SQL.
- Bedrock — простой, модульный, сетевой и распределённый уровень транзакций, построенный поверх SQLite.
- CitusDB — масштабирует PostgreSQL через сегментирование и репликацию.
- Cockroach — масштабируемый, геореплицированный, транзакционный Datastore.
- Comdb2 — кластеризованная RDBMS, построенная на оптимистичных методах контроля параллелизма.
- Datomic — распределённая база данных, разработанная для обеспечения масштабируемых, гибких и интеллектуальных приложений.
- FoundationDB — распределённая база данных, вдохновлённая F1.
- Google F1 — распределённая SQL-база данных, построенная на Spanner.
- Google Spanner — глобально распределённая полуреляционная база данных.
- H-Store — экспериментальная основная память, параллельная система управления базами данных, оптимизированная для приложений оперативной обработки транзакций (OLTP).
- Haeinsa — линейно масштабируемая многорядная, многотабличная библиотека транзакций для HBase на основе Percolator.
- HandlerSocket — плагин NoSQL для MySQL/MariaDB.
- InfiniSQL — бесконечно масштабируемая RDBMS.
- KarelDB — реляционная база данных, поддерживаемая Apache Kafka.
- Map-D — GPU база данных в памяти, платформа для анализа и визуализации больших данных.
- MemSQL — база данных SQL в памяти с оптимизированным столбцовым хранением на флэш-памяти.
- NuoDB — SQL/ACID совместимое распределённое хранилище данных.
- Oracle TimesTen in-Memory Database — система управления реляционными базами данных в памяти с сохранением и высокой доступностью. Функциональность
- Thanos — набор компонентов для создания высокодоступной системы метрик с неограниченной ёмкостью хранения данных, использующей несколько существующих развёртываний Prometheus.
- VictoriaMetrics — быстрый, масштабируемый и ресурсоэффективный open-source TSDB, совместимый с Prometheus. Включает одноузловую и кластерную версии.
SQL-подобная обработка
- Actian SQL for Hadoop — высокопроизводительный интерактивный доступ к данным Hadoop через SQL.
- Apache Drill — фреймворк для интерактивного анализа, вдохновлённый Dremel.
- Apache HCatalog — слой управления таблицами и хранилищем для Hadoop.
- Apache Hive — система хранилища данных SQL-типа для Hadoop.
- Apache Calcite — фреймворк, позволяющий эффективно переводить запросы, включающие гетерогенные и федеративные данные.
- Apache Phoenix — оболочка SQL для HBase.
- Aster Database — аналитическая обработка SQL-типа для MapReduce.
- Cloudera Impala — фреймворк для интерактивного анализа, вдохновлённый Dremel.
- Concurrent Lingual — язык запросов SQL-типа для Cascading.
- Datasalt Splout SQL — полноценный механизм запросов SQL для больших наборов данных.
- Dremio — открытая платформа Data-as-a-Service на основе Apache Arrow.
- Facebook PrestoDB — распределённый движок запросов SQL.
- Google BigQuery — фреймворк для интерактивной аналитики, реализация Dremel.
- Materialize — потоковая база данных для приложений реального времени, использующая SQL для запросов и поддерживающая большую часть PostgreSQL.
- Invantive SQL — движок SQL для онлайн- и локального использования с интегрированной локальной репликацией данных и более чем 70 коннекторами.
- PipelineDB — открытая реляционная база данных, которая непрерывно выполняет SQL-запросы над потоками, инкрементально сохраняя результаты в таблицах.
- Pivotal HDB — SQL-подобная система хранилища данных для Hadoop.
- RainstorDB — база данных для хранения структурированных и полуструктурированных данных петабайтного масштаба.
- Spark Catalyst — это фреймворк оптимизации запросов для Spark и Shark.
- SparkSQL — манипулирование структурированными данными с использованием Spark.
- Splice Machine — полнофункциональная RDBMS SQL-on-Hadoop с транзакциями ACID.
- Stinger — интерактивный запрос для Hive.
- Tajo — распределённая система хранилища данных на Hadoop.
- Trafodion — корпоративное решение SQL-on-HBase для больших данных, ориентированное на транзакционные или операционные нагрузки.
Ввод данных
- redpanda — замена Kafka® для критически важных систем; в 10 раз быстрее. Написан на C++.
- Amazon Kinesis — обработка потоковых данных в реальном времени в масштабе.
- Amazon Web Services Glue — бессерверный полностью управляемый сервис извлечения, преобразования и загрузки (ETL).
- Census — продукт обратного ETL, который позволяет синхронизировать данные из хранилища данных с SaaS-приложениями. Требуется только SQL. Реальные, пакетные или реактивные веб-сервисы.
- Linkedin Norbert (https://engineering.linkedin.com/data) — менеджер кластера.
- Mara (https://github.com/mara/data-integration) — облегчённый фреймворк ETL с преднастроенными параметрами, промежуточный вариант между обычными скриптами и Apache Airflow.
- OpenMPI (https://www.open-mpi.org/) — фреймворк для передачи сообщений.
- Serf (https://www.serf.io/) — децентрализованное решение для обнаружения сервисов и оркестровки.
- Spotify Luigi (https://github.com/spotify/luigi) — пакет Python для создания сложных конвейеров пакетных заданий. Он обрабатывает разрешение зависимостей, управление рабочими процессами, визуализацию, обработку сбоев, интеграцию командной строки и многое другое.
- Spring XD (https://github.com/spring-projects/spring-xd) — распределённая и расширяемая система для приёма данных, аналитики в реальном времени, пакетной обработки и экспорта данных.
- Twitter Elephant Bird (https://github.com/twitter/elephant-bird) — библиотеки для работы со сжатыми данными LZOP.
- Twitter Finagle (https://twitter.github.io/finagle/) — асинхронный сетевой стек для JVM.
Планирование.
Машинное обучение.
- Azure ML Studio (https://studio.azureml.net/) — облачная платформа машинного обучения AzureML, R, Python.
- brain (https://github.com/harthur/brain) — нейронные сети на JavaScript.
- Oryx (https://github.com/OryxProject/oryx) — архитектура Lambda на Apache Spark, Apache Kafka для крупномасштабного машинного обучения в реальном времени.
- Concurrent Pattern (http://www.cascading.org/projects/pattern/) — библиотека машинного обучения для Cascading.
- convnetjs (https://github.com/karpathy/convnetjs) — глубокое обучение на JavaScript. Обучает свёрточные нейронные сети (или обычные) в браузере.
- DataVec (https://github.com/deeplearning4j/DataVec) — библиотека векторизации и предварительной обработки данных для глубокого обучения на Java и Scala. Часть экосистемы Deeplearning4j.
- Deeplearning4j (https://github.com/deeplearning4j) — быстрое открытое глубокое обучение для JVM (Java, Scala, Clojure). Слой конфигурации нейронной сети, работающий на библиотеке C++. Использует Spark и Hadoop для обучения сетей на нескольких GPU и CPU.
- Decider (https://github.com/danielsdeleo/Decider) — гибкое и расширяемое машинное обучение на Ruby.
- ENCOG (http://www.heatonresearch.com/encog/) — фреймворк машинного обучения, поддерживающий множество продвинутых алгоритмов, а также вспомогательные классы для нормализации и обработки данных.
- etcML (http://www.etcml.com/) — классификация текста с помощью машинного обучения.
- Etsy Conjecture (https://github.com/etsy/Conjecture) — масштабируемое машинное обучение в Scalding.
- Feast (https://github.com/gojek/feast) — хранилище функций для управления, обнаружения и доступа к функциям машинного обучения. Feast предоставляет согласованное представление данных функций как для обучения моделей, так и для их обслуживания.
- GraphLab Create (https://dato.com/products/create/) — платформа машинного обучения на Python с широким набором инструментов машинного обучения, инженерии данных и... Инструменты для развёртывания.
- H2O — статистическая среда выполнения для машинного обучения и математики с поддержкой Hadoop, R и Python.
- Karate Club — библиотека неконтролируемого машинного обучения для данных с графовой структурой. Работает на Python.
- Keras — интуитивный API нейронных сетей, вдохновлённый Torch, который работает поверх Theano и Tensorflow.
- Lambdo — механизм рабочего процесса, значительно упрощающий процесс анализа за счёт объединения функций разработки и машинного обучения.
- Little Ball of Fur — библиотека подвыборки для данных с графовой структурой. Реализована на Python.
- Mahout — библиотека машинного обучения от Apache для Hadoop.
- MLbase — распределённые библиотеки машинного обучения для стека BDAS.
- MLPNeuralNet — быстрая библиотека многослойных перцептронов для iOS и Mac OS X.
- ML Workspace — универсальная веб-IDE, специализирующаяся на машинном обучении и науке о данных.
- MOA — выполняет интеллектуальный анализ больших данных в реальном времени и крупномасштабное машинное обучение.
- MonkeyLearn — упрощает интеллектуальный анализ текста. Извлекает и классифицирует данные из текста.
- ND4J — матричная библиотека для JVM. Numpy для Java.
- nupic — платформа Numenta для интеллектуальных вычислений: платформа машинного интеллекта, основанная на мозге, и биологически точная нейронная сеть, основанная на алгоритмах кортикального обучения.
- PredictionIO — сервер машинного обучения, построенный на Hadoop, Mahout и Cascading.
- PyTorch Geometric Temporal — библиотека временных расширений для PyTorch Geometric.
- RL4J — машинное обучение с подкреплением для Java и Scala. Включает алгоритмы Deep-Q и A3C, интегрируется с Gym от Open AI. Работает в экосистеме Deeplearning4j.
- SAMOA — распределённая потоковая платформа машинного обучения.
- scikit-learn — машинное обучение на Python.
- Shapley — основанный на данных фреймворк для количественной оценки ценности классификаторов в ансамбле машинного обучения.
- Spark MLlib — реализация Spark некоторых общих функций машинного обучения (ML).
- Sibyl — система для крупномасштабного машинного обучения в Google.
- TensorFlow — библиотека от Google для машинного обучения с использованием графов потоков данных.
- Theano — ориентированная на Python библиотека машинного обучения при поддержке Монреальского университета.
- Torch — библиотека глубокого обучения с Lua API, поддерживаемая Нью-Йоркским университетом и Facebook.
- Velox — система предоставления прогнозов машинного обучения.
- Vowpal Wabbit — обучающая система, спонсируемая Microsoft и Yahoo!.
- WEKA — набор программного обеспечения для машинного обучения.
- BidMach — ускоренная библиотека машинного обучения для CPU и GPU.
Бенчмаркинг
-
Apache Hadoop Benchmarking — микротесты для проверки производительности Hadoop.
-
Berkeley SWIM Benchmark — бенчмарк рабочей нагрузки реальных больших данных.
-
Intel HiBench — набор бенчмарков для Hadoop.
-
PUMA Benchmarking — бенчмарк. * ElastAlert — это простой фреймворк для оповещения об аномалиях, всплесках или других интересующих паттернах в данных из ElasticSearch.
-
Eventhub — платформа аналитики событий с открытым исходным кодом.
-
HASH — платформа симуляции и визуализации с открытым исходным кодом.
-
Hermes — асинхронный брокер сообщений, построенный на основе Kafka.
-
Hunk — аналитика Splunk для Hadoop.
-
Imhotep — крупномасштабная аналитическая платформа от indeed.
-
Indicative — инструмент веб- и мобильной аналитики со встроенной интеграцией хранилища данных (AWS, BigQuery).
-
Jupyter — приложение для интерактивных научных вычислений и работы с данными на всех языках программирования.
-
MADlib — библиотека обработки данных реляционной СУБД для анализа данных.
-
Kapacitor — открытая среда для обработки, мониторинга и оповещения о данных временных рядов.
-
Kylin — открытый движок распределённой аналитики от eBay.
-
PivotalR — R на Pivotal HD / HAWQ и PostgreSQL.
-
Rakam — открытая платформа пользовательской аналитики в реальном времени, работающая на Postgresql, Kinesis и PrestoDB.
-
Qubole — автомасштабируемый кластер Hadoop со встроенными коннекторами данных.
-
SnappyData — распределённое хранилище данных в памяти для оперативной аналитики в реальном времени, предоставляющее потоковую аналитику, OLTP (онлайн-обработку транзакций) и OLAP (оперативную аналитическую обработку), построенное на Spark в едином интегрированном кластере.
-
Snowplow — корпоративная веб-аналитика и аналитика событий, основанная на Hadoop, Kinesis, Redshift и Postgres.
-
SparkR — интерфейс R для Spark.
-
Splunk — анализатор данных, генерируемых машинами.
-
Sumo Logic — облачный анализатор данных, генерируемых машинами.
-
Substation — облачный инструментарий конвейеров и трансформации данных, написанный на Go.
-
Talend — унифицированная среда с открытым исходным кодом для YARN, Hadoop, HBASE, Hive, HCatalog & Pig.
Поисковые системы и фреймворки
-
Apache Lucene — библиотека поисковых систем.
-
Apache Solr — поисковая платформа для Apache Lucene.
-
Elassandra — форк Elasticsearch, модифицированный для работы поверх Apache Cassandra в масштабируемой и отказоустойчивой архитектуре «равный-к-равному».
-
ElasticSearch — поисково-аналитическая система на базе Apache Lucene.
-
Enigma.io — надёжное веб-приложение с бесплатным доступом для изучения, фильтрации, анализа, поиска и экспорта больших наборов данных, собранных со всего Интернета.
-
Google Caffeine — система непрерывного индексирования.
-
Google Percolator — система непрерывного индексирования.
-
HBase Coprocessor — реализация Percolator, часть HBase.
-
Lily HBase Indexer — быстрый и простой поиск любого контента, хранящегося в HBase.
-
LinkedIn Bobo — Faceted Search, реализованный исключительно на Java, расширение Apache Lucene.
-
LinkedIn Cleo — гибкая программная библиотека, позволяющая быстро разрабатывать частичные, неупорядоченные и оперативные поисковые подсказки.
-
LinkedIn Galene — поиск. Архитектура в LinkedIn
-
LinkedIn Zoie — система поиска и индексации в реальном времени, написанная на Java.
-
MG4J — полнотекстовый поисковый движок для больших коллекций документов, написанный на Java. Он легко настраивается, обладает высокой производительностью и предоставляет современные функции и новые исследовательские алгоритмы.
-
Sphinx Search Server — полнотекстовый поисковик.
-
Vespa — движок для вычислений с низкой задержкой над большими наборами данных. Он хранит и индексирует ваши данные таким образом, чтобы запросы, выборка и обработка данных могли выполняться во время обслуживания.
-
Facebook Faiss — библиотека для эффективного поиска сходства и кластеризации плотных векторов. Она содержит алгоритмы, которые ищут в наборах векторов любого размера, вплоть до тех, которые, возможно, не помещаются в ОЗУ. Также она содержит вспомогательный код для оценки и настройки параметров. Faiss написана на C++ с полными обёртками для Python/numpy.
-
Annoy — библиотека C++ с привязками Python для поиска точек в пространстве, близких к заданной точке запроса. Она также создаёт большие структуры данных на основе файлов, доступные только для чтения, которые отображаются в память, так что многие процессы могут совместно использовать одни и те же данные.
-
Weaviate — семантический поисковик на базе GraphQL со встроенными (словесными) вложениями.
Форки и эволюции MySQL
-
Amazon RDS — базы данных MySQL в облаке Amazon.
-
Drizzle — эволюция MySQL 6.0.
-
Google Cloud SQL — базы данных MySQL в облаке Google.
-
MariaDB — улучшенная замена MySQL.
-
MySQL Cluster — реализация MySQL с использованием механизма хранения NDB Cluster.
-
Percona Server — улучшенная замена MySQL.
-
ProxySQL — высокопроизводительный прокси для MySQL.
-
TokuDB — механизм хранения для MySQL и MariaDB.
-
WebScaleSQL — сотрудничество инженеров из нескольких компаний, сталкивающихся с аналогичными проблемами при работе с MySQL в масштабе.
Форки и эволюции PostgreSQL
-
HadoopDB — гибрид MapReduce и СУБД.
-
IBM Netezza — высокопроизводительные устройства для хранилищ данных.
-
Postgres-XL — масштабируемый кластер баз данных на основе открытого исходного кода PostgreSQL.
-
RecDB — рекомендательный движок с открытым исходным кодом, полностью встроенный в PostgreSQL.
-
Stado — открытая MPP-система баз данных, предназначенная исключительно для приложений хранилищ и витрин данных.
-
Yahoo Everest — многопетабайтная база данных / MPP, полученная из PostgreSQL.
-
TimescaleDB — база данных временных рядов с открытым исходным кодом, оптимизированная для быстрой загрузки и сложных запросов.
-
PipelineDB — потоковая база данных SQL. Реляционная база данных с открытым исходным кодом, которая выполняет SQL-запросы непрерывно в потоках, постепенно сохраняя результаты в таблицах.
Форки и эволюции Memcached
Встроенные базы данных
Бизнес-аналитика
Визуализация данных
CartoDB — хостинг для геопространственных баз данных с открытым исходным кодом или платными услугами. Предоставляет мощные возможности редактирования во внешнем интерфейсе и надёжный API.
Chartd — адаптивные диаграммы, совместимые с Retina, которые можно добавить с помощью тега img.
Chart.js — визуализации HTML5-диаграмм с открытым исходным кодом.
Chartist.js — ещё одна библиотека визуализации HTML5-диаграмм с открытым исходным кодом.
Crossfilter — JavaScript-библиотека для исследования больших многомерных наборов данных в браузере. Хорошо работает с dc.js и d3.js.
Cubism — JavaScript-библиотека для визуализации временных рядов.
Cytoscape — JavaScript-библиотека для визуализации сложных сетей.
DC.js — построение диаграмм по измерениям, созданное для работы с crossfilter и использующее рендеринг d3.js. Отлично подходит для подключения диаграмм/дополнительных метаданных к событиям наведения в D3.
D3 — JavaScript-библиотека для манипулирования документами.
D3.compose — создание сложных визуализаций на основе данных из повторно используемых диаграмм и компонентов.
D3Plus — довольно обширный набор повторно используемых диаграмм и стилей для d3.js.
Dash — аналитические веб-приложения для Python, R, Julia и Jupyter. Созданы на основе plotly, JS не требуется.
Dekart — крупномасштабная геопространственная аналитика для Google BigQuery на основе Kepler.gl.
DevExtreme React Chart — высокопроизводительный плагин React для создания диаграмм для Bootstrap и Material Design.
Echarts — корпоративные диаграммы Baidus.
Envisionjs — динамическая визуализация HTML5.
FnordMetric — написание SQL-запросов, возвращающих SVG-диаграммы вместо таблиц.
Frappe Charts — простые и современные SVG-диаграммы для веб с нулевыми зависимостями. Вдохновлены GitHub.
Freeboard — инструмент с открытым исходным кодом для создания панелей мониторинга в реальном времени для IoT и других веб-mashups.
Gephi — отмеченная наградами платформа с открытым исходным кодом для визуализации и управления большими графами и сетевыми соединениями. Это как Photoshop, но для графиков. Доступно для Windows и Mac OS X.
Google Charts — простой API для построения диаграмм.
Grafana — интерфейс для графита, редактор и компоновщик графиков.
Graphite — масштабируемый график в реальном времени.
Highcharts — простое и гибкое API для построения диаграмм.
IPython — предоставляет богатую архитектуру для интерактивных вычислений.
Kibana — визуализация журналов и данных с отметками времени.
Lumify — платформа для анализа и визуализации больших данных с открытым исходным кодом.
Matplotlib — построение графиков с использованием Python.
Metricsgraphic.js — библиотека, построенная на основе D3 и оптимизированная для данных временных рядов.
NVD3 — компоненты диаграмм для d3.js.
Peity — прогрессивные SVG-столбчатые, линейные и круговые диаграммы.
Plot.ly — простой в использовании веб-сервис, который позволяет быстро создавать сложные диаграммы, от тепловых карт до гистограмм. Загрузите данные, чтобы создать и оформить диаграммы с помощью онлайн-таблицы Plotly. Форкните чужие графики.
Plotly.js — открытая JavaScript-библиотека графиков, которая лежит в основе Plotly.
Recline — простая, но мощная библиотека для создания приложений для работы с данными на чистом JavaScript и HTML.
Redash — платформа с открытым исходным кодом для запросов и визуализации данных.
ReCharts — A... Композиционная библиотека графиков на основе компонентов React
- Shiny — веб-фреймворк для R.
- Sigma.js — JavaScript-библиотека, предназначенная для рисования графов.
- Superset — платформа для исследования данных, разработанная так, чтобы быть визуальной, интуитивно понятной и интерактивной, что позволяет легко нарезать, анализировать и визуализировать данные, а также выполнять аналитику со скоростью мысли.
- Vega — грамматика визуализации.
- Zeppelin — совместный анализ данных в стиле блокнота.
- Zing Charts — JavaScript-библиотека графиков для больших данных.
- DataSphere Studio — портал управления разработкой приложений для работы с данными.
Интернет вещей и данные датчиков
- Apache Edgent (Incubating) — модель программирования и среда выполнения в стиле микроядра, которые можно встроить в шлюзы и устройства с малой занимаемой площадью, обеспечивая локальную аналитику в реальном времени на граничных устройствах.
- Azure IoT Hub — двунаправленный мониторинг и обмен сообщениями в облаке.
- TempoIQ — облачная аналитика датчиков.
- 2lemetry — платформа для интернета вещей.
- Pubnub — сеть передачи данных.
- ThingWorx — быстрое развитие и подключение интеллектуальных систем.
- IFTTT — «если это, то то».
- Evrything — делает продукты умными.
- NetLytics — аналитическая платформа для обработки сетевых данных на Spark.
- Ably — платформа обмена сообщениями pub/sub для IoT.
Интересные чтения
- Big Data Benchmark — сравнение Redshift, Hive, Shark, Impala и Stiger/Tez.
- NoSQL Comparison — сравнение Cassandra, MongoDB, CouchDB, Redis, Riak, HBase, Couchbase, Neo4j, Hypertable, ElasticSearch, Accumulo, VoltDB и Scalaris.
- Мониторинг производительности Kafka — руководство по мониторингу Apache Kafka, включая собственные методы сбора метрик.
- Мониторинг производительности Hadoop — руководство по мониторингу Hadoop, с обзором архитектуры Hadoop и собственными методами сбора метрик.
- Мониторинг производительности Cassandra — руководство по мониторингу Cassandra, включая собственные методы сбора метрик.
Интересные статьи
2015–2016
- Facebook — один триллион рёбер: обработка графов в масштабе Facebook.
2013–2014
-
Stanford — добыча массивных наборов данных.
-
AMPLab — Presto: распределённое машинное обучение и обработка графов с разреженными матрицами.
-
AMPLab — MLbase: распределённая система машинного обучения.
-
AMPLab — Shark: SQL и расширенная аналитика в масштабе.
-
AMPLab — GraphX: отказоустойчивая распределённая графическая система на Spark.
-
Google — HyperLogLog на практике: алгоритмическая разработка современного алгоритма оценки мощности.
-
Microsoft — масштабируемый прогрессивный... Аналитика больших данных в облаке.
-
2013 — Metamarkets — Druid: A Real-time Analytical Data Store.
-
2013 — Google — Online, Asynchronous Schema Change in F1.
-
2013 — Google — F1: A Distributed SQL Database That Scales.
-
2013 — Google — MillWheel: Fault-Tolerant Stream Processing at Internet Scale.
-
2013 — Facebook — Scuba: Diving into Data at Facebook.
-
2013 — Facebook — Unicorn: A System for Searching the Social Graph.
-
2013 — Facebook — Scaling Memcache at Facebook.
2011–2012
-
2012 — Twitter — The Unified Logging Infrastructure for Data Analytics at Twitter.
-
2012 — AMPLab — Blink and It’s Done: Interactive Queries on Very Large Data.
-
2012 — AMPLab — Fast and Interactive Analytics over Hadoop Data with Spark.
-
2012 — AMPLab — Shark: Fast Data Analysis Using Coarse-grained Distributed Memory.
-
2012 — Microsoft — Paxos Replicated State Machines as the Basis of a High-Performance Data Store.
-
2012 — Microsoft — Paxos Made Parallel.
-
2012 — AMPLab — BlinkDB: Queries with Bounded Errors and Bounded Response Times on Very Large Data.
-
2012 — Google — Processing a trillion cells per mouse click.
-
2012 — Google — Spanner: Google’s Globally-Distributed Database.
-
2011 — AMPLab — Scarlett: Coping with Skewed Popularity Content in MapReduce Clusters.
-
2011 — AMPLab — Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center.
-
2011 — Google — Megastore: Providing Scalable, Highly Available Storage for Interactive Services.
2001–2010
-
2010 — Facebook — Finding a needle in Haystack: Facebook’s photo storage.
-
2010 — AMPLab — Spark: Cluster Computing with Working Sets.
-
2010 — Google — Pregel: A System for Large-Scale Graph Processing.
-
2010 — Google — Large-scale Incremental Processing Using Distributed Transactions and Notifications base of Percolator and Caffeine.
-
2010 — Google — Dremel: Interactive Analysis of Web-Scale Datasets.
-
2010 — Yahoo — S4: Distributed Stream Computing Platform.
-
2009 — HadoopDB: An Architectural Hybrid of MapReduce and DBMS. Технологии для аналитической работы.
-
AMPLab — Chukwa: крупномасштабная система мониторинга, 2008 г. (chukwa_cca08.pdf).
-
Amazon — Dynamo: высокодоступное хранилище «ключ-значение» Amazon, 2007 г. (dynamo.pdf).
-
Google — The Chubby lock service: сервис блокировок для слабосвязанных распределённых систем, 2006 г. (chubby-osdi06.pdf).
-
Google — Bigtable: распределённая система хранения структурированных данных, 2006 г. (bigtable-osdi06.pdf).
-
Google — MapReduce: упрощённая обработка данных на больших кластерах, 2004 г. (mapreduce-osdi04.pdf).
-
Google — Google File System: файловая система Google, 2003 г. (gfs-sosp2003.pdf).
Видеоматериалы
-
Spark in Motion: обучение использованию Spark для пакетной и потоковой аналитики данных.
-
Machine Learning, Data Science and Deep Learning with Python: живой видеоурок, который охватывает машинное обучение, Tensorflow, искусственный интеллект и нейронные сети.
-
Data warehouse schema design — dimensional modeling and star schema: введение в проектирование схемы для хранилища данных с использованием метода звёздной схемы.
-
Elasticsearch 7 and Elastic Stack: живой видеоурок по поиску, анализу и визуализации больших данных в кластере с помощью Elasticsearch, Logstash, Beats, Kibana и других инструментов.
Книги
Потоковая передача данных
-
Data Science at Scale with Python and Dask: книга учит создавать распределённые проекты, которые могут обрабатывать огромные объёмы данных.
-
Streaming Data: книга знакомит с концепциями и требованиями к системам потоковой передачи и обработки данных в реальном времени.
-
Storm Applied: практическое руководство по использованию Apache Storm для реальных задач, связанных с обработкой и анализом потоков данных в реальном времени.
-
Fundamentals of Stream Processing: Application Design, Systems, and Analytics: это комплексное практическое руководство, объединяющее фундаментальные строительные блоки и новые исследования в области потоковой обработки, идеально подходит для разработчиков приложений, системных архитекторов, аналитиков, а также студентов и исследователей в этой области.
-
Stream Data Processing: A Quality of Service Perspective: представляет новую парадигму, подходящую для потоковой и комплексной обработки событий.
-
Unified Log Processing: практическое руководство по реализации унифицированного журнала потоков событий (Kafka или Kinesis) в вашем бизнесе.
-
Kafka Streams in Action: книга научит вас всему, что нужно знать для реализации потоковой обработки данных, поступающих на вашу платформу Kafka, позволяя сосредоточиться на получении большей отдачи от ваших данных без потери времени или усилий.
-
Big Data: книга обучает созданию систем больших данных с использованием архитектуры, которая использует преимущества кластерного оборудования, наряду с новыми инструментами, специально разработанными для сбора и анализа данных веб-масштаба. Данные
-
Spark in Action и Spark in Action 2nd Ed. — книга «Spark in Action» обучает теории и навыкам, необходимым для эффективной работы с пакетными и потоковыми данными с помощью Spark. Полностью обновлена для Spark 2.0.
-
Kafka in Action — быстрое введение во все аспекты работы с Kafka, которые вам необходимы, чтобы по-настоящему воспользоваться его преимуществами.
-
Fusion in Action — книга учит создавать полноценный аналитический конвейер данных, включая поиск документов и данных, а также распределённую кластеризацию данных.
-
Reactive Data Handling — сборник из пяти отобранных Мануэлем Бернхардтом глав, знакомящих с созданием реактивных приложений, способных обрабатывать большие объёмы данных в реальном времени — бесплатная электронная книга!
-
Azure Data Engineering — книга о дата-инжиниринге в целом и платформе Azure в частности.
-
Grokking Streaming Systems — книга помогает разобраться, что такое потоковые системы, как они работают и подходят ли они для вашего бизнеса. Написана так, чтобы быть независимой от инструментов, вы сможете применить полученные знания независимо от выбранной вами платформы.
Распределённые системы
- Distributed Systems for fun and profit — теория распределённых систем. Включает разделы о времени и упорядочивании, репликации и результатах невозможности.
Графовый подход
- Graph-Powered Machine Learning — автор Алессандро Негро. Объединяет теорию графов и модели для улучшения проектов машинного обучения.
Визуализация данных
- The beauty of data visualization.
- Designing Data Visualizations with Noah Iliinsky.
- Hans Rosling's 200 Countries, 200 Years, 4 Minutes.
- Ice Bucket Challenge Data Visualization.
Другие отличные списки
Комментарии ( 0 )