citus
rqlite
Our great sponsors
citus | rqlite | |
---|---|---|
61 | 112 | |
9,677 | 14,760 | |
2.9% | 1.6% | |
9.5 | 9.9 | |
7 days ago | 8 days ago | |
C | Go | |
GNU Affero General Public License v3.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.
citus
- SPQR 1.3.0: a production-ready system for horizontal scaling of PostgreSQL
-
Figma's Databases team lived to tell the scale
I see they don't mention Citus (https://github.com/citusdata/citus), which is already a fairly mature native Postgres extension. From the details given in the article, in sounds like they just reimplemented it.
I wonder if they were unaware of it or disregarded it for a reason —I currently am in a similar situation as the one described in the blog, trying to shard a massive Postgres DB.
-
PostgreSQL Is Enough
It is possible, if you pay for it. You can do Multi-AZ Clustered Instances in RDS, where you get the benefits of Multi-AZ failover with traffic sharing.
If you can run your own infra – at least on an EC2 level – you can do things like Citus [0] for Postgres, which is about as close to "just add database nodes" as you'll get.
-
Vitess 18
So while searching for something like this for postgres I came across citus. Any one know how that stacks up?
- Squeeze the hell out of the system you have
- Show HN: Hydra 1.0 – open-source column-oriented Postgres
-
Citus 12: Schema-based sharding for PostgreSQL
Not really. It's comparable to a regular Postgres upgrade.
But you can screw it up - see https://github.com/citusdata/citus/discussions/6934
-
Opinions and Suggestions for PostgreSQL Extension under Development
What about getting in touch with commercial organisations that have products/services based on PostgreSQL? For example Timescale, EDB, and Citus Data, or really any hosting provider that offers a managed PostgreSQL service.
-
Ask HN: It's 2023, how do you choose between MySQL and Postgres?
Friends don't let their friends choose Mysql :)
A super long time ago (decades) when I was using Oracle regularly I had to make a decision on which way to go. Although Mysql then had the mindshare I thought that Postgres was more similar to Oracle, more standards compliant, and more of a real enterprise type of DB. The rumor was also that Postgres was heavier than MySQL. Too many horror stories of lost data (MyIsam), bad transactions (MyIsam lacks transaction integrity), and the number of Mysql gotchas being a really long list influenced me.
In time I actually found out that I had underestimated one of the most important attributes of Postgres that was a huge strength over Mysql: the power of community. Because Postgres has a really superb community that can be found on Libera Chat and elsewhere, and they are very willing to help out, I think Postgres has a huge advantage over Mysql. RhodiumToad [Andrew Gierth] https://github.com/RhodiumToad & davidfetter [David Fetter] https://www.linkedin.com/in/davidfetter are incredibly helpful folks.
I don't know that Postgres' licensing made a huge difference or not but my perception is that there are a ton of 3rd party products based on Postgres but customized to specific DB needs because of the more liberalness of the PG license which is MIT/BSD derived https://www.postgresql.org/about/licence/
Some of the PG based 3rd party DBs:
Enterprise DB https://www.enterprisedb.com/ - general purpose PG with some variants
Greenplum https://greenplum.org/ - Data warehousing
Crunchydata https://www.crunchydata.com/products/hardened-postgres - high security Postgres for regulated environments
Citus https://www.citusdata.com - Distributed DB & Columnar
Timescale https://www.timescale.com/
Why Choose PG today?
If you want better ACID: Postgres
If you want more compliant SQL: Postgres
If you want more customizability to a variety of use-cases: Postgres using a variant
If you want the flexibility of using NOSQL at times: Postgres
If you want more product knowledge reusability for other backend products: Postgres
-
Can someone share experience configuring Highly Available PgSQL?
Citus - Citus is very much alive and is a thriving open-source and commercial product, but is not HA on its own. It is essentially distributed/sharded Postgres.
rqlite
-
CursusDB – A new scalable distributed document oriented database
Seems like you could do the same with rqlite [1], since SQLite supports JSON.
[1]: https://rqlite.io
- I'm All-In on Server-Side SQLite
-
So, you want to deploy on the edge?
rqlite[1] creator here, happy to answer any questions. rqlite also supports read-only nodes, which can also help with reads at the "edge". It probably wouldn't scale to 100s of nodes, it is an option.
"rqlite supports adding read-only nodes. You can use this feature to add read scalability to the cluster if you need a high volume of reads, or want to distribute copies of the data nearer to clients – but don’t want those nodes counted towards the quorum. These types of nodes are also known as non-voting nodes."
- LiteFS Cloud: Distributed SQLite with Managed Backups
-
Latest Chat-GPT4 release (May 12th 2023) sure is buggy
result, opErr := db.executeStmtWithConn for the "executeStmt that you , you can manipulate the picture ', you ... i = t given, and it' . If, -212<|endoftext|>
[1] https://rqlite.io/
Yes, it's saved me hours of time -- with certain narrow tasks. For example, it generated these files for me:
https://github.com/rqlite/rqlite/blob/master/auto/backup/sum*
It took a few minutes, might have taken me 1+ hour of some research, and mechanically typing it all in.
-
Ask HN: It's 2023, how do you choose between MySQL and Postgres?
Just to point out, there are now SQLite replication and various "distributed database" projects which seem to work fairly well.
They're probably not as battle tested as the PostgreSQL ones, but they are around, have users, and are actively developed.
The ones I remember off the top of my head:
* https://github.com/rqlite/rqlite <-- more of a "distributed database using RAFT" type of thing
-
rqlite v7.15: the lightweight distributed database built on Go, Raft, and SQLite -- now with automatic backups to S3
Instead of running it as a separate rqlited, integrate it into an existing binary. I answered my own question by looking in https://github.com/rqlite/rqlite/blob/master/cmd/rqlited/main.go
-
Strong Consistency with Raft and SQLite
Is this somehow related to rqlite? https://rqlite.io/
The architecture is very similar.
What are some alternatives?
dqlite - Embeddable, replicated and fault-tolerant SQL engine.
Greenplum - Greenplum Database - Massively Parallel PostgreSQL for Analytics. An open-source massively parallel data platform for analytics, machine learning and AI.
yugabyte-db - YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
litestream - Streaming replication for SQLite.
cockroach - CockroachDB - the open source, cloud-native distributed SQL database.
bolt
etcd - Distributed reliable key-value store for the most critical data of a distributed system [Moved to: https://github.com/etcd-io/etcd]
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
groupcache - groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.