A categorized community-driven collection of amazingly awesome database resources.
Free assets and resources are prioritized over paid when possible.
Suggestions and contributions are always welcome!
Make sure to read the contribution guidelines for more information before submitting a pull request.
- Motivation
- Considerations
- Legend
- Categories
- Learning Resources
- Recommended
- Projects
- Communities
- Frequently Asked Questions (FAQ)
- Contributors to this repository
- Contributing
- Code of Conduct
- To be done
π§
Free resource: π
Paid resource: π°
Interesting resource: π
(UNMAINTAINED) - The repository hasn't been updated for a long time.
(DEPRECATED) - Another solution or package has been released that does the same and it's more recent.
(ARCHIVED) - The repository is read only for learning purposes.
#[CATEGORY] - Where [CATEGORY] represents a category of the document. Means that the resource is related with another category too.
Search more databases.
- SQL Developer - Oracle's Free IDE for PL/SQL development and administration of Oracle databases.
- SQL Tools for Oracle - Lightweight frontend for Oracle DB development.
- Oracle Database 11g Express Edition - Free entry level database to develop and deploy applications.
- Alexandria PL/SQL Utility Library - Collection of utility packages for PL/SQL
- PLSQL-JSON - PL/SQL library to encode/decode JSON
- utPLSQL - Unit testing framework for PL/SQL.
- SQL Server Express Edition - Free SQL Server Database to develop and deploy applications.
- SQL Server Data Tools - Integrated environment for developers to design and build database and other business intelligence solutions for MS SQL Server stack.
- tSQLt - Unit testing framework for SQL Server.
- Monitor CPU Usage
- Monitor Memory Usage
- Monitor Disk Usage
- Session Monitoring
- Blocking, Deadlock Monitoring
- IO Monitoring
- Wait stat Monitoring
An enhanced, drop-in replacement for MySQL.
MySQL is the world's most popular open source database.
- Facebook/MySQL-5.6 - Facebook's branch of the Oracle MySQL v5.6 database. (#C/C++)
- Twitter/MySQL - MySQL fork maintained and used at Twitter. See its wiki. (#C/C++)
- Percona Server - Enhanced, drop-in MySQL replacement.
- TokuDB Engine - TokuDB is a high-performance, write optimized, compressing, transactional storage engine for MySQL and MariaDB. (#C/C++) (#MARIADB)
- Galera - Galera Cluster for MySQL is an easy-to-use high-availability solution with high system up-time, no data loss, and scalability for future growth.
A completely embedded, full-featured relational database in a few 100k that you can include right into your project.
- Awesome SQLite - All things around SQLite.
Database management products developed by IBM
- Awesome DB2 - A curated list of awesome Db2 resources, tools and documentation to develop in that database.
- Firebird - True universal open source database.
- VoltDB - VoltDB is a horizontally-scalable, in-memory SQL RDBMS designed for applications that have extremely high read and write throughput requirements.
- YugabyteDB - PostgreSQL-compatible, Cassandra-compatible, horizontally scalable, fault tolerant database server.
A powerful, open source object-relational database system.
- PostgreSQL - Mirror of the official PostgreSQL Git repository. (#C/C++)
- PostgreSQL-XL - Scalable Open Source PostgreSQL-based database cluster.
- Cstore FDW - Fast columnar store for analytics with PostgreSQL. Website. (#C/C++)
- Barman - Backup and Recovery Manager for disaster recovery of PostgreSQL servers.
See list of databases.
- Coherence
- eXtreme Scale
- GigaSpaces
- GemFire
- Hazelcast
- Infinispan
- JBoss Cache
- Memcached
- Repcached
- Terracotta
- Velocity
- Go Cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. (#GO-LANG)
- Flare
- Keyspace
- RAMCloud
- SchemaFree
- Hyperdex
- Aerospike - Flash-optimized, in-memory, noSQL database. Previously AlchemyDB. See more.
- Bolt - A low-level key/value database for Go. (#GO-LANG)
- Diskv - A home-grown disk-backed key-value store. (#GO-LANG)
- LevelDB - High performance key-value storage library written at Google. See more.
- Go LevelDB - An implementation of the LevelDB key/value database in the Go. (#GO-LANG)
- DovetailDB
- Oracle NoSQL Database
- Dynamo
- Voldemort - An open source clone of Amazon's Dynamo. Website (#JAVA)
- Riak - Another fault-tolerant key-value NoSQL database.
- Dynomite
- MotionDb
- Voldemort
- SubRecord
- Actord
- FoundationDB
- Lightcloud
- LMDB - Very fast embedded key/value store with full ACID semantics. (#C/C++)
- Luxio
- Memcached - Free & open source, high-performance, distributed memory object caching system. (#C/C++)
- Groupcache - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. (#GO-LANG)
- MemcacheDB
- NMDB
- Scalaris
- TokyoTyrant
- Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes.Website. (#C/C++)
- Redis NDS - This is a version of Redis patched to implement NDS (the Naive Disk Store). (#C/C++)
- SSDB - A fast NoSQL database, an alternative to Redis. Website. (#C/C++)
- LedisDB - Ledisdb is a high performance NoSQL like Redis based on LevelDB. (#GO-LANG)
- Apache River
- Coord
- GigaSpaces
- DB4O
- Objectivity/DB
- Perst
- Shoal
- ZopeDB
- Clusterpoint
- Couchbase - In-memory, replicated, peristent key/value datastore.
- MongoDB - MongoDB is a document database that provides high performance, high availability, and easy scalability. Documents (objects) map nicely to programming language data types. Embedded documents and arrays reduce need for joins. Dynamic schema makes polymorphism easier. [Website] (https://www.mongodb.org/). (#JAVASCRIPT)
- TokuMX - TokuMX is a high-performance, concurrent, compressing, drop-in replacement engine for MongoDB. (#C/C++)
- Apache CouchDB - A database that uses JSON for documents, JavaScript for MapReduce indexes, and regular HTTP for its API [Website] (http://couchdb.apache.org/). (#JAVASCRIPT)
- PouchDB - PouchDB is a pocket-sized database. (#JAVASCRIPT). Inspired by CouchDB.
- RethinkDB - An open-source distributed JSON document database with a pleasant and powerful query language. For building realtime web applications. Website. (#C/C++)
- ElasticSearch - Popular with log aggregation, and email archiving projects. (#JAVA)
- DocumentDB
- RavenDB - Document based database with ACID/Transactional features. Website (#.NET)
- Lotus Notes
- MarkLogic
- Qizx
- XML-databases
- BigTable
- Cassandra - A partitioned row store. Rows are organized into tables with a required primary key. Website (#JAVA)
- Druid
- Apache HBase - Hadoop database, a distributed, big data store.
- Hypertable - C++ based BigTable-like DBMS, communicates through Thrift and runs either as stand-alone or on distributed FS such as Hadoop.
- KAI
- KDI
- OpenNeptune
- Qbase
- Neo4j - The worldβs leading Graph Database. Website. (#JAVA)
- FlockDB - Twitter's distributed, fault-tolerant graph database.
- Titan - Distributed Graph Database Website. (#JAVA)
- OrientDB - OrientDB is an Open Source NoSQL DBMS with the features of both Document and Graph DBMSs. (#JAVA) (#DOCUMENT-STORE)
- ArangoDB - ArangoDB is a multi-purpose, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript/Ruby extensions. Use ACID transaction if you require them. Scale horizontally and vertically with a few mouse clicks.
- ArcadeDB - ArcadeDB is a Multi-Model Database, one DBMS that supports SQL, Cypher, Gremlin, HTTP/JSON, MongoDB and Redis. ArcadeDB is a conceptual fork of OrientDB, the first Multi-Model DBMS. (#JAVA)
- Memstate - Previously named OrigoDB. An in-memory embedded database engine for NET/Mono. See more. (#.NET)
- MonetDB - A high-performance database kernel for query-intensive applications. The MonetDB kernel works together with an SQL frontend that is in a separate CVS module. Website. (#C/C++)
- Tiedot - Your NoSQL database powered by Golang. (#GO-LANG)
- InfluxDB - Scalable datastore for metrics, events, and real-time analytics. (#GO-LANG)
- Roshi - Roshi is a large-scale CRDT set implementation for timestamped events. (#GO-LANG)
- SkyDB.io - Sky is an open source database used for flexible, high performance analysis of behavioral data. (#GO-LANG)
- Derby - Open source relational database implemented entirely in Java.
- H2 - An embeddable RDBMS written in Java.
- PalDB - Embeddable write-once key-value store written in Java.
- RocksDB - Embedded key-value store for fast storage. Website. (#C/C++)
- MapDB - MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine. Website. (#JAVA)
- Xodus - JetBrains Xodus is a Java transactional schema-less embedded database.
- Riak - Riak is a decentralized datastore from Basho Technologies.
- PulseDB - PulseDB is a time series database server and library.
- Elasticsearch - Open Source, Distributed, RESTful Search Engine Website. (#JAVA)
- Lmdbjni - LMDB for Java, which is a very fast embedded key/value store with full ACID semantics. (#JAVA)
- BlinkDB - BlinkDB: Sub-Second Approximate Queries on Very Large Data [Website] (http://blinkdb.cs.berkeley.edu/). (#SCALA)
- VerdictDB - Interactive-Speed Analytics: 200x Faster, 200x Fewer Cluster Resources, Approximate Query Processing.
π§
π§
- SQL (Structured Query Language)
- T-SQL (Transact SQL)
Take picture from here
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
- Data Control Language (DCL)
- Transaction Control Language(TCL)
- DQL (Data Query Language)
Take table from here
π§
π§
π§
π§
- PixQL - Command-line image processing tool in SQL.
- SQL Fiddle - Easly test and share database problems and their solutions. Can use different backend DBMS's (MySQL, PostgreSQL, MS SQL Server, Oracle, and SQLite).
- SqlPad - A web app for running SQL queries and visualizing the results.
- ERAlchemy - ERAlchemy generates Entity Relation (ER) diagram from databases.
- BigBash - Open-source converter that generates a bash one-liner from an SQL Select query, no database necessary.
- Flyway - Database migration tool.
- Liquibase - Source Control for your database.
- Awesome DB Tools - a community driven list of database tools (ide, cli, managing, monitoring, migrations, modelers, visualization etc)
- 10 Database tools for sys admins
- Wikipedia Database Tools Comparison
- SQL Format - Instant SQL Formatter.
- Poor SQL - A small free .Net and JS library (with demo UI, command-line bulk formatter, SSMS/VS add-in, notepad++ plugin, winmerge plugin, and demo webpage) for reformatting and coloring T-SQL code to the user's preferences. See more on Github.
- T-SQL Tidy - Online T-SQL formatting with Webservice and Plugins for SSMS.
π§
π§
π§
π§
π§
π§
π§
π§
- Awesome DB Dev - Awesome materials about database development.
- Awesome DB Benchmarks - Community driven list of database benchmarks.
π§
π§
π§
π§
π§
- db-readings - A list of papers essential to understanding databases and building new data systems.
π§
π§
- Curated SQL Learning Resources on Hackr.io - Programming Community Curated Resources for learning SQL.
π§
π§
π§
π§
- Awesome DB Tools - A community driven list of database tools (ide, cli, managing, monitoring, migrations, modelers, visualization, etc...).
- Awesome SQL - List of tools and techniques for working with relational databases.
- Awesome Databases - A curated list of awesome databases.
- Awesome DB - A curated list of awesome DBs.
- Awesome SQL Server - A big collection of SQL Server Queries and documeantations to fix your SQL Server's bottle neck.
- Awesome MySQL - A curated list of awesome MySQL software, libraries, tools and resources.
- Awesome SQLite - A collection of awesome sqlite tools, scripts, books, etc.
- Awesome PostgresSQL - A curated list of awesome PostgreSQL software, libraries, tools and resources, inspired by awesome-mysql.
- Awesome DB2 - A curated list of awesome Db2 resources, libraries, tools and applications.
- Awesome BigData - A curated list of awesome big data frameworks, resources and other awesomeness.
π§
π§
π§
π§
π§
π§
π§
πββοΈ @agarcialeon - Owner of the repository
Please see CONTRIBUTING for details.
Thanks to all the contributors, this wouldn't be possible without you!
See Code of Conduct.
- Fill Open Issue template file to help providing new resources.
- Add license file.
- Add awesome sqlite repository resources. (not commercial ones)
- Add awesome postgres repository resources.
- Add repository logo.
- Add contributing file.
- Move language-related resources to its category and add language tags to filter them.
- The logo image should be high-DPI. Set it to maximum half the width of the original image.
- Wait 30 days from first commit to make the pull request to awesome lists topic.
- Add tags for free and paid resources.
- Add better icons for sections.
- Use tags to classify a resource instead of using a category.
- Reorder category resources by most well known resources if possible.
- Starter kit section with all the things needed or recommended for beginners.
- Include resources for recommended packages section (well tested, most voted and so on).
- Fill up continuous integration section.
- Fill up people to follow.
- Fill up communities section.
- Fill snippets and gists under scripting section.
- Create more categories for specific resources that don't combine well.
- Add category for error reporting, logging and debugging.
- Mark deprecated packages (:x:).
- Change introduction at the beginning ot the readme file to indicate better the visitors how its organized.
- Do shortcut png image with IDE shortcuts.
- Create open collective to show the image with the contributors if necessary.
- Review items by category to select one between similar ones in order to select the most complete. Reference the others in another section or repository.
And many more...