Feature Request
When I implemented the ClickHouse backend I used the experimental JSON column type based on feedback from ClickHouse that it would be promoted out of experimental status "soon". We discovered that it had some serious missing functionality and added in the String column version of the JSON data next to it as a workaround. I recently reconnected with ClickHouse on the topic and it seems like they are not prioritizing getting the JSON field fully functional any time soon, so I would like to remove it!
Describe the solution you'd like
I'd like to remove the JSON column and change the existing handful of places in the code that use it to use the String column with JSON string function calls. They are faster, fully functional, and it will reduce the storage for the xAPI statements significantly. We entirely use the String column in Aspects.
Describe alternatives you've considered
Waiting for CH to finish their feature and dropping the String column instead. 😄 Last I heard from them "no one is working on that".
Discovery, Documentation, Adoption, Migration Strategy
This would be a breaking change for any downstream consumers of the Ralph database directly, but since I think everyone using this would already have all of their data in the String column I think the only necessary migration internal to Ralph would be to drop the column. Since Ralph doesn't even manage the schema I hope that would be a small issue.
Do you want to work on it through a Pull Request?
I'd be happy to do this work, I just want to make sure it would be a welcome change and answer any questions you may have before doing the work. I also know there was work happening on the abstracting the backends that may need to land first.
Feature Request
When I implemented the ClickHouse backend I used the experimental JSON column type based on feedback from ClickHouse that it would be promoted out of experimental status "soon". We discovered that it had some serious missing functionality and added in the String column version of the JSON data next to it as a workaround. I recently reconnected with ClickHouse on the topic and it seems like they are not prioritizing getting the JSON field fully functional any time soon, so I would like to remove it!
Describe the solution you'd like
I'd like to remove the JSON column and change the existing handful of places in the code that use it to use the String column with JSON string function calls. They are faster, fully functional, and it will reduce the storage for the xAPI statements significantly. We entirely use the String column in Aspects.
Describe alternatives you've considered
Waiting for CH to finish their feature and dropping the String column instead. 😄 Last I heard from them "no one is working on that".
Discovery, Documentation, Adoption, Migration Strategy
This would be a breaking change for any downstream consumers of the Ralph database directly, but since I think everyone using this would already have all of their data in the String column I think the only necessary migration internal to Ralph would be to drop the column. Since Ralph doesn't even manage the schema I hope that would be a small issue.
Do you want to work on it through a Pull Request?
I'd be happy to do this work, I just want to make sure it would be a welcome change and answer any questions you may have before doing the work. I also know there was work happening on the abstracting the backends that may need to land first.