stolon
zombodb
Our great sponsors
stolon | zombodb | |
---|---|---|
6 | 18 | |
4,127 | 4,299 | |
1.9% | - | |
0.0 | 7.4 | |
28 days ago | 4 days ago | |
Go | PLpgSQL | |
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.
stolon
zombodb
- Postgres Full Text Search vs. the Rest
-
Postgres Full-Text Search: A Search Engine in a Database
Among other things in that thread, there's some discussion of aspects of ZomboDB with its developer.
(From the project's website[0], ZomboDB is a Postgres extension that enables efficient full-text searching via the use of indexes backed by Elasticsearch.
Lots more info in readme at the project's github[1]).
> 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.
If your search needs outgrow Postgres' native search engine, you can use Postgres search with an ElasticSearch backend, using Zombo
https://github.com/zombodb/zombodb
It basically gives you a new kind of index (create index .. using zombodb(..) ..)
Zombo does at least promise to handle "complex reindexing processes" for you (which IME can be very painful) but yeah, I assume you'd still have to deal with shard rebalancing, hardware issues, network failures or latency between postgres and elastic, etc etc.
The performance and cost implications of Zombo are more salient tradeoffs in my mind – if you want to index one of the main tables in your app, you'll have to wait for a network roundtrip and a multi-node write consensus on every update (~150ms or more[0]), you can't `CREATE INDEX CONCURRENTLY`, etc.
All that said, IMO the fact that Zombo exists makes it easier to pitch "hey lets just build search with postgres for now and if we ever need ES's features, we can easily port it to Zombo without rearchitecting our product".
-
State of the art for serde-compatible CBOR encoding/decoding?
Hi there! My name is Eric Ridge. I'm the developer behind ZomboDB (https://github.com/zombodb/zombodb). It's a rust-based system for creating indexes in Postgres backed by Elasticsearch.
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.
-
Databases in 2021: A Year in Review
Not affiliated, but for anyone looking to do searches on data stored primarily in Postgres via Elastic, ZomboDB is pretty slick.
ZomboDB is a Postgres extension that enables efficient full-text searching via the use of indexes backed by Elasticsearch. https://github.com/zombodb/zombodb#readme
- PostgreSQL 14 Released
- What is the future of databases?
What are some alternatives?
patroni - A template for PostgreSQL High Availability with Etcd, Consul, ZooKeeper, or Kubernetes
pg_search - pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL’s full text search
postgres - 🐘 Run PostgreSQL in Kubernetes
noria - Fast web applications through dynamic, partially-stateful dataflow
citus - Distributed PostgreSQL as an extension
remco - remco is a lightweight configuration management tool
Typesense - Open Source alternative to Algolia and an Easier-to-Use alternative to ElasticSearch ⚡ 🔍 ✨ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences
helium-etl-queries - A collection of SQL views used to enrich data produced by a Helium blockchain-etl
crunchy-proxy - PostgreSQL Connection Proxy by Crunchy Data (beta)
squawk - 🐘 linter for PostgreSQL, focused on migrations
absurd-sql - sqlite3 in ur indexeddb (hopefully a better backend soon)
mysql-live-select - NPM Package to provide events on updated MySQL SELECT result sets