A curated list of awesome big data frameworks, resources and other awesomeness. Inspired by awesome-php, awesome-python, awesome-ruby, hadoopecosystemtable & big-data.
Your contributions are always welcome!
- Awesome Big Data
- RDBMS
- Frameworks
- Distributed Programming
- Distributed Filesystem
- Key-Map Data Model
- Document Data Model
- Key-value Data Model
- Graph Data Model
- NewSQL Databases
- Columnar Databases
- Time-Series Databases
- SQL-like processing
- Data Ingestion
- Service Programming
- Scheduling
- Machine Learning
- Benchmarking
- Security
- System Deployment
- Applications
- Search engine and framework
- MySQL forks and evolutions
- PostgreSQL forks and evolutions
- Memcached forks and evolutions
- Embedded Databases
- Business Intelligence
- Data Visualization
- Internet of things and sensor data
- Interesting Readings
- Interesting Papers
- Videos
- Books
- Other Awesome Lists
- MySQL The world's most popular open source database.
- PostgreSQL The world's most advanced open source database.
- Oracle Database - object-relational database management system.
- Teradata - high-performance MPP data warehouse platform.
- Bistro - general-purpose data processing engine for both batch and stream analytics. It is based on a novel data model, which represents data via functions and processes data via column operations as opposed to having only set operations in conventional approaches like MapReduce or SQL.
- IBM Streams - platform for distributed processing and real-time analytics. Integrates with many of the popular technologies in the Big Data ecosystem (Kafka, HDFS, Spark, etc.)
- Apache Hadoop - framework for distributed processing. Integrates MapReduce (parallel processing), YARN (job scheduling) and HDFS (distributed file system).
- Tigon - High Throughput Real-time Stream Processing Framework.
- Pachyderm - Pachyderm is a data storage platform built on Docker and Kubernetes to provide reproducible data processing and analysis.
- Polyaxon - A platform for reproducible and scalable machine learning and deep learning.
- AddThis Hydra - distributed data processing and storage system originally developed at AddThis.
- AMPLab SIMR - run Spark on Hadoop MapReduce v1.
- Apache APEX - a unified, enterprise platform for big data stream and batch processing.
- Apache Beam - an unified model and set of language-specific SDKs for defining and executing data processing workflows.
- Apache Crunch - a simple Java API for tasks like joining and data aggregation that are tedious to implement on plain MapReduce.
- Apache DataFu - collection of user-defined functions for Hadoop and Pig developed by LinkedIn.
- Apache Flink - high-performance runtime, and automatic program optimization.
- Apache Gearpump - real-time big data streaming engine based on Akka.
- Apache Gora - framework for in-memory data model and persistence.
- Apache Hama - BSP (Bulk Synchronous Parallel) computing framework.
- Apache MapReduce - programming model for processing large data sets with a parallel, distributed algorithm on a cluster.
- Apache Pig - high level language to express data analysis programs for Hadoop.
- Apache REEF - retainable evaluator execution framework to simplify and unify the lower layers of big data systems.
- Apache S4 - framework for stream processing, implementation of S4.
- Apache Spark - framework for in-memory cluster computing.
- Apache Spark Streaming - framework for stream processing, part of Spark.
- Apache Storm - framework for stream processing by Twitter also on YARN.
- Apache Samza - stream processing framework, based on Kafka and YARN.
- Apache Tez - application framework for executing a complex DAG (directed acyclic graph) of tasks, built on YARN.
- Apache Twill - abstraction over YARN that reduces the complexity of developing distributed applications.
- Baidu Bigflow - an interface that allows for writing distributed computing programs providing lots of simple, flexible, powerful APIs to easily handle data of any scale.
- Cascalog - data processing and querying library.
- Cheetah - High Performance, Custom Data Warehouse on Top of MapReduce.
- Concurrent Cascading - framework for data management/analytics on Hadoop.
- Damballa Parkour - MapReduce library for Clojure.
- Datasalt Pangool - alternative MapReduce paradigm.
- DataTorrent StrAM - real-time engine is designed to enable distributed, asynchronous, real time in-memory big-data computations in as unblocked a way as possible, with minimal overhead and impact on performance.
- Facebook Corona - Hadoop enhancement which removes single point of failure.
- Facebook Peregrine - Map Reduce framework.
- Facebook Scuba - distributed in-memory datastore.
- Google Dataflow - create data pipelines to help themæingest, transform and analyze data.
- Google MapReduce - map reduce framework.
- Google MillWheel - fault tolerant stream processing framework.
- IBM Streams - platform for distributed processing and real-time analytics. Provides toolkits for advanced analytics like geospatial, time series, etc. out of the box.
- JAQL - declarative programming language for working with structured, semi-structured and unstructured data.
- Kite - is a set of libraries, tools, examples, and documentation focused on making it easier to build systems on top of the Hadoop ecosystem.
- Metamarkets Druid - framework for real-time analysis of large datasets.
- Netflix PigPen - map-reduce for Clojure which compiles to Apache Pig.
- Nokia Disco - MapReduce framework developed by Nokia.
- Onyx - Distributed computation for the cloud.
- Pinterest Pinlater - asynchronous job execution system.
- Pydoop - Python MapReduce and HDFS API for Hadoop.
- Rackerlabs Blueflood - multi-tenant distributed metric processing system
- Skale - High performance distributed data processing in NodeJS.
- Stratosphere - general purpose cluster computing framework.
- Streamdrill - useful for counting activities of event streams over different time windows and finding the most active one.
- streamsx.topology - Libraries to enable building IBM Streams application in Java, Python or Scala.
- Tuktu - Easy-to-use platform for batch and streaming computation, built using Scala, Akka and Play!
- Twitter Heron - Heron is a realtime, distributed, fault-tolerant stream processing engine from Twitter replacing Storm.
- Twitter Scalding - Scala library for Map Reduce jobs, built on Cascading.
- Twitter Summingbird - Streaming MapReduce with Scalding and Storm, by Twitter.
- Twitter TSAR - TimeSeries AggregatoR by Twitter.
- Wallaroo - The ultrafast and elastic data processing engine. Big or fast data - no fuss, no Java needed.
- Ambry - a distributed object store that supports storage of trillion of small immutable objects as well as billions of large objects.
- Apache HDFS - a way to store large files across multiple machines.
- Apache Kudu - Hadoop's storage layer to enable fast analytics on fast data.
- BeeGFS - formerly FhGFS, parallel distributed file system.
- Ceph Filesystem - software storage platform designed.
- Disco DDFS - distributed filesystem.
- Facebook Haystack - object storage system.
- Google Colossus - distributed filesystem (GFS2).
- Google GFS - distributed filesystem.
- Google Megastore - scalable, highly available storage.
- GridGain - GGFS, Hadoop compliant in-memory file system.
- Lustre file system - high-performance distributed filesystem.
- Microsoft Azure Data Lake Store - HDFS-compatible storage in Azure cloud
- Quantcast File System QFS - open-source distributed file system.
- Red Hat GlusterFS - scale-out network-attached storage file system.
- Seaweed-FS - simple and highly scalable distributed file system.
- Alluxio - reliable file sharing at memory speed across cluster frameworks.
- Tahoe-LAFS - decentralized cloud storage system.
- Baidu File System - distributed filesystem.
- Pilosa Open source distributed bitmap index that dramatically accelerates queries across multiple, massive data sets.
- Actian Versant - commercial object-oriented database management systems .
- Crate Data - is an open source massively scalable data store. It requires zero administration.
- Facebook Apollo - Facebook’s Paxos-like NoSQL database.
- jumboDB - document oriented datastore over Hadoop.
- LinkedIn Espresso - horizontally scalable document-oriented NoSQL data store.
- MarkLogic - Schema-agnostic Enterprise NoSQL database technology.
- Microsoft Azure DocumentDB - NoSQL cloud database service with protocol support for MongoDB
- MongoDB - Document-oriented database system.
- RavenDB - A transactional, open-source Document Database.
- RethinkDB - document database that supports queries like table joins and group by.
Note: There is some term confusion in the industry, and two different things are called "Columnar Databases". Some, listed here, are distributed, persistent databases built around the "key-map" data model: all data has a (possibly composite) key, with which a map of key-value pairs is associated. In some systems, multiple such value maps can be associated with a key, and these maps are referred to as "column families" (with value map keys being referred to as "columns").
Another group of technologies that can also be called "columnar databases" is distinguished by how it stores data, on disk or in memory -- rather than storing data the traditional way, where all column values for a given key are stored next to each other, "row by row", these systems store all column values next to each other. So more work is needed to get all columns for a given key, but less work is needed to get all values for a given column.
The former group is referred to as "key map data model" here. The line between these and the Key-value Data Model stores is fairly blurry.
The latter, being more about the storage format than about the data model, is listed under Columnar Databases.
You can read more about this distinction on Prof. Daniel Abadi's blog: Distinguishing two major types of Column Stores.
- Apache Accumulo - distributed key/value store, built on Hadoop.
- Apache Cassandra - column-oriented distributed datastore, inspired by BigTable.
- Apache HBase - column-oriented distributed datastore, inspired by BigTable.
- Baidu Tera - an Internet-scale database, inspired by BigTable.
- Facebook HydraBase - evolution of HBase made by Facebook.
- Google BigTable - column-oriented distributed datastore.
- Google Cloud Datastore - is a fully managed, schemaless database for storing non-relational data over BigTable.
- Hypertable - column-oriented distributed datastore, inspired by BigTable.
- InfiniDB - is accessed through a MySQL interface and use massive parallel processing to parallelize queries.
- Tephra - Transactions for HBase.
- Twitter Manhattan - real-time, multi-tenant distributed database for Twitter scale.
- ScyllaDB - column-oriented distributed datastore written in C++, totally compatible with Apache Cassandra.
- Aerospike - NoSQL flash-optimized, in-memory. Open source and "Server code in 'C' (not Java or Erlang) precisely tuned to avoid context switching and memory copies."
- Amazon DynamoDB - distributed key/value store, implementation of Dynamo paper.
- Badger - a fast, simple, efficient, and persistent key-value store written natively in Go.
- Bolt - an embedded key-value database for Go.
- BTDB - Key Value Database in .Net with Object DB Layer, RPC, dynamic IL and much more
- BuntDB - a fast, embeddable, in-memory key/value database for Go with custom indexing and geospatial support.
- Edis - is a protocol-compatible Server replacement for Redis.
- ElephantDB - Distributed database specialized in exporting data from Hadoop.
- EventStore - distributed time series database.
- GridDB - suitable for sensor data stored in a timeseries.
- HyperDex - a scalable, next generation key-value and document store with a wide array of features, including consistency, fault tolerance and high performance.
- Ignite - is an in-memory key-value data store providing full SQL-compliant data access that can optionally be backed by disk storage.
- LinkedIn Krati - is a simple persistent data store with very low latency and high throughput.
- Linkedin Voldemort - distributed key/value storage system.
- Oracle NoSQL Database - distributed key-value database by Oracle Corporation.
- Redis - in memory key value datastore.
- Riak - a decentralized datastore.
- Storehaus - library to work with asynchronous key value stores, by Twitter.
- SummitDB - an in-memory, NoSQL key/value database, with disk persistance and using the Raft consensus algorithm.
- Tarantool - an efficient NoSQL database and a Lua application server.
- TiKV - a distributed key-value database powered by Rust and inspired by Google Spanner and HBase.
- Tile38 - a geolocation data store, spatial index, and realtime geofence, supporting a variety of object types including latitude/longitude points, bounding boxes, XYZ tiles, Geohashes, and GeoJSON
- TreodeDB - key-value store that's replicated and sharded and provides atomic multirow writes.
- AgensGraph - a new generation multi-model graph database for the modern complex data environment.
- Apache Giraph - implementation of Pregel, based on Hadoop.
- Apache Spark Bagel - implementation of Pregel, part of Spark.
- ArangoDB - multi model distributed database.
- DGraph - A scalable, distributed, low latency, high throughput graph database aimed at providing Google production level scale and throughput, with low enough latency to be serving real time user queries, over terabytes of structured data.
- EliasDB - a lightweight graph based database that does not require any third-party libraries.
- Facebook TAO - TAO is the distributed data store that is widely used at facebook to store and serve the social graph.
- GCHQ Gaffer - Gaffer by GCHQ is a framework that makes it easy to store large-scale graphs in which the nodes and edges have statistics.
- Google Cayley - open-source graph database.
- Google Pregel - graph processing framework.
- GraphLab PowerGraph - a core C++ GraphLab API and a collection of high-performance machine learning and data mining toolkits built on top of the GraphLab API.
- GraphX - resilient Distributed Graph System on Spark.
- Gremlin - graph traversal Language.
- Infovore - RDF-centric Map/Reduce framework.
- Intel GraphBuilder - tools to construct large-scale graphs on top of Hadoop.
- JanusGraph - open-source, distributed graph database with multiple options for storage backends (Bigtable, HBase, Cassandra, etc.) and indexing backends (Elasticsearch, Solr, Lucene).
- MapGraph - Massively Parallel Graph processing on GPUs.
- Microsoft Graph Engine - a distributed in-memory data processing engine, underpinned by a strongly-typed in-memory key-value store and a general distributed computation engine.
- Neo4j - graph database written entirely in Java.
- OrientDB - document and graph database.
- Phoebus - framework for large scale graph processing.
- Titan - distributed graph database, built over Cassandra.
- Twitter FlockDB - distributed graph database.
- NodeXL - A free, open-source template for Microsoft® Excel® 2007, 2010, 2013 and 2016 that makes it easy to explore network graphs.
Note please read the note on Key-Map Data Model section.
- Columnar Storage - an explanation of what columnar storage is and when you might want it.
- Actian Vector - column-oriented analytic database.
- C-Store - column oriented DBMS.
- ClickHouse - an open-source column-oriented database management system that allows generating analytical data reports in real time.
- EventQL - a distributed, column-oriented database built for large-scale event collection and analytics.
- MonetDB - column store database.
- Parquet - columnar storage format for Hadoop.
- Pivotal Greenplum - purpose-built, dedicated analytic data warehouse that offers a columnar engine as well as a traditional row-based one.
- Vertica - is designed to manage large, fast-growing volumes of data and provide very fast query performance when used for data warehouses.
- SQream DB - A GPU powered big data database, designed for analytics and data warehousing, with ANSI-92 compliant SQL, suitable for data sets from 10TB to 1PB.
- Google BigQuery - Google's cloud offering backed by their pioneering work on Dremel.
- Amazon Redshift - Amazon's cloud offering, also based on a columnar datastore backend.
- IndexR - an open-source columnar storage format for fast & realtime analytic with big data.
- LocustDB - an experimental analytics database aiming to set a new standard for query performance on commodity hardware.
- Actian Ingres - commercially supported, open-source SQL relational database management system.
- ActorDB - a distributed SQL database with the scalability of a KV store, while keeping the query capabilities of a relational database.
- Amazon RedShift - data warehouse service, based on PostgreSQL.
- BayesDB - statistic oriented SQL database.
- Bedrock - a simple, modular, networked and distributed transaction layer built atop SQLite.
- CitusDB - scales out PostgreSQL through sharding and replication.
- Cockroach - Scalable, Geo-Replicated, Transactional Datastore.
- Comdb2 - a clustered RDBMS built on optimistic concurrency control techniques.
- Datomic - distributed database designed to enable scalable, flexible and intelligent applications.
- FoundationDB - distributed database, inspired by F1.
- Google F1 - distributed SQL database built on Spanner.
- Google Spanner - globally distributed semi-relational database.
- H-Store - is an experimental main-memory, parallel database management system that is optimized for on-line transaction processing (OLTP) applications.
- Haeinsa - linearly scalable multi-row, multi-table transaction library for HBase based on Percolator.
- HandlerSocket - NoSQL plugin for MySQL/MariaDB.
- InfiniSQL - infinity scalable RDBMS.
- Map-D - GPU in-memory database, big data analysis and visualization platform.
- MemSQL - in memory SQL database witho optimized columnar storage on flash.
- NuoDB - SQL/ACID compliant distributed database.
- Oracle TimesTen in-Memory Database - in-memory, relational database management system with persistence and recoverability.
- Pivotal GemFire XD - Low-latency, in-memory, distributed SQL data store. Provides SQL interface to in-memory table data, persistable in HDFS.
- SAP HANA - is an in-memory, column-oriented, relational database management system.
- SenseiDB - distributed, realtime, semi-structured database.
- Sky - database used for flexible, high performance analysis of behavioral data.
- SymmetricDS - open source software for both file and database synchronization.
- TiDB - TiDB is a distributed SQL database. Inspired by the design of Google F1.
- VoltDB - claims to be fastest in-memory database.