back
user profile
levkk
2,541karma·349submissions·February 9, 2022
about
Sharding Postgres. <https://pgdog.dev>
lev@pgdog.dev
recent activity (349 total)
comment
Replace it with a function that makes sure the id coming out matches the sharding schema. Assuming it's coming from a sequence, we're consuming it until we get a matching number. It would be…
comment
The goal for this project is to be analogous to Vitess for Postgres.
comment
No worries. It's early days, the code and docs are just a few months in the making. I'm happy to keep you updated on the progress. If you want, send your contact info to hi@pgdog.dev. - Lev…
comment
Aggregates are a work in progress. We're going to implement them in this order: 1. count 2. max, min, sum 3. avg (needs a query rewrite to include count) Eventually, we'll do all of these: …
comment
I was thinking of the Instagram post years ago. And maybe the Instacart one.
comment
We actually found Aurora to be about 3x slower than community PG for small queries. That was back then, maybe things are better now. Migrating to another database (and Aurora is Postgres-compatible, i…
comment
We use the Postgres parser directly, thanks to the great work of pg_query [1]. [1] https://github.com/pganalyze/pg_query.rs …
comment
I'm glad you brought up the migration, because one of the main goals behind our project is to automate migrating to a sharded deployment. You can think of your DB as the base case (num_shards = 1…
comment
We certainly have a way to go to support all cross-shard use cases, especially complex aggregates (like percentiles). In OLTP, where PgDog will focus on first, it's good to have a sharding key a…
comment
Great question and we will publish something for this later on. TLDR: Citus doesn't provide an easy migration path for existing DBs and the managed deployments are pretty much exclusive to Azure.…
comment
It's not. We tried. Plus, it doesn't work on RDS, where most of production databases are. I think Citus was a great first step in the right direction, but it's time to scale the 99% of …
comment
We care, we just can't spend the resources self-hosting business critical infrastructure. It'll break, get AI-DoSed, or will have an expired cert. It's a boring and risky problem to sol…
comment
For a programming language that makes unused variables a compiler error, I'm surprised there is no clippy/rubocop/black/cargo fmt/clang fmt built-in.
comment
What remains to be seen if your venture (and others like it) will translate into hundreds of billions of new economy. That was the effect of the iPhone, cloud, and Google Search (analogies used in the…
comment
If my Android (or IPhone) disappeared tomorrow, I would feel like I time traveled back a century. If Google search was gone, I wouldn't be able to do my job anymore. If the cloud disappeared, I w…
comment
TIL. Thanks!
comment
You just need to quote your identifiers with double quotes, e.g.: SELECT * FROM "MyTable"
You can even use reserved SQL keywords in table/column names as long as they are doubl…
comment
It does not require that you do that. It only requires you to open source any modifications you've made to ffmpeg.
comment
Hesitating to put this because it's not related to the topic at hand, but I find monospace font for blogs hard on my eyes. I think I'm getting old, but Arial (and other sans-serifs) are easi…
comment
You don't have to finish them, but you should share them anyway. Software is never finished, so hitting the state where you're happy with what you've built isn't likely to happen. …
comment
No Man's Sky is kind of what you're looking for, except you may notice its quests (and worlds) become redundant quickly...I say quickly, but that became the case for me after like 30 hours o…
comment
Reddit works just fine. Where there is a will, there is a way. I do believe (without proof) that incentives for Google are misaligned here.
comment
My main concern with application-defined schemas is that this schema is validated by the wrong system. The database is the authority on what the schema is; all other layers in your application make as…
comment
I think rwf is easier to use, but it's not my place to make this argument. Try them both out and let me know which one you like best!