Database Tools

repo: mgramin/awesome-db-tools
category: Databases related: Database


Awesome Database Tools Awesome

Community driven list of database tools

Here we will collect information about awesome useful and awesome experimental tools that simplify working with databases for DBA, DevOps, Developers and mere mortals.

Feel free to add information about your own db-tools or your favorite third-party db-tools.

For updates on awesome-db-tools and thoughts/news about databases/tools/SQL follow me at @GraminMaksim

Contents

IDE

GUI

CLI

  • ipython-sql - Connect to a database for issue SQL commands within IPython or IPython Notebook.
  • iredis - A Cli for Redis with AutoCompletion and Syntax Highlighting.
  • pgcenter - Top-like admin tool for PostgreSQL.
  • pg_activity - Top-like application for PostgreSQL server activity monitoring.
  • pg_top - Top for PostgreSQL.
  • pspg - PostgreSQL Pager.
  • SQLcl - Oracle SQL Developer Command Line (SQLcl) is a free command line interface for Oracle Database.
  • sqlite-utils - CLI tools for manipulating SQLite database files - inserting data, running queries, creating indexes, configuring full-text search and more.
  • SQLLine - Command-line shell for issuing SQL to relational databases via JDBC.
  • usql - A universal command-line interface for PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, and many other databases including NoSQL and non-relational databases!

dbcli

  • athenacli - CLI tool for AWS Athena service that can do auto-completion and syntax highlighting.
  • litecli - CLI for SQLite Databases with auto-completion and syntax highlighting.
  • mssql-cli - A command-line client for SQL Server with auto-completion and syntax highlighting.
  • mycli - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
  • pgcli - PostgreSQL CLI with autocompletion and syntax highlighting.
  • vcli - Vertica CLI with auto-completion and syntax highlighting.

Schema

Changes

  • 2bass - Database configuration-as-code tool that utilizes concept of idempotent DDL scripts.
  • Atlas - Inspect and Apply changes to your database schema.
  • Bytebase - Web-based, zero-config, dependency-free database schema change and version control tool for teams.
  • flyway - Database migration tool.
  • gh-ost - Online schema migration for MySQL.
  • liquibase - Database-independent library for tracking, managing and applying database schema changes.
  • migra - Like diff but for PostgreSQL schemas.
  • node-pg-migrate - Node.js database migration management built exclusively for PostgreSQL. (But can also be used for other DBs conforming to SQL standard - e.g. CockroachDB.)
  • pg-osc - Easy CLI tool for making zero downtime schema changes and backfills in PostgreSQL.
  • Prisma Migrate - Declarative database schema migration tool that uses a declarative data modeling syntax to describe your database schema.
  • Pyrseas - Provides utilities to describe a PostgreSQL database schema as YAML.
  • Reshape - An easy-to-use, zero-downtime schema migration tool for Postgres.
  • SchemaHero - A Kubernetes operator for declarative database schema management (gitops for database schemas).
  • Skeema - Declarative pure-SQL schema management system for MySQL and MariaDB, with support for sharding and external online schema change tools.
  • Sqitch - Sensible database-native change management for framework-free development and dependable deployment.
  • sqldef - Idempotent schema management for MySQL, PostgreSQL, and more.
  • yuniql - Yet another schema versioning and migration tool just made with native .NET Core 3.0+ and hopefully better.

Code generation

  • ddl-generator - Infers SQL DDL (Data Definition Language) from table data.
  • scheme2ddl - Command line util for export Oracle schema to set of ddl init scripts with ability to filter undesirable information, separate DDL in different files, pretty format output.

Diagrams

  • Azimutt - An Entity Relationship diagram (ERD) visualization tool, with various filters and inputs to help understand your database schema.
  • ChartDB - Free and Open-source database diagrams editor, visualize and design your DB with a single query.
  • DrawDB - Free, simple, and intuitive online database design tool and SQL generator.
  • ERAlchemy - Entity Relation Diagrams generation tool.
  • ERD Lab - Free cloud based entity relationship diagram (ERD) tool made for developers.
  • Liam ERD - Open-source tool that generates beautiful and easy-to-read Entity Relationship Diagrams from your database and ORMs.
  • QuickDBD - Simple online tool to quickly draw database diagrams.

Documentations

  • dbdocs - Create web-based database documentation using DSL code.
  • DBML - Database Markup Language, designed to define and document database structures.
  • SchemaCrawler - A free database schema discovery and comprehension tool.
  • Schema Spy - Generating your database to HTML documentation, including Entity Relationship diagrams.
  • tbls - CI-Friendly tool for document a database, written in Go.

Design

  • Database Design - Useful tips for designing robust database schema.
  • DBDiagram - A free, simple tool to draw ER diagrams by just writing code.
  • DbSchema - Universal database designer for out-of-the-box schema management, schema documentation, design in a team, and deployment on multiple databases. DbSchema features tools for writing and executing queries, exploring the data, generating data, and building reports.
  • ERBuilder Data Modeler - Easy-to-use database modeling software for high-quality data models. It's a complete data modeling solution for data modelers and data architects.
  • Moon Modeler - Data modeling tool for both noSQL and relational databases. Available for Windows, Linux and macOS.
  • Navicat Data Modeler - A powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.
  • Oracle SQL Developer Data Modeler - Free graphical tool that enhances productivity and simplifies data modeling tasks.
  • pgmodeler - Data modeling tool designed for PostgreSQL.
  • WWW SQL Designer - Online SQL diagramming tool.

Samples

  • [Oracle Database Sample Schemas](https://github.com/oracle/db-sample-schemas) - Sample schemas for Oracle Database.

API

Building API for your Data

  • Datasette - A tool for exploring and publishing data.
  • DreamFactory - A open source REST API backend for mobile, web, and IoT applications.
  • Graphweaver - Turn multiple data sources into a single GraphQL API.
  • [Hasura GraphQL Engine](https://github.com/hasura/graphql-engine) - Blazing fast, instant realtime GraphQL APIs on PostgreSQL with fine grained access control, also trigger webhooks on database events.
  • [Oracle REST Data Services](http://www.oracle.com/technetwork/developer-tools/rest-data-services) - A mid-tier Java application, ORDS maps HTTP(S) verbs (GET, POST, PUT, DELETE, etc.) to database transactions and returns any results formatted using JSON.
  • Prisma - Turns your database into a realtime GraphQL API.
  • PostGraphile - Instantly spin-up a GraphQL API server by pointing PostGraphile at your existing PostgreSQL database.
  • PostgREST - REST API for any PostgreSQL database.
  • prest - Is a way to serve a RESTful API from any databases written in Go.
  • Remult - End-to-end type-safe CRUD via REST API for your database, with fine-grained access control.
  • restSQL - SQL generator with Java and HTTP APIs, uses a simple RESTful HTTP API with XML or JSON serialization.
  • resquel - Easily convert your SQL database into a REST API.
  • sandman2 - Automatically generate a RESTful API service for your legacy database.
  • soul - Automatic SQLite RESTful and realtime API server.
  • VulcanSQL - Write templated SQL to automatically exposing RESTful APIs from your database/data warehouse/data lake.

Application platforms

Low-code and no-code platforms for application building

  • Appsmith - Powerful open source low code framework to build internal applications really quickly.
  • Budibase - Low-code platform for creating internal apps in minutes.
  • ILLA Cloud - Low-code internal tool building platform.
  • Nhost - The Open Source Firebase Alternative with GraphQL.
  • Saltcorn - Open source no-code builder for web datatabase applications. Server and drag-and-drop UI builder, data stored in PostgreSQL or SQLite.
  • SQLPage - Fast SQL-only data application builder. Automatically build a UI on top of SQL queries.
  • Tooljet - Open-source low-code platform to build internal tools.

Backup

Cloning

  • Database Lab Engine - Instant thin cloning for PostgreSQL to scale the development process.
  • clone_schema - PostgreSQL clone schema utility without need of going outside of database.
  • Spawn - Cloud service for creating instant database copies for development and CI. No more local db installs, instant recovery to arbitrary save points, isolated copies for each feature branch or test. Instant provisioning regardless of database size.

Monitoring/Statistics/Perfomance

  • ASH Viewer - Provides a graphical view of active session history data within the Oracle and PostgreSQL DB.
  • Metis - Provides observability and performance tuning for SQL databases.
  • Monyog - Agentless & Cost-effective MySQL Monitoring Tool.
  • mssql-monitoring - Monitor your SQL Server on Linux performance using collectd, InfluxDB and Grafana.
  • Navicat Monitor - A safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.
  • Percona Monitoring and Management - Open source platform for managing and monitoring MySQL and MongoDB performance.
  • pganalyze collector - Pganalyze statistics collector for gathering PostgreSQL metrics and log data.
  • pgbadger - A fast PostgreSQL Log Analyzer.
  • pgDash - Measure and track every aspect of your PostgreSQL databases.
  • PgHero - A performance dashboard for PostgreSQL - health checks, suggested indexes, and more.
  • pgmetrics - Collect and display information and stats from a running PostgreSQL server.
  • pgMonitor - All-in-one tool to easily create an environment to visualize the health and performance of your PostgreSQL cluster.
  • pgMustard - A user interface for PostgreSQL explain plans, plus tips to improve performance.
  • pgstats - Collects PostgreSQL statistics, and either saves them in CSV files or print them on the stdout.
  • pgwatch2 - Flexible self-contained PostgreSQL metrics monitoring/dashboarding solution.
  • PostgreSQL Metrics - Service to extract and provide metrics on your PostgreSQL database.
  • PostgreSQL Monitor - An easy-to-use monitoring service for PostgreSQL providing alerts, dashboards, query stats and dynamic recommendations.
  • postgres-checkup - New-generation diagnostics tool that allows users to do a deep analysis of the health of PostgreSQL databases.
  • Promscale - The open-source observability backend for metrics and traces powered by SQL.
  • Releem - Performance monitoring and optimization tool for MySQL & MariaDB that delivers actionable insights and safe automation for misconfigurations, slow queries, schema issues, and deadlocks, reducing manual work at scale.
  • [Telegraf PostgreSQL plugin](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/postgresql) - Provides metrics for your PostgreSQL database.

Prometheus

Zabbix

  • Mamonsu - Monitoring agent for PostgreSQL.
  • Orabbix - Plugin designed to work with Zabbix Enterprise Monitor to provide multi-tiered monitoring, performance and availability reporting and measurement for Oracle Databases, along with server performance metrics.
  • pg_monz - This is the Zabbix monitoring template for PostgreSQL Database.
  • Pyora - Python script to monitor Oracle Databases.
  • ZabbixDBA - Fast, flexible, and continuously developing plugin to monitor your RDBMS.

Testing

HA/Failover/Sharding

Kubernetes

Configuration Tuning

DevOps

  • DBmaestro - Accelerates release cycles & supports agility across the entire IT ecosystem.
  • Toad DevOps Toolkit - Executes key database development functions within your DevOps workflow —without compromising quality, performance or reliability.

Reporting

  • Chartbrew - Create live dashboards, charts, and client reports from multiple databases and services.
  • Poli - An easy-to-use SQL reporting application built for SQL lovers.

Distributions

Security

  • Acra - Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL.
  • Databunker - Special GDPR compliant secure vault for customer records built on top of regular DB.
  • Inspektor - Access control layer for databases. Inspektor leverages open policy agent to make policy decisions.

SQL

Analyzers

  • Holistic.dev - Automatic detection service for database performance, security, and architecture issues.
  • SQLCheck - Automatically detects common SQL anti-patterns.
  • SQLFluff - Dialect-flexible and configurable SQL linter.
  • SQLLineage - SQL Lineage Analysis Tool powered by Python.
  • TSQLLint - A tool for describing, identifying, and reporting the presence of anti-patterns in TSQL scripts.

Extensions

  • PartiQL - SQL-compatible access to relational, semi-structured, and nested data.

Frameworks

  • Apache Calcite - Dynamic data management framework with advanced SQL features.
  • ZetaSQL - Analyzer Framework for SQL.

Formatters

Games

  • Lost at SQL - A SQL learning game to help you pick up basic SQL skills - so that you can use queries to get information.
  • Querymon - Learn to use SQL queries on the Querydex, a database of monsters from common to legendary.
  • Schemaverse - A Space-based strategy game implemented entirely within a PostgreSQL database.
  • SQL Island - After the survived plane crash, you will be stuck on SQL Island for the time being. By making progress in the game, you will find a way to escape from this island.
  • SQL Murder Mystery - Designed to be both a self-directed lesson to learn SQL concepts and commands and a fun game for experienced SQL users to solve an intriguing crime.
  • SQL Police Department - In SQLPD, you get to solve crimes while learning SQL at the same time.

Parsers

Über SQL

Run SQL queries against anything

  • CloudQuery - Extracts, transforms, and loads your cloud assets into normalized PostgreSQL tables.
  • csvq - SQL-like query language for CSV.
  • dsq - Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.
  • MAT Calcite plugin - This plugin for Eclipse Memory Analyzer allows to query heap dump via SQL.
  • OctoSQL - Query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
  • osquery - SQL powered operating system instrumentation, monitoring, and analytics.
  • Resmo - Audit and evaluate resources using SQL.
  • Steampipe - Use SQL to instantly query your cloud services (AWS, Azure, GCP and more).
  • TextQL - Execute SQL against structured text like CSV or TSV.
  • trdsql - CLI tool that can execute SQL queries on CSV, LTSV, JSON and TBLN.
  • Trino - Distributed SQL query engine designed to query large data sets distributed over one or more heterogeneous data sources.

Language Server Protocol

Learning

Learning and puzzles for SQL

Plan

Scripts

Useful SQL-scripts for various purposes

Data

  • dbt - Transform your data by simply writing select statements, while dbt handles turning these statements into tables and views in a data warehouse.
  • QuickTable - Empowers everyone to access, clean, analyze, transform, and model data with no code.

Catalog

  • Amundsen - Metadata driven application for improving the productivity of data analysts, data scientists and engineers when interacting with data.
  • DataHub - The Metadata Platform for the Modern Data Stack.
  • Marquez - Collect, aggregate, and visualize a data ecosystem's metadata.

Lineage

  • Dwh.dev - Nexgen data lineage for Snowflake.

Generation/Masking/Subsetting

Data Profilers

  • Data Profiler - The DataProfiler is a Python library designed to make data analysis, monitoring, and sensitive data detection easy.
  • Desbordante - An open-source data profiler specifically focused on discovery and validation of complex patterns in data.
  • YData Profiling - A general-purpose open-source data profiler for high-level analysis of a dataset.

Replication

Compare

Papers

Documents, articles, manifestos and other theoretical materials on database tools

  • [The "Database as Code" Manifesto](https://github.com/mgramin/database-as-code) - Treat your database as Code.
  • [Grokking Relational Database Design](https://www.manning.com/books/grokking-relational-database-design) - A friendly illustrated guide to designing and implementing your first database.

Machine Learning

Contributing

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?