A MySQL compatible database engine written in pure Go

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. doltgresql

    DoltgreSQL - Version Controlled PostgreSQL

    > Why is Dolt MySQL flavored?

    TLDR; Because go-mysql-server existed.

    https://www.dolthub.com/blog/2022-03-28-have-postgres-want-d...

    We have a Postgres version of Dolt in the works called Doltgres.

    https://github.com/dolthub/doltgresql

    We might have a go-postgres-server package factored out eventually.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. go-mysql-server

    A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.

  4. tidb

    TiDB - the open-source, cloud-native, distributed SQL database designed for modern applications.

    tidb has been around for a while, it is distributed, written in Go and Rust, and MySQL compatible. https://github.com/pingcap/tidb

    Somewhat relatedly, StarRocks is also MySQL compatible, written in Java and C++, but it's tackling OLAP use-cases. https://github.com/StarRocks/starrocks

  5. starrocks

    The world's fastest open query engine for sub-second analytics both on and off the data lakehouse. With the flexibility to support nearly any scenario, StarRocks provides best-in-class performance for multi-dimensional analytics, real-time analytics, and ad-hoc queries. A Linux Foundation project.

    tidb has been around for a while, it is distributed, written in Go and Rust, and MySQL compatible. https://github.com/pingcap/tidb

    Somewhat relatedly, StarRocks is also MySQL compatible, written in Java and C++, but it's tackling OLAP use-cases. https://github.com/StarRocks/starrocks

  6. cockroach

    CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement.

    cockroachdb might be close: https://github.com/cockroachdb/cockroach

  7. dolt

    Dolt – Git for Data

    Hi, this is my project :)

    For us this package is most important as the query engine that powers Dolt:

    https://github.com/dolthub/dolt

    We aren't the original authors but have contributed the vast majority of its code at this point. Here's the origin story if you're interested:

    https://www.dolthub.com/blog/2020-05-04-adopting-go-mysql-se...

  8. vitess

    Vitess is a database clustering system for horizontal scaling of MySQL.

    With Vitess likely merging a lot of its binaries into a single unified binary: https://github.com/vitessio/vitess/issues/7471#issuecomment-...

    ... it would be a wild future if Vitess replaced the underlying MySQL engine with this as long as the performance is good enough.

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. garnet

    Garnet is a remote cache-store from Microsoft Research that offers strong performance (throughput and latency), scalability, storage, recovery, cluster sharding, key migration, and replication features. Garnet can work with existing Redis clients.

    You would be surprised by performance of modern .NET :)

    Writing no-alloc is oftentimes done by reducing complexity and not doing "stupid" tricks that actually work against JIT and CoreLib features.

    For databases specifically, .NET is actually positioned very well with its low-level features (intrisics incl. SIMD, FFI, struct generics though not entirely low-level) and high-throughput GC.

    Interesting example of this applied in practice is Garnet[0]/FASTER[1]. Keep in mind that its codebase still consist of un-idiomatic C# and you can do way better by further simplification, but it already does the job well enough.

    [0] https://github.com/microsoft/garnet

    [1] https://github.com/microsoft/FASTER

  11. FASTER

    Fast persistent recoverable log and key-value store + cache, in C# and C++.

    You would be surprised by performance of modern .NET :)

    Writing no-alloc is oftentimes done by reducing complexity and not doing "stupid" tricks that actually work against JIT and CoreLib features.

    For databases specifically, .NET is actually positioned very well with its low-level features (intrisics incl. SIMD, FFI, struct generics though not entirely low-level) and high-throughput GC.

    Interesting example of this applied in practice is Garnet[0]/FASTER[1]. Keep in mind that its codebase still consist of un-idiomatic C# and you can do way better by further simplification, but it already does the job well enough.

    [0] https://github.com/microsoft/garnet

    [1] https://github.com/microsoft/FASTER

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Leaving MySQL

    7 projects | news.ycombinator.com | 5 Dec 2021
  • CockroachDB has changed their license, again

    1 project | news.ycombinator.com | 18 Mar 2025
  • Show HN: RisingWave – Open-Source Real-Time Database for Stream&Batch with SQL

    1 project | news.ycombinator.com | 24 Feb 2025
  • Apache ShardingSphere: Effortless Database Scaling and Beyond!

    1 project | dev.to | 21 Feb 2025
  • RocksDB: Your Key-Value Store Powerhouse (and Why You Should Care)

    5 projects | dev.to | 16 Feb 2025