zlacker

[return to "Do you really need Redis? How to get away with just PostgreSQL"]
1. hardwa+je[view] [source] 2021-06-12 09:45:19
>>hyzyla+(OP)
A blog post series I've been meaning to write for over 3 years now:

* Every database a Postgres 1: Key/Value store

* Every database a Postgres 2: Document stores

* Every database a Postgres 3: Logs (Kafka-esque)

* Every database a Postgres 4: Timeseries

* Every database a Postgres 5: Full Text Search

* Every database a Postgres 6: Message Queues

Low key, you could make almost every single type of database a modern startup needs out of Postgres, and get the benefits (and drawbacks) of Postgres everywhere.

Should you do it? Probably not. Is it good enough for a theoretical ~70% of the startups out there who really don't shuffle around too much data or need to pretend to do any hyper scaling? Maybe.

If anyone from 2ndQuadrant/Citus/EDB see this, please do a series like this, make the solutions open source, and I bet we'd get some pretty decent performance out of Postgres compared to the purpose built solutions (remember, TimescaleDB did amazing compared to InfluxDB, a purpose built tool, not too long ago).

New features like custom table access methods and stuff also shift the capabilities of Postgres a ton. I'm fairly certain I could write a table access method that "just" allocated some memory and gave it to a redis subprocess (or even a compiled-in version) to use.

[EDIT] - It's not clear but the listing is in emacs org mode, those bullet points are expandable and I have tons of notes in each one of these (ex. time series has lots of activity in postgres -- TimescaleDB, native partitioning, Citus, etc). Unfortunately the first bullet point is 43 (!) bullet points down. If someone wants to fund my yak shaving reach out, otherwise someone signal boost this to 2Q/Citus/EDB so professionals can take a stab at it.

[EDIT2] - I forgot some, Postgres actually has:

- Graph support, w/ AgensGraph now known as AGE[0]

- OLAP workloads with Citus Columnar[1] (and zedstore[2]).

[0]: https://age.apache.org

[1]: https://www.citusdata.com/blog/2021/03/05/citus-10-release-o...

[2]: https://github.com/greenplum-db/postgres/tree/zedstore

◧◩
2. rkwz+gf[view] [source] 2021-06-12 09:56:53
>>hardwa+je
> Should you do it? Probably not. Is it good enough for a theoretical ~70% of the startups out there who really don't shuffle around too much data or need to pretend to do any hyper scaling? Maybe.

It's also useful when you want to quickly build a "good enough" version of a feature like search so you can get it in front of your users fast and iterate on their feedback. Most of the time, they'd be quite happy with the results and you don't have to spend time on something like managing Elasticsearch.

I wrote a post on how you can use postgres to add search capabilities with support for queries like

jaguar speed -car

ipad OR iphone

"chocolate chip" recipe

http://www.sheshbabu.com/posts/minimal-viable-search-using-p...

[go to top]