zombodb
pgx
zombodb | pgx | |
---|---|---|
23 | 19 | |
4,608 | 2,376 | |
- | - | |
8.3 | 9.6 | |
25 days ago | about 1 year ago | |
PLpgSQL | Rust | |
GNU General Public License v3.0 or later | 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.
zombodb
-
Introducing pgzx: create PostgreSQL extensions using Zig
And lots of interesting extensions use it, like
https://github.com/tembo-io/pgmq
https://github.com/zombodb/zombodb
https://github.com/supabase/pg_jsonschema
-
Create a search engine with PostgreSQL: Postgres vs Elasticsearch
Point 2 is generally solvable via engineering effort and careful dedicated code. From the existing tools, PGSync is an open source project that aims to specifically solve this problem. ZomboDB is an interesting Postgres extension that tackles point 2 (and I think partially point 3), by controlling and querying Elasticsearch through Postgres. I haven't yet tried either of these two projects, so I can't comment on their trade-offs, but I wanted to mention them.
-
Creating an advanced search engine with PostgreSQL
Curious, did you try zombodb? [https://www.zombodb.com/]
-
šš¼ Quickwit 0.6 released!šŗš¼: Elasticsearch API compatibility, Grafana plugin, and more....
What about zombodb, do you think that quickwit has all the necessary APIs?
-
Write Postgres functions in Rust
No. Haha. Was just the right name for https://github.com/zombodb/zombodb at the time. Software where the only limit is yourself!
- Integrate PostgreSQL and Elasticsearch ā ZomboDB
- Postgres Full Text Search vs. the Rest
- ZomboDB: Making Postgres and Elasticsearch work together like it's 2022
-
Postgres Full-Text Search: A Search Engine in a Database
> The hardest part of building any search engine is keeping the index up-to-date with changes made to the underlying data store.
This deserves mention, as it solves that problem: https://github.com/zombodb/zombodb
From the README:
> ZomboDB brings powerful text-search and analytics features to Postgres by using Elasticsearch as an index type. Its comprehensive query language and SQL functions enable new and creative ways to query your relational data.
> From a technical perspective, ZomboDB is a 100% native Postgres extension that implements Postgres' Index Access Method API. As a native Postgres index type, ZomboDB allows you to CREATE INDEX ... USING zombodb on your existing Postgres tables. At that point, ZomboDB takes over and fully manages the remote Elasticsearch index and guarantees transactionally-correct text-search query results.
I find other things also hard in search engines: dealing with the plethora of human languages and all the requirements we may have to processing them. A mature solution like ES therefor is almost a must in the more demanding cases.
-
State of the art for serde-compatible CBOR encoding/decoding?
You can read more about it on our GitHub repo, but basically it brings most of the power of elasticsearchās searching and analytics abilities straight into Postgres.
pgx
-
Write Postgres functions in Rust
It uses pgx (https://github.com/tcdi/pgx) which is our more generalized framework for developing Postgres extensions with Rust.
-
Why not Rust for Omnigres?
It's a great question, considering I've been using Rust for a number of years now, and I generally advocate its use for its rich ecosystem, safety and tooling. I actively contribute to pgx, a library for building Postgres extensions in Rust. Yet, Omnigres appears to be all done in C.
-
Supabase Wrappers: A Framework for Building Postgres Foreign Data Wrappers
Our release today is a framework which extends this functionality to other databases/systems. If youāre familiar with Multicorn[1] or Steampipe[2], then itās very similar. The framework is written in Rust, using the excellent pgx[3].
We have developed FDWs for Stripe, Firebase, BigQuery, Clickhouse, and Airtable (all in various āpre-releaseā states). The plan is to focus on the tools weāre using internally while we stabalize the framework.
Thereās a lot in the blog post into our goals for this release. Itās early, but one of the things Iām most excited about.
[0] Postgres FDW: [https://www.postgresql.org/docs/current/sql-createforeigndat...
[1] Multicorn: https://multicorn.org/
[2] Steampipe: https://steampipe.io/
[2] pgx: [https://github.com/tcdi/pgx](https://github.com/tcdi/pgx)
- Apache Age, a PostgreSQL Extension with Graph Database Functionality
-
Postgres FTS vs the new wave of search engines
BTW one nice easter egg is that with pgx there is actually no reason that we can't build even better search solutions inside the database itself.
-
Postgres Full Text Search vs. the Rest
> That thread led me to a project/product idea where you take an existing Postgres instance used for normal products or whatever, replicate it to various read only clusters with a custom search extension loaded and some orchestrator sitting on top (Iāve written most of one in rust that uses 0mq to communicate with itās nodes) and create drop in search from existing databases with a nice guided web gui for automatic tuning suitable for most business use cases.
Very interesting idea -- just want to add one thing, write it in rust (with pgx?[0]) :)
[0]: https://github.com/tcdi/pgx
-
Show HN: pg_idkit, a Postgres extension for generating exotic UUIDs
Hey HN,
It turns out choosing a good database-optimized UUID (and deciding whether to use serial, etc) isn't quite so simple, and I finally got a chance to do some exploration, write about it[0].
One of the reasons Postgres is the best open source database out there is it's extensibility -- so I hacked up a small extension for generating some of the more exotic (but crucially, lexicograhically sortable) UUID generation mechanisms:
https://github.com/t3hmrman/pg_idkit
This idea has been bumbling around my head for a while, but I finally got a chance to build it while working with Supabase on a post about IDs[0]!
Most of the heavy lifting is done by pgx[1] which is an amazing framework for building Postgres extensions in Rust. I think we are very early to the trend of amazing postgres extensions built in Rust, and it's yet another reason that it's an exciting time to be all-in on Postgres.
[0]: https://supabase.com/blog/choosing-a-postgres-primary-key
[1]: https://github.com/tcdi/pgx
[0]: https://supabase.com/blog/choosing-a-postgres-primary-key
-
Introducing pg_idkit: an extension for generating lexicographically sortable UUIDs (UUIDv6-8, CUID, Timeflake) in Postgres
The extension is still WIP but for those of ya'll that like Rust it's built on pgx which has excellent DX. The rust involved isn't complicated -- I'm basically laundering the functionality from other crates that are listed in the README.md.
-
GitHub - supabase/pg_jsonschema: PostgreSQL extension providing JSON Schema validation
Seems to be using this: https://github.com/tcdi/pgx
-
Show HN: Pg_jsonschema ā A Postgres extension for JSON validation
- https://github.com/furstenheim/is_jsonb_valid
pgx[0] is going to be pretty revolutionary for the postgres ecosystem I think -- there is so much functionality that can be utilized at the database level and I can't think of a language I want to do it with more than Rust.
[0]: https://github.com/tcdi/pgx
What are some alternatives?
pg_search - pg_search builds ActiveRecord named scopes that take advantage of PostgreSQLās full text search
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
Typesense - Open Source alternative to Algolia + Pinecone and an Easier-to-Use alternative to ElasticSearch ā” š āØ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences
code - Source code for the book Rust in Action
noria - Fast web applications through dynamic, partially-stateful dataflow
bevy - A refreshingly simple data-driven game engine built in Rust
squawk - š linter for PostgreSQL, focused on migrations
postgrest - REST API for any Postgres database
stolon - PostgreSQL cloud native High Availability and more.
supabase-graphql-example - A HackerNews-like clone built with Supabase and pg_graphql
helium-etl-queries - A collection of SQL views used to enrich data produced by a Helium blockchain-etl
feophant - A PostgreSQL inspired SQL database written in Rust.