Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Go-mysql-server Alternatives
Similar projects and alternatives to go-mysql-server
-
alasql
AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL). Export, store, and import data from localStorage, IndexedDB, or Excel.
-
vitess-sqlparser
simply SQL Parser for Go ( powered by vitess and TiDB )
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
grammars-v4
Grammars written for ANTLR v4; expectation that the grammars are free of actions.
-
sqlite-parser
Discontinued JavaScript implentation of SQLite 3 query parser
-
-
JSqlParser
JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
-
-
vitess
Vitess is a database clustering system for horizontal scaling of MySQL.
-
-
materialize
The data warehouse for operational workloads. (by MaterializeInc)
-
sgr
sgr (command line client for Splitgraph) and the splitgraph Python library
-
-
-
btree
BTree provides a simple, ordered, in-memory data structure for Go programs.
-
mergestat-lite
Query git repositories with SQL. Generate reports, perform status checks, analyze codebases. 🔍 📊
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
go-mysql-server reviews and mentions
-
What I Talk About When I Talk About Query Optimizer (Part 1): IR Design
We implemented a query optimizer with a flexible intermediate representation in pure Go:
https://github.com/dolthub/go-mysql-server
Getting the IR correct so that it's both easy to use and flexible enough to be useful is a really interesting design challenge. Our primary abstraction in the query plan is called a Node, and is way more general than the IR type described in the article from OP. This has probably hurt us: we only recently separated the responsibility to fetch rows into its own part of the runtime, out of the IR -- originally row fetching was coupled to the Node type directly.
This is also the query engine that Dolt uses:
https://github.com/dolthub/dolt
But it has a plug-in architecture, so you can use the engine on any data source that implements a handful of Go interface.
-
I created an in-memory SQL database called MemSQL as a learning project
Might be interested in https://github.com/dolthub/go-mysql-server, which also does this
-
Implementing the MySQL server protocol for fun and profit
https://github.com/dolthub/go-mysql-server
One item under "Scope of this project":
Provide a runnable server speaking the MySQL wire protocol, connected to data sources of your choice.
- MySQL-mimic - Python implementation of the MySQL server wire protocol.
- Parsing SQL
-
Litetree – SQLite with Branches
I just wanted to say thanks for https://github.com/dolthub/go-mysql-server
This is incredibly useful for anyone who wants to build their own DB or wrap another datasource so it's queryable via MySQL protocol.
-
Dolt Is Git for Data
a very cool project they also maintain is a MySQL server framework for arbitrary backends (in Go): https://github.com/dolthub/go-mysql-server
You can define a "virtual" table (schema, how to retrieve rows/columns) and then a MySQL client can connect and execute arbitrary queries on your table (which could just be an API or other source)
-
The world of PostgreSQL wire compatibility
Thanks for this write up! I've been really interested in postgres compatibility in the context of a tool I maintain (https://github.com/mergestat/mergestat) that uses SQLite. I've been looking for a way to expose the SQLite capabilities over a more commonly used wire-protocol like postgres (or mysql) so that existing BI and visualization tools can access the data.
This project is an interesting one: https://github.com/dolthub/go-mysql-server that provides a MySQL interface (wire and SQL) to arbitrary "backends" implemented in go.
It's really interesting how compatibility with existing protocols has become an important feature of new databases - there's so much existing tooling that already speaks postgres (or mysql), being able to leverage that is a huge advantage IMO
- calling Format() on a time struct in a golang program changes the default Location's timezone information in the rest of the program
-
A note from our sponsor - InfluxDB
www.influxdata.com | 28 Mar 2024
Stats
dolthub/go-mysql-server is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of go-mysql-server is Go.