doltgresql
cockroach
doltgresql | cockroach | |
---|---|---|
5 | 100 | |
948 | 29,191 | |
12.0% | 1.0% | |
9.7 | 10.0 | |
1 day ago | 1 day ago | |
Go | Go | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
doltgresql
-
A MySQL compatible database engine written in pure Go
PostgreSQL support here
https://github.com/dolthub/doltgresql
Background and architecture discussion here
https://dolthub.com/blog/2023-11-01-announcing-doltgresql/
-
Postgres is eating the database world
We're writing a postgres-compatible database that doesn't use any postgres code:
https://github.com/dolthub/doltgresql/
We're doing this because our main product (Dolt) is MySQL-compatible, but a lot of people prefer postgres. Like, they really strongly prefer postgres. When figuring out how to support them, we basically had three options:
1) Foreign data wrapper. This doesn't work well because you can't use non-native stored procedure calls, which are used heavily throughout our product (e.g. CALL DOLT_COMMIT('-m', 'changes'), CALL DOLT_BRANCH('newBranch')). We would have had to invent a new UX surface area for the product just to support Postgres.
2) Fork postgres, write our own storage layer and parser extensions, etc. Definitely doable, but it would mean porting our existing Go codebase to C, and not being able to share code with Dolt as development continues. Or else rewriting Dolt in C, throwing out the last 5 years of work. Or doing something very complicated and difficult to use a golang library from C code.
3) Emulation. Keep Dolt's Go codebase and query engine and build a Postgres layer on top of it to support the syntax, wire protocol, types, functions, etc.
Ultimately we went with the emulation approach as the least bad option, but it's an uphill climb to get to enough postgres support to be worth using. Our main effort right now is getting all of postgres's types working.
-
Show HN: Dera – A platform to manage chunks and embeddings for building RAG apps
Very cool. I wonder when it makes sense to engineer things at this level vs using something like Azure AI search. [0]
Love to see version control on all the things! Wonder if the version control features would be more robust if implemented in Doltgres.
[0] https://azure.microsoft.com/en-us/products/ai-services/ai-se...
[1] https://github.com/dolthub/doltgresql
- Show HN: DoltgreSQL – Version-Controlled Database, Like Git and PostgreSQL
cockroach
-
11 Planetscale alternatives with free tiers
CockroachDB is an open source distributed SQL database designed for scalability and resilience. While it offers SQL databases, CockroachDB is also compatible with PostgreSQL.
-
A MySQL compatible database engine written in pure Go
cockroachdb might be close: https://github.com/cockroachdb/cockroach
-
No More Free Tier on PlanetScale, Here Are Free Alternatives
CockroachDB - SQL
-
Is it bad to create a publicly accessible RDS database for my serverless web app?
For example, when you create a serverless postgres database with a platform like CockroachDB or Neon, you effectively get a connection string with a strong password. Anyone can connect to your database from anywhere so long as they have the right connection string. There are no security settings in these services to change this behavior.
-
Linux surpasses the Mac among Steam gamers
> Yes you can on the android emulator. The biggest issue is compu arch in that case.
I can also download VirtualBox and run all Windows programs, that would mean that all Windows apps are Linux apps?
> Yes you can for the most part
You can't statically link glibc: https://github.com/cockroachdb/cockroach/issues/3392
glibc can break stuff: https://www.gamingonlinux.com/2022/08/valve-dev-understandab...
I had binaries break because the newer version if openssl was put under a slightly different name.
-
How do small SaaS's handle databases?
Also, worth noting, if you're already using PostgreSQL (or plan to) you might want to take a look at https://www.cockroachlabs.com/ they have a free tier too and CockroachDB has a PostgreSQL interface.
-
Go Dependency management in large company projects - How do you do it?
I know that some projects like cockroach use custom build tools like bazel. But we actually really like to use to be able to build our projects simply with the great go toolchain and don't really aim to dive deep into custom build solutions.
-
Eli5: Why do companies use the products of Oracle to store information, when they can just use spreadsheets like Excel, or make their own spreadsheet software?
CockroachDB is designed to be globally distributed. It has to handle causality when resolving collisions. It has to account for having a write operation to arrive after another and still have time priority because it was sent out a few milliseconds earlier.
-
rage - a minimalistic load testing tool
Cockroachdb created a go runtime patch which measures the Grunning time of a goroutine: https://github.com/cockroachdb/cockroach/pull/82356. It doesn't entirely solve the problem though.
-
Data Engineering Tools in Go
Our entire backend is written in Go. We've built a platform that allows other companies to offer automatic data syncing to their customers' data warehouses. Go works great for building distributed systems like this (see K8s). We're not the only ones in the space building data intensive applications with Go. Pachyderm, Pinecone, Cockroach Labs and are all also doing it. We've been quite happy with how Go has worked for us.
What are some alternatives?
pREST - PostgreSQL ➕ REST, low-code, simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
neon - Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, branching, and bottomless storage.
usql - Universal command-line interface for SQL databases
vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
SQLBoiler - Generate a Go ORM tailored to your database schema.
tidb - TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial
dolt - Dolt – Git for Data
Trino - Official repository of Trino, the distributed SQL query engine for big data, former
goose - A database migration tool. Supports SQL migrations and Go functions.
yugabyte-db - YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
FerretDB - A truly Open Source MongoDB alternative
InfluxDB - Scalable datastore for metrics, events, and real-time analytics