starrocks
go-mysql-server
starrocks | go-mysql-server | |
---|---|---|
12 | 23 | |
7,789 | 2,191 | |
2.6% | 37.7% | |
10.0 | 9.9 | |
6 days ago | 6 days ago | |
Java | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
starrocks
-
A MySQL compatible database engine written in pure Go
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
- StarRocks – sub-second MPP OLAP database for full analytics scenarios
-
Let's Talk about Joins
I think you're talking about doing denormalization before importing data into an OLAP system to avoid subsequent joins. However, this greatly limits the flexibility of data modeling. Moreover, denormalization can be a headache-inducing process. In fact, I have tested StarRocks (https://github.com/StarRocks/starrocks), and it is capable of performing joins while streaming data imports, and the speed is very fast. It's worth giving it a try.
-
Ask HN: Are there any notable Chinese FLOSS projects?
https://github.com/apache/doris Is a great example. Same for it's cousin https://github.com/StarRocks/starrocks that was an early fork of the doris project.
To be fair, these are the only examples I can think of and I only learned of these as I'm standing up new data infra using starrocks.
-
Open Source Columnar Databases
ClickHouseClickHouse and Starrocks are similar. They are both columnar databases powered by vectorization tech, which means they are really fast.
-
Ask HN: Do you use any software (mainly) developed in China?
StarRocks, it’s a Linux Foundation project now, but a lot of the initial team and community behind it came from China.
https://github.com/StarRocks/starrocks
Funny that I hadn’t heard of them in the database space till they showed up at the top of ClickBench. Makes me wonder what other interesting projects I’m missing out on in China.
- Anyone using StarRocks DB instead of ClickHouse?
-
Show HN: A benchmark for analytical databases (Snowflake, Druid, Redshift)
Full disclosure - I work for StarRocks (starrocks.com)
First of all, this is great. Transparent and healthy competition is always great for the customers!
Regarding the joined table queries that are missing in the tests, this is exactly why we built StarRocks - to give people the best performance of complex analytics queries on both joined tables and single tables.
I encourage you to checkout this blog: https://starrocks.medium.com/starrocks-outperforms-clickhous...
And, give us a star if you think we are doing the right thing: https://github.com/StarRocks/starrocks
Follow us on LinkedIn for the latest updates: https://www.linkedin.com/company/starrocks
- We are looking for a very fast database for big data analysis, does anyone know about starrocks, I heard it is very fast
- wow, i found a super fast database for Big Data analytics,it's called StarRocks,come and take a look!
go-mysql-server
- A MySQL compatible database engine written in pure Go
-
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)
- A Golang library and interface that allows querying anything with SQL
-
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
What are some alternatives?
ClickBench - ClickBench: a Benchmark For Analytical Databases
vitess-sqlparser - simply SQL Parser for Go ( powered by vitess and TiDB )
doris - Apache Doris is an easy-to-use, high performance and unified analytics database.
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.
duckdb - DuckDB is an in-process SQL OLAP Database Management System
sqlite-parser - JavaScript implentation of SQLite 3 query parser
TablePlus - TablePlus macOS issue tracker
grammars-v4 - Grammars written for ANTLR v4; expectation that the grammars are free of actions.
clickhouse-bulk - Collects many small inserts to ClickHouse and send in big inserts
zetasql - ZetaSQL - Analyzer Framework for SQL
LakeSoul - LakeSoul is an end-to-end, realtime and cloud native Lakehouse framework with fast data ingestion, concurrent update and incremental data analytics on cloud storages for both BI and AI applications.
lakeFS - lakeFS - Data version control for your data lake | Git for data