doltgresql
pREST
doltgresql | pREST | |
---|---|---|
5 | 15 | |
948 | 4,109 | |
12.0% | 1.1% | |
9.7 | 7.9 | |
about 17 hours ago | 16 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
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
pREST
- Need help connecting VueJS 3 UI to a database
- Postgres as Rest
-
pREST on YugabyteDB
In a previous post, I published an example with PostgREST on YugabyteDB. Here is another one: pREST opens a REST API to PostgreSQL. YugabyteDB is a PostgreSQL-compatible Open-Source Distributed SQL database. It adds horizontal scalability to applications built for PostgreSQL. Let's see how it integrates with pREST.
-
PostgREST – Serve a RESTful API from Any Postgres Database
Pretty sure I started with this: https://github.com/prest/prest/blob/main/cmd/root.go
And from there you can execute your own command and add handlers or other things as you wish.
-
Constant work to onboarding new members into engineering team
Improve local tests execution — it is frustrating that someone wants to contribute and cannot run the local tests (we use e2e tests, making requests to prestd's own API), a way was implemented where the tests run inside docker using docker-compose;
- pREST
- GitHub - prest/prest: pREST (PostgreSQL REST), low-code, simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
-
Accessing Postgres via REST using pRest
With pRest, it is possible to create a RESTFul API to access the contents of a Postgres database in a fast and straightforward way. The project, written in Go, can be found on its official website and Github.
-
When is the best time to share a "new" product?
View on GitHub
- pREST (PostgreSQL REST), simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
What are some alternatives?
usql - Universal command-line interface for SQL databases
InfluxDB - Scalable datastore for metrics, events, and real-time analytics
SQLBoiler - Generate a Go ORM tailored to your database schema.
go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
dolt - Dolt – Git for Data
go-mysql - a powerful mysql toolset with Go
goose - A database migration tool. Supports SQL migrations and Go functions.
diskv - A disk-backed key-value store.
FerretDB - A truly Open Source MongoDB alternative
pgweb - Cross-platform client for PostgreSQL databases
bytebase - The GitHub/GitLab for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.
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