3 ms·
I wonder how this compares to e.g. Citus with some triggers and RLS on top. As this does regional accesses of shared and modifiable data, does Nile implement o
by mattashii 3y ago
I wonder how this compares to e.g. Citus with some triggers and RLS on top.
As this does regional accesses of shared and modifiable data, does Nile implement or guarantee snapshot consistency for cross-shard queries? Citus doesn't have this yet, iirc.
From the docs, I assume Nile does something like the following:
- "smart partitioning" of tables on tenant_id when tenant_id is detected on table creation. These partitions are either region-local when the tenant is located in that region, or foreign tables. (Alternatively, non-local tenant data is replicated with e.g. logical replication/LR, or triggers)
- global tables are replicated across all regions, again presumably with LR
- RLS on the smart partitioned tables, which applies the tenant filter when nile.tenant_id is set.
Do you have any docs where I can read up on this in more detail?
All in all this looks like a real neat project. Congrats on launching.