awesome-bigdata
A curated list of awesome big data frameworks, resources and other awesomeness.
https://github.com/eric-erki/awesome-bigdata
Last synced: 1 day ago
JSON representation
-
Distributed Programming
- Rackerlabs Blueflood - multi-tenant distributed metric processing system
- Skale - High performance distributed data processing in NodeJS.
- Stratosphere - general purpose cluster computing framework.
- 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.
- AMPLab SIMR - run Spark on Hadoop MapReduce v1.
- Onyx - Distributed computation for the cloud.
- Pydoop - Python MapReduce and HDFS API for Hadoop.
- JAQL - declarative programming language for working with structured, semi-structured and unstructured data.
- Cheetah - High Performance, Custom Data Warehouse on Top of MapReduce.
- Cascalog - data processing and querying library.
- Streamdrill - useful for counting activities of event streams over different time windows and finding the most active one.
-
Document Data Model
- MongoDB - Document-oriented database system.
- RavenDB - A transactional, open-source Document Database.
- RethinkDB - document database that supports queries like table joins and group by.
- Actian Versant - commercial object-oriented database management systems .
- jumboDB - document oriented datastore over Hadoop.
- Microsoft Azure DocumentDB - NoSQL cloud database service with protocol support for MongoDB
- LinkedIn Espresso - horizontally scalable document-oriented NoSQL data store.
-
Embedded Databases
- Actian PSQL - ACID-compliant DBMS developed by Pervasive Software, optimized for embedding in applications.
- HanoiDB - Erlang LSM BTree Storage.
- LevelDB - a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
- BerkeleyDB - a software library that provides a high-performance embedded database for key/value data.
-
Frameworks
- 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.)
- Tigon - High Throughput Real-time Stream Processing Framework.
- Polyaxon - A platform for reproducible and scalable machine learning and deep learning.
- Pachyderm - Pachyderm is a data storage platform built on Docker and Kubernetes to provide reproducible data processing and analysis.
-
Graph Data Model
- MapGraph - Massively Parallel Graph processing on GPUs.
- Neo4j - graph database written entirely in Java.
- Titan - distributed graph database, built over Cassandra.
- NodeXL - A free, open-source template for Microsoft® Excel® 2007, 2010, 2013 and 2016 that makes it easy to explore network graphs.
- AgensGraph - a new generation multi-model graph database for the modern complex data environment.
- AgensGraph - a new generation multi-model graph database for the modern complex data environment.
- 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.
- 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.
- Gremlin - graph traversal Language.
- Infovore - RDF-centric Map/Reduce framework.
- 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.
- Phoebus - framework for large scale graph processing.
- Titan - distributed graph database, built over Cassandra.
- Twitter FlockDB - distributed graph database.
- Facebook TAO - TAO is the distributed data store that is widely used at facebook to store and serve the social graph.
- OrientDB - document and graph database.
- 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.
- Intel GraphBuilder - tools to construct large-scale graphs on top of Hadoop.
- GraphX - resilient Distributed Graph System on Spark.
-
Interesting Papers
-
2001 - 2010
- 2003 - **Google** - The Google File System.
- 2010 - **Google** - Pregel: A System for Large-Scale Graph Processing.
- 2010 - **Facebook** - Finding a needle in Haystack: Facebook’s photo storage.
- 2010 - **AMPLab** - Spark: Cluster Computing with Working Sets.
- 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 Technologies for Analytical Workloads.
- 2008 - **AMPLab** - Chukwa: A large-scale monitoring system.
- 2006 - **Google** - The Chubby lock service for loosely-coupled distributed systems.
- 2004 - **Google** - MapReduce: Simplied Data Processing on Large Clusters.
- 2010 - **Google** - Large-scale Incremental Processing Using Distributed Transactions and Notifications base of Percolator and Caffeine.
- 2010 - **Yahoo** - S4: Distributed Stream Computing Platform.
- 2009 - HadoopDB: An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads.
- 2007 - **Amazon** - Dynamo: Amazon’s Highly Available Key-value Store.
-
2011 - 2012
- 2012 - **Twitter** - The Unified Logging Infrastructure
- 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 - **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.
- 2012 - **Twitter** - The Unified Logging Infrastructure
- 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 - **Microsoft** - Paxos Made Parallel.
-
2013 - 2014
- 2014 - **Stanford** - Mining of Massive Datasets.
- 2013 - **AMPLab** - Presto: Distributed Machine Learning and Graph Processing with Sparse Matrices.
- 2013 - **AMPLab** - MLbase: A Distributed Machine-learning System.
- 2013 - **AMPLab** - Shark: SQL and Rich Analytics at Scale.
- 2013 - **AMPLab** - GraphX: A Resilient Distributed Graph System on Spark.
- 2013 - **Google** - HyperLogLog in Practice: Algorithmic Engineering of a State of The Art Cardinality Estimation Algorithm.
- 2013 - **Metamarkets** - Druid: A Real-time Analytical Data Store.
- 2013 - **Google** - F1: A Distributed SQL Database That Scales.
- 2013 - **Facebook** - Scaling Memcache at Facebook.
- 2014 - **Stanford** - Mining of Massive Datasets.
- 2013 - **Google** - HyperLogLog in Practice: Algorithmic Engineering of a State of The Art Cardinality Estimation Algorithm.
- 2013 - **Metamarkets** - Druid: A Real-time Analytical Data Store.
- 2013 - **Google** - F1: A Distributed SQL Database That Scales.
- 2013 - **Facebook** - Scuba: Diving into Data at Facebook.
- 2013 - **Google** - Online, Asynchronous Schema Change in F1.
-
2015 - 2016
-
-
Interesting Readings
- Big Data Benchmark - Benchmark of Redshift, Hive, Shark, Impala and Stiger/Tez.
- Monitoring Cassandra performance - Guide to monitoring Cassandra, including native methods for metrics collection.
- Monitoring Kafka performance - Guide to monitoring Apache Kafka, including native methods for metrics collection.
- Monitoring Hadoop performance - Guide to monitoring Hadoop, with an overview of Hadoop architecture, and native methods for metrics collection.
-
Internet of things and sensor data
- Apache Edgent (Incubating) - a programming model and micro-kernel style runtime that can be embedded in gateways and small footprint edge devices enabling local, real-time, analytics on the edge devices.
- TempoIQ - Cloud-based sensor analytics.
- Pubnub - Data stream network
- IFTTT - If this then that
- Evrything - Making products smart
- Azure IoT Hub - Cloud-based bi-directional monitoring and messaging hub
- ThingWorx - Rapid development and connection of intelligent systems
- NetLytics - Analytics platform to process network data on Spark.
- NetLytics - Analytics platform to process network data on Spark.
-
Key Map Data Model
- Distinguishing two major types of Column Stores
- Google BigTable - column-oriented distributed datastore.
- Google Cloud Datastore - is a fully managed, schemaless database for storing non-relational data over BigTable.
- Twitter Manhattan - real-time, multi-tenant distributed database for Twitter scale.
- Distinguishing two major types of Column Stores
- Baidu Tera - an Internet-scale database, inspired by BigTable.
- InfiniDB - is accessed through a MySQL interface and use massive parallel processing to parallelize queries.
- ScyllaDB - column-oriented distributed datastore written in C++, totally compatible with Apache Cassandra.
- Hypertable - column-oriented distributed datastore, inspired by BigTable.
-
Key-value Data Model
- Amazon DynamoDB - distributed key/value store, implementation of Dynamo paper.
- 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.
- Redis - in memory key value datastore.
- 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.
- HyperDex - a scalable, next generation key-value and document store with a wide array of features, including consistency, fault tolerance and high performance.
- Linkedin Voldemort - distributed key/value storage system.
- Oracle NoSQL Database - distributed key-value database by Oracle Corporation.
- 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.
- Badger - a fast, simple, efficient, and persistent key-value store written natively in Go.
- EventStore - distributed time series database.
- GridDB - suitable for sensor data stored in a timeseries.
-
Machine Learning
- Azure ML Studio - Cloud-based AzureML, R, Python Machine Learning platform
- DataVec - A vectorization and data preprocessing library for deep learning in Java and Scala. Part of the Deeplearning4j ecosystem.
- Deeplearning4j - Fast, open deep learning for the JVM (Java, Scala, Clojure). A neural network configuration layer powered by a C++ library. Uses Spark and Hadoop to train nets on multiple GPUs and CPUs.
- etcML - text classification with machine learning.
- GraphLab Create - A machine learning platform in Python with a broad collection of ML toolkits, data engineering, and deployment tools.
- MLbase - distributed machine learning libraries for the BDAS stack.
- MonkeyLearn - Text mining made easy. Extract and classify data from text.
- ND4J - A matrix library for the JVM. Numpy for Java.
- RL4J - Reinforcement learning for Java and Scala. Includes Deep-Q learning and A3C algorithms, and integrates with Open AI's Gym. Runs in the Deeplearning4j ecosystem.
- Sibyl - System for Large Scale Machine Learning at Google.
- Theano - A Python-focused machine learning library supported by the University of Montreal.
- Torch - A deep learning library with a Lua API, supported by NYU and Facebook.
- WEKA - suite of machine learning software.
- brain - Neural networks in JavaScript.
- Concurrent Pattern - machine learning library for Cascading.
- convnetjs - Deep Learning in Javascript. Train Convolutional Neural Networks (or ordinary ones) in your browser.
- Decider - Flexible and Extensible Machine Learning in Ruby.
- Etsy Conjecture - scalable Machine Learning in Scalding.
- Lambdo - defined (Python) functions.
- MLPNeuralNet - Fast multilayer perceptron neural network library for iOS and Mac OS X.
- ML Workspace - All-in-one web-based IDE specialized for machine learning and data science.
- scikit-learn - scikit-learn: machine learning in Python.
- Sibyl - System for Large Scale Machine Learning at Google.
- TensorFlow - Library from Google for machine learning using data flow graphs.
- Velox - System for serving machine learning predictions.
- BidMach - CPU and GPU-accelerated Machine Learning Library.
- H2O - statistical, machine learning and math runtime with Hadoop. R and Python.
- WEKA - suite of machine learning software.
- Vowpal Wabbit - learning system sponsored by Microsoft and Yahoo!.
- Keras - An intuitive neural net API inspired by Torch that runs atop Theano and Tensorflow.
- nupic - Numenta Platform for Intelligent Computing: a brain-inspired machine intelligence platform, and biologically accurate neural network based on cortical learning algorithms.
- Cloudera Oryx - real-time large-scale machine learning.
- Sibyl - System for Large Scale Machine Learning at Google.
- MonkeyLearn - Text mining made easy. Extract and classify data from text.
-
Memcached forks and evolutions
- Twemproxy - A fast, light-weight proxy for memcached and redis.
- Twitter Fatcache - key/value cache for flash storage.
- Twitter Twemcache - fork of Memcache.
-
MySQL forks and evolutions
- Amazon RDS - MySQL databases in Amazon's cloud.
- Drizzle - evolution of MySQL 6.0.
- MariaDB - enhanced, drop-in replacement for MySQL.
- MySQL Cluster - MySQL implementation using NDB Cluster storage engine.
- TokuDB - TokuDB is a storage engine for MySQL and MariaDB.
- WebScaleSQL - is a collaboration among engineers from several companies that face similar challenges in running MySQL at scale.
- Drizzle - evolution of MySQL 6.0.
- Percona Server - enhanced, drop-in replacement for MySQL.
- ProxySQL - High Performance Proxy for MySQL.
- WebScaleSQL - is a collaboration among engineers from several companies that face similar challenges in running MySQL at scale.
- Percona Server - enhanced, drop-in replacement for MySQL.
-
NewSQL Databases
- BayesDB - statistic oriented SQL database.
- CitusDB - scales out PostgreSQL through sharding and replication.
- FoundationDB - distributed database, inspired by F1.
- Google F1 - distributed SQL database built on Spanner.
- Google Spanner - globally distributed semi-relational database.
- InfiniSQL - infinity scalable RDBMS.
- Map-D - GPU in-memory database, big data analysis and visualization platform.
Programming Languages
Categories
Interesting Papers
47
Distributed Programming
46
Data Visualization
40
Machine Learning
34
Books
32
Applications
29
NewSQL Databases
25
Key-value Data Model
24
Time-Series Databases
22
Graph Data Model
21
Data Ingestion
19
SQL-like processing
18
Business Intelligence
17
Search engine and framework
17
Distributed Filesystem
14
Columnar Databases
11
MySQL forks and evolutions
11
System Deployment
11
Service Programming
10
Key Map Data Model
9
Internet of things and sensor data
9
PostgreSQL forks and evolutions
7
Document Data Model
7
Scheduling
6
Benchmarking
6
Frameworks
5
Interesting Readings
4
RDBMS
4
Embedded Databases
4
Memcached forks and evolutions
3
Security
2
Videos
2
Distributed Index
1
Sub Categories
Keywords
database
15
machine-learning
10
deep-learning
8
python
8
data-science
8
go
6
analytics
6
data-visualization
5
visualization
5
graph
5
sql
4
geospatial
4
time-series
4
mysql
4
tensorflow
4
spark
4
data-analysis
4
awesome
4
awesome-list
4
nosql
3
big-data
3
distributed
3
golang
3
metrics
3
in-memory
3
kubernetes
3
java
3
c-plus-plus
3
random-forest
3
kafka
3
graph-database
3
classifier
3
reinforcement-learning
3
pytorch
3
gradient-boosting
3
data
3
business-intelligence
3
decision-tree
2
ml
2
clustering
2
classification-trees
2
xgboost
2
catboost
2
data-mining
2
d3
2
webgl
2
hadoop
2
timeseries-database
2
timeseries
2
javascript
2