Database-OpenSource-List

Database OpenSource List | 数据库相关开源工具索引

Showcase

RDB

  • MiniDataBase #Scratch#: A simple Relational Database using B+ Tree Index.

  • 2016-chidb : Building a Simple Relational Database System from Scratch.

  • 2017-SimpleDB #Scratch#: UC Berkeley’s Database class CS186: Implement A Simple Database Management System.

  • Database basics: writing a SQL database from scratch in Go #Series# #Scratch#: In this series we’ll write a rudimentary database from scratch in Go.

  • 2018-db_tutorial #Series# #Scratch#: Writing a sqlite clone from scratch in C.

  • 2018-手写 SQL 编译器 #Scratch#: 因为工作关系,需要开发支持众多方言的 SQL 编辑器,所以复习了一下编译原理相关知识。相比编译原理专家,我们只需要了解部分编译原理即可实现 SQL 编辑器,所以这是一篇写给前端的编译原理文章。

  • 2018-Freedom : 在阅读了大量关于数据库的资料后,笔者情不自禁产生了一个造数据库轮子的想法。来验证一下自己对于数据库底层原理的掌握是否牢靠。在笔者的 github 中给这个 database 起名为 Freedom。

  • 2015-Lealone : Lealone 是一个兼具 RDBMS、NoSQL 优点的面向微服务和 OLTP/OLAP 场景的单机与分布式关系数据库

  • 2020-bustub : BusTub is a relational database management system built at Carnegie Mellon University for the Introduction to Database Systems (15-445/645) course. This system was developed for educational purposes and should not be used in production environments.

  • 2020-cstack/db_tutorial : Writing a sqlite clone from scratch in C.

  • miniob : miniob 是 OceanBase 与华中科技大学联合开发的、面向"零"基础同学的数据库入门实践工具。miniob 设计的目标是让同学们快速了解数据库并深入学习数据库内核,期望通过相关训练之后,能够对数据库内核各个模块的功能及其关联有所了解,并能够在 使用数据库时,设计出高效的 SQL 。miniob 面向的对象主要是在校学生,并且诸多模块都做了简化,比如不考虑并发操作。

  • 2022-mini-lsm : A tutorial of building an LSM-Tree storage engine in a week! (WIP)

Distributed DB

  • LBADD #Scratch#: An experimental, distributed SQL database.

  • CockroachDB : CockroachDB is a cloud-native distributed SQL database designed to build, scale, and manage modern, data-intensive applications.

  • Toydb : Distributed SQL database in Rust, written as a learning project. Most components are built from scratch.

  • rqlite : The lightweight, distributed relational database built on SQLite.

Timeseries

  • 2017-Writing a Time Series Database from Scratch: While the current storage has served us well, I propose a newly designed storage subsystem that corrects for shortcomings of the existing solution and is equipped to handle the next order of scale.

  • 2021-mandodb : 🤔 A minimize Time Series Database, written from scratch as a learning project. 从零开始实现一个 TSDB

Universal SQL Tools

Client

GUI

  • 2010-Hue : Hue is a mature SQL Assistant for querying Databases & Data Warehouses.

  • SQL Fiddle : A tool for easy online testing and sharing of database problems and their solutions.

  • Dbeaver : Free multi-platform database tool for developers, SQL programmers, database administrators and analysts.

  • HeidiSQL : HeidiSQL is free software, and has the aim to be easy to learn. “Heidi” lets you see and edit data and structures from computers running one of the database systems MariaDB, MySQL, Microsoft SQL or PostgreSQL.

  • 2020-Beekeeper Studio : Cross platform SQL editor and database management app for Windows, Linux, and Mac.

  • 2020-Hue Editor : Open source SQL Query Assistant for Databases/Warehouses.

  • 2022-DataStation : App to easily query, script, and visualize data from every database, file, and API.

CMD

  • 2018-q : q is a command line tool that allows direct execution of SQL-like queries on CSVs/TSVs (and any other tabular text files).

  • usql : usql is a universal command-line interface for working with SQL databases.

  • d2020-DuckDB : DuckDB is a high-performance analytical database system. It is designed to be fast, reliable and easy to use. DuckDB provides a rich SQL dialect, with support far beyond basic SQL. DuckDB supports arbitrary and nested correlated subqueries, window functions, collations, complex types (arrays, structs), and more. For more information on the goals of DuckDB, please refer to the Why DuckDB page on our website.

Editor

  • 2014-sqlpad : Web-based SQL editor run in your own private cloud. Supports MySQL, Postgres, SQL Server, Vertica, Crate, Presto, SAP HANA, and Cassandra.

  • 2016-Falcon : Free, open-source SQL client for Windows and Mac 🦅

  • 2022-SQL Father : 快速生成 SQL 和模拟数据的网站(Java 后端),大幅提高开发测试效率!by 程序员鱼皮

Monitor

  • 2022-Lepus : Lepus 数据库监控系统是简洁、直观、强大的开源数据库监控产品,支持 MySQL/Oracle/MongoDB/Redis 等数据库一站式性能监控,让数据库监控更加简单和专业。远程云中监控、实时邮件告警、丰富的指标和图表、MySQL 慢查询分析和 AWR 性能报告。

Analysis & Execution & Driver

Audit(审核平台)

  • 2017-SQLAdvisor : SQLAdvisor 是由美团点评公司技术工程部 DBA 团队(北京)开发维护的一个分析 SQL 给出索引优化建议的工具。它基于 MySQL 原生态词法解析,结合分析 SQL 中的 where 条件、聚合条件、多表 Join 关系 给出索引优化建议。目前 SQLAdvisor 在美团点评内部广泛应用,公司内部对 SQLAdvisor 的开发全面转到 github 上,开源和内部使用保持一致。

  • 2019-Yearning : MYSQL 开源 SQL 语句审核平台。

Migration & Backup & Transfer

  • FlyWay : Evolve your database schema easily and reliably across all your instances.

  • PingCAP-Loader

  • 2019-Refinery : refinery makes running migrations for different databases as easy as possible.

  • Xtrabackup : Open source hot backup tool for InnoDB and XtraDB databases.

Benchmark

Relational Database

  • 2019-MySQL : The world’s most popular open source database.

Query Engine

  • 2022-Quokka : Quokka is an open-source push-based vectorized query engine. Inspired by recent high performance database designs at Snowflake, DuckDB and SingleStore etc., it is meant to be much more performant than blocking-shuffle based alternatives like SparkSQL. On test TPC-H queries, Quokka currently is often several times faster than open-source SparkSQL and an order of magnitude faster than Dask.

StoreEngine

  • 2021-Extensible-Storage-Engine : ESE is an embedded / ISAM-based database engine, that provides rudimentary table and indexed access. However the library provides many other strongly layered and and thus reusable sub-facilities as well: A Synchronization / Locking library, a Data-structures / STL-like library, an OS-abstraction layer, and a Cache Manager, as well the full blown…

Sharding

  • Sharding-Sphere : Sharding-Sphere is an open-source ecosystem consisted of a set of distributed database middleware solutions, including 3 independent products, Sharding-JDBC, Sharding-Proxy & Sharding-Sidecar (todo).

  • 2015-KingShard : kingshard is a high-performance proxy for MySQL powered by Go.

  • Atlas : A high-performance and stable proxy for MySQL, it is developed by Qihoo’s DBA and infrastructure team.

  • 2017-Vitess : Vitess is a database clustering system for horizontal scaling of MySQL.

  • 2019-Gaea : Gaea is a mysql proxy, it’s developed by xiaomi b2c-systech team.

Key-Value Database

  • LevelDB : LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

  • RocksDB : A library that provides an embeddable, persistent key-value store for fast storage.

  • 2018-Tidis : Tidis is a Distributed NoSQL database, providing a redis-protocal api(string,list,hash,set,sorted-set), written in Go.

  • 2019-Badger : BadgerDB is an embeddable, persistent and fast key-value (KV) database written in pure Go. It is the underlying database for Dgraph, a fast, distributed graph database. It’s meant to be a performant alternative to non-Go-based key-value stores like RocksDB.

  • 2020-terarkdb : A RocksDB compatible KV storage engine with better performance.

  • immudb : world’s fastest immutable database, built on a zero trust model.

Document Database

  • 2018-edgedb : A graph-relational database with declarative schema, built-in migration system, and a next-generation query language

Graph Database

  • Cayley : Cayley is an open-source graph inspired by the graph database behind Freebase and Google’s Knowledge Graph.

  • Neo4j : Neo4j is the world’s leading Graph Database. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions.

  • Dgraph : Dgraph is a horizontally scalable and distributed graph database, providing ACID transactions, consistent replication and linearizable reads.

  • Nebula : A distributed, fast open-source graph database featuring horizontal scalability and high availability.

  • cozo : A general-purpose, transactional, relational database that uses Datalog and focuses on graph data and algorithms

TimeSeries

  • 2013-InfluxDB : InfluxDB is an open source time series database with no external dependencies. It’s useful for recording metrics, events, and performing analytics.

  • 2017-timescaledb : An open-source time-series database optimized for fast ingest and complex queries. Engineered up from PostgreSQL, packaged as an extension.

  • 2018-M3 monorepo : Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Metrics Platform

  • VictoriaMetrics : VictoriaMetrics is fast, cost-effective and scalable time series database.

  • TDengine : TDengine is an open-sourced big data platform under GNU AGPL v3.0, designed and optimized for the Internet of Things (IoT), Connected Cars, Industrial IoT, and IT Infrastructure and Application Monitoring.

  • 2019-LinDB : LinDB is a scalable, high performance, high availability distributed time series database.

  • 2019-VictoriaMetrics : Fast, cost-effective and scalable time series database, long-term remote storage for Prometheus.

  • 2021-QuestDB : QuestDB is a distributed, high-performance, fully-distributed, high-availability, fully-scalable, and highly-available time series database.

  • 2022-GreptimeDB : GreptimeDB, an open-source, cloud-native, distributed time-series database.

NewSQL

  • FoundationDB : FoundationDB is a distributed database designed to handle large volumes of structured data across clusters of commodity servers.

P2P Database

  • OrbitDB : Peer-to-Peer Databases for the Decentralized Web.

  • Scuttlebot : Scuttlebot is an open source peer-to-peer log store used as a database, identity provider, and messaging system. It features global replication, file-syncronization, and end-to-end encryption.

AI Database

  • 2023-EVA : EVA is a database system for building simpler and faster AI-powered applications.
上一页