Git Product home page Git Product logo

awesome-database's Introduction


Awesome Database

Awesome

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.

forthebadge

πŸ“‘ Contents

Motivation

🚧

Considerations

Legend

Icons

Free resource: πŸ†“

Paid resource: πŸ’°

Interesting resource: πŸ†’

Tags

(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.

πŸ”– Categories

Databases

Search more databases.

Relational Databases

Oracle

SQL Server

  • 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.
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.

Database management products developed by IBM

  • Awesome DB2 - A curated list of awesome Db2 resources, tools and documentation to develop in that database.

Other Databases

  • 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.

Object-Relational Databases

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.

NoSQL Databases

See list of databases.

Key-Value Cache

  • 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)

Key-Value Store

  • 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)

Key-Value Store (Eventually-Consistent)

  • 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

Key-Value Store (Ordered)

  • 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

Data-Structures server

  • 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)

Tuple Store

  • Apache River
  • Coord
  • GigaSpaces

Object Database

  • DB4O
  • Objectivity/DB
  • Perst
  • Shoal
  • ZopeDB

Document Store

  • 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

Wide Columnar Store

  • 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

Graph Databases

  • 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.

Others

  • 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)

Embeddable engines

  • 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.

Clojure

Erlang

  • Riak - Riak is a decentralized datastore from Basho Technologies.
  • PulseDB - PulseDB is a time series database server and library.

Java

  • 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)

Scala

  • 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.

Frameworks

🚧

Services

🚧

✏️ Scripting

SQL Languages

  • SQL (Structured Query Language)
  • T-SQL (Transact SQL)

Sublanguages

Take picture from here

  • Data Definition Language (DDL)
  • Data Manipulation Language (DML)
  • Data Control Language (DCL)
  • Transaction Control Language(TCL)
  • DQL (Data Query Language)

Versions

Take table from here

Dialects

πŸ“ˆ Algorithms

🚧

πŸ“ Patterns

🚧

πŸ“™ Libraries

🚧

πŸ”© Utilities

🚧

πŸ”§ Tools

  • 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

Formatters

  • 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.

πŸ”Œ Plugins

🚧

Snippets & Gists

🚧

Dynamic SQL

🚧

Integrated Development Environment (IDE)

🚧

VCS (Version Control Systems)

🚧

Continuous Integration

🚧

Testing

🚧

Documentation

🚧

Database Development

Benchmarks

😎 Customization

🚧

Extensibility

🚧

Misc.

🚧

πŸŽ“ Learning Resources

πŸš€ Tips and Tricks

🚧

πŸ“š Books

🚧

Research Papers

  • db-readings - A list of papers essential to understanding databases and building new data systems.

πŸ“° Blogs

🚧

πŸ“Ί Videos

πŸ“Ό Youtube Channels

🚧

πŸ”° Tutorials

⭐ Best Practices

πŸ”‘ Coding Practices

🚧

πŸ”  Organizational Practices

🚧

πŸ“ Style Guide

🚧

πŸ”‘ Shortcuts

🚧

πŸ“Ž Other references

  • 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.

πŸ† Recommended

🚧

Projects

🚧

πŸ‘₯ Communities

πŸ’¬ Chat Servers

🚧

Forums

🚧

Groups

🚧

πŸ“› People to follow

🚧

❓ Frequently Asked Questions (FAQ)

🚧

πŸ‘ πŸŽ‰ Contributors to this repository

πŸ’‚β€β™‚οΈ @agarcialeon - Owner of the repository

Contributing

Please see CONTRIBUTING for details.

Thanks to all the contributors, this wouldn't be possible without you!

Code of Conduct

See Code of Conduct.

πŸ“ To be done

⚠️ NOTE: Following list of tasks is written without any order of preference.

  • 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...

πŸ” Back to Top

awesome-database's People

Contributors

numetriclabz avatar agarcialeon avatar deniszh avatar yursha avatar delapouite avatar davisonio avatar deekshithshetty avatar krisskross avatar rofr avatar isignal avatar mohataher avatar zackp30 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.