pg_squeeze
vitess
Our great sponsors
pg_squeeze | vitess | |
---|---|---|
2 | 60 | |
401 | 17,834 | |
2.5% | 1.6% | |
8.3 | 9.9 | |
about 2 months ago | 5 days ago | |
C | Go | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
pg_squeeze
- Pg_squeeze: An extension to fix table bloat
-
PlanetScale Is Now GA
> I am estimating that your database space isn't MySQL, which is just fine of course.
You are absolutely right :) My background is strongly on Postgres, you can see from my profile more information if you want to.
So yes, I apologize if some of my questions are not applying or become to obvious for cases that are MySQL-based. But for the most part, I believe principles of operation are the same.
> [other comments]
As mentioned, thank you very much for the detailed information. This completes the picture that I was looking for. I will definitely go in more detail for some of the links provided.
This principle of operation is not too different from something I proposed to a Postgres project some time ago (https://github.com/cybertec-postgresql/pg_squeeze/issues/18). This tool indeed is conceptually pretty similar. It's a shame that supporting schema changes is not part of their focus at this point. It wouldn't do throttling either, but it shouldn't be a difficult feature to add, I guess.
For other users here that may be interested in the Postgres world, there are two tools that perform similar operation (creating a shadow table and filling it in the background), but are both focused on rewriting the table to avoid bloat, rather than for doing a schema migration:
* pg_repack (https://reorg.github.io/pg_repack/): the most used one, relies on triggers
vitess
-
A MySQL compatible database engine written in pure Go
With Vitess likely merging a lot of its binaries into a single unified binary: https://github.com/vitessio/vitess/issues/7471#issuecomment-...
... it would be a wild future if Vitess replaced the underlying MySQL engine with this as long as the performance is good enough.
-
The challenges of supporting foreign key constraints
Thank you for the compliment!
We recently started adding support for CTEs in Vitess! You can check out https://github.com/vitessio/vitess/pull/14321 if you want to see some technical details of the implementation.
For now, we have added preliminary support by converting them to derived tables internally, but we believe that we need to make CTEs first-class citizens themselves of query planning. Once we make that change, we can look towards supporting recursive CTEs.
This however will take some time, but then, all good things do!
-
Vitess 18
Why would it be a Google project? https://github.com/vitessio/vitess
-
PlanetScale Scaler Pro
This is great news. I strolled around https://github.com/vitessio/vitess/issues/12967.
Are there any public discussions of more trade-offs vitess has to make to enable fks?
-
What is the best database technology to use to create a new chat app today?
MySQL + Vitess I noticed Slack gets by using MySQL because they're using Vites. From Slack's post (https://slack.engineering/scaling-datastores-at-slack-with-vitess/) it seems like they choose Vites because it facilitated a smooth transition because it's built on top of MySQL.
- Vitess – Scalable. Reliable. MySQL-Compatible. Cloud-Native. Database
-
How can I avoid duplicate API calls in a serverless infra?
This sounds very similar to the connection pooling done by vitess https://vitess.io/.
-
Scaling Databases at Activision [pdf]
https://github.com/vitessio/vitess/issues/12967
-
Want to avoid MySQL but find PlanetScale really appealing
A lot of this is possible thanks to the magic of Vitess.
-
Vitess 16
"Vitess is a database clustering system for horizontal scaling of MySQL."
https://github.com/vitessio/vitess
What are some alternatives?
gh-ost - GitHub's Online Schema-migration Tool for MySQL
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
cstore_fdw - Columnar storage extension for Postgres built as a foreign data wrapper. Check out https://github.com/citusdata/citus for a modernized columnar storage implementation built as a table access method.
supabase - The open source Firebase alternative.
tengo - Go La Tengo: a MySQL automation library
cockroach - CockroachDB - the open source, cloud-native distributed SQL database.
citus - Distributed PostgreSQL as an extension
go-mysql-elasticsearch - Sync MySQL data into elasticsearch
kingshard - A high-performance MySQL proxy
Tile38 - Real-time Geospatial and Geofencing
migrate - Database migrations. CLI and Golang library.
orchestrator - MySQL replication topology manager/visualizer