-
Notifications
You must be signed in to change notification settings - Fork 94
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 refactor #3872
Comments
Most or all of the above are desirable, but maybe not on the critical path to Cylc 8 - except that, as you note, now is a good time to make breaking changes. I'd still rather get the 100% critical bits in the bag first though. |
+1 to Cylc 8 or Cylc 9. For other databases, like Postgres or Oracle, it would be simpler if the Cylc database supported multiple workflows, instead of one database per workflow. That would require modifying the database and adding more tables, more relationships. But without doing this, it would be quite hard to implement #3360. |
Could do that by adding a workflow table then adding a workflow id (integer) field to each entry? Would need to check the integer value limit, if numbering job submissions for multiple workflows in one table Cylc could very quickly rack up some pretty big numbers! |
I think that makes sense. And probably the simplest way to implement that. Later we can add other tables/fields/indexes/etc.
👍 good idea. |
If we address this one further down the line it might be worth considering moving to a graph DB such as Dgraph. Would simplify UIS offline data and allow DB structure to more closely match the live data store. |
Nice idea. |
We should check that we will not run into the year 2038 problem. According to the sqlite3 docs the integer datatype is capable of being 64-bit (8 bytes), so should be okay.
|
We should also look at finding an efficient way to perpetual logging prerequisites/outputs into this refactor - see #4036 (comment) [HO] note to store the state of prerequisites at trigger time (which is probably the important thing for past tasks) requires some additional information not currently available from the DB, because (for conditionally triggered tasks) that is not the same as the final state of the upstream task outputs. |
I think we are currently missing job messages from the DB, might be a good opportunity to get them in now that messages are visible in the GUI - #2394 (comment) |
The run database can get quite large >750MB, note we have two copies of the database so that's 1.5GB. It should be pretty easy to bring this down in size.
Suggestions:
time_created
field in task_states.Other related matters:
Since the DB functionality is pretty self-contained and we don't require upgraders at this point these changes shouldn't be too much work.As we are now approaching 8.0.rc1 release we will need to provide full DB back-compat support for any changes.The text was updated successfully, but these errors were encountered: