doltgresql
FerretDB
doltgresql | FerretDB | |
---|---|---|
5 | 43 | |
948 | 8,577 | |
12.0% | 1.7% | |
9.7 | 9.8 | |
1 day ago | 8 days ago | |
Go | 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.
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
FerretDB
-
Figma's Databases team lived to tell the scale
if you have postgres, just use https://github.com/FerretDB/FerretDB
-
NoSQL Postgres: Add MongoDB compatibility to your Supabase projects with FerretDB
FerretDB is an open source document database that adds MongoDB compatibility to other database backends, such as Postgres and SQLite. By using FerretDB, developers can access familiar MongoDB features and tools using the same syntax and commands for many of their use cases.
- FerretDB – Run Mongo over your Postgres instance
-
MongoDB’s New Query Engine
There is FerretDB. But they are not fully compatible to Mongo yet.
https://www.ferretdb.io/
- FerretDB: MongoDB Protocol for SQLite
-
Show HN: MongoDB Protocol for SQLite
Feature parity progress with apps:
https://github.com/FerretDB/FerretDB/issues/5
I presume, that after there is feature parity, then someone could run some benchmarks.
-
Please do not require AVX support for your software
Yep that's serious issue and it's similar to our case. Our main product can work just fine even without SSE 4.2 but MongoDB requires it and then indirectly leads to AVX1 support as we use MongoDB as storage. We did PoC with FerretDB last month and I think it may be good option for Gerylog: https://www.ferretdb.io
-
Chat-UI, the codebase of HuggingChat, is open sourced
Shout out to FerretDB, which is an in progress open source re-implementation of MongoDB atop PostgreSQL.
https://github.com/FerretDB/FerretDB
- FerretDB: A truly Open Source MongoDB alternative, built on Postgres
What are some alternatives?
pREST - PostgreSQL ➕ REST, low-code, simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
MangoDB - A truly Open Source MongoDB alternative [Moved to: https://github.com/FerretDB/FerretDB]
usql - Universal command-line interface for SQL databases
mangodb - A database that operates at CLOUD SCALE
SQLBoiler - Generate a Go ORM tailored to your database schema.
couchdb-best-practices - Collect best practices around the CouchDB universe.
dolt - Dolt – Git for Data
server - ToroDB Server is an open source NoSQL database that runs on top of a RDBMS. Compatible with MongoDB protocol and APIs, but with support for native SQL, atomic operations and reliable and durable backends like PostgreSQL
goose - A database migration tool. Supports SQL migrations and Go functions.
badger - Fast key-value DB in Go.
bytebase - The GitHub/GitLab for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.
p2p - 🖥️ P2P Remote Desktop - Portable, No Configuration or Installation Needed.