Model support for Citus Data
See original GitHub issueWith Microsoft’s recent acquisition of Citus Data and their rollout of Hyperscale (Citus) for Azure Database for PostgreSQL, we should expect more Azure users to want Citus integration for their EF Core PostgreSQL database models.
Adding an extension package (Npgsql.Citus
?) would allow users to opt into Citus support and configure their distributed tables, reference tables, local tables, and set access methods using LINQ model configuration extension methods.
I believe this could be accomplished using custom entity annotations in migrations that generate the required SQL to configure Citus.
Any suggestions for this would be greatly appreciated!
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:11 (6 by maintainers)
Top Results From Across the Web
Citus Data | Distributed Postgres. At any scale.
Citus gives you all the greatness of Postgres plus the superpowers of distributed tables. By distributing your data and queries, your application gets...
Read more >citusdata/citus: Distributed PostgreSQL as an extension
What is Citus? Citus is a PostgreSQL extension that transforms Postgres into a distributed database—so you can achieve high performance at ...
Read more >Microsoft acquires Citus Data, re-affirming its commitment to ...
Building on these investments, I am thrilled to announce that we have acquired Citus Data, a leader in the PostgreSQL community. Citus is...
Read more >How to migrate Citus on AWS to Citus on Azure
With the help of Microsoft and Citus team, we migrated our Citus Cloud database to Citus on Azure. Here's how.
Read more >Citus 11.3 Release Party for the Postgres you love at any scale
Citus database demos include tenant monitoring with citus_stat_tenants, MERGE support for co-located distributed tables, ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@roji Thank you for getting back about this issue!
I am a bit newer to Citus data as we are currently investigating using it on our project. That’s why I preemptively created this issue in case we decide to go ahead with that in the future. However, I have been reviewing the docs, so I think I can propose a draft API and maybe somebody with a bit more experience can review it and suggest additions.
The API I’m currently envisioning looks like this:
I’m open to suggestions on the naming conventions for these extension methods, for example, it may make more sense to follow the EF Core naming conventions:
I would, but first I would like to take a look at all the other methods in Citus Data, there are some specific configurations that we may need to be aware of via metadata so we can produce the correct migrations between them.
A good example of this would be un-distributing a table and verifying that there are no foreign keys that would need to be cascaded as part of the un-distribution process. The same applies for making a table to a reference table depending on if it’s already distributed on a single shard or not.