Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Database should be partitioned #143

Open
christophe-lejeune opened this issue Dec 6, 2023 · 3 comments
Open

Database should be partitioned #143

christophe-lejeune opened this issue Dec 6, 2023 · 3 comments

Comments

@christophe-lejeune
Copy link
Member

According to my experience with Couchdb, the platform is really efficient when the project starts, but it slow down when you store a lot of documents (as it is the case with Cassandre). After many attempts to speed it up, it appears that such an application falls under what partitions were designed for. For these reasons, I would advise to use partitioned databases for HyperGlosae.

@benel
Copy link
Member

benel commented Jan 6, 2024

Thank you for the idea @christophe-lejeune.
Here is CouchDB manual on partitioned database for further reference.

@benel
Copy link
Member

benel commented Jan 16, 2024

An important decision related to this issue will be the choice of what would be used as a partition ID.

@christophe-lejeune What was it in Cassandre? The diary ID? The user who first created the document?

In Hyperglosae:

  • the equivalent of the diary would be the common ancestor of all related documents... When they are several, I suppose it won't break performances...
  • I don't think the creator would be a performance gain, since the objective is to read together documents created by different people...

@christophe-lejeune
Copy link
Member Author

I confirm that I would choose the diary. But, currently, Cassandre does not rest on partitioned database yet. Indeed, switching to such a design implies a huge refactoring that I have not undertaken yet. That's why I shared this insight soon. It is easier to build something on a partitioned database than to switch an existing project from one design to another.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants