cube icon indicating copy to clipboard operation
cube copied to clipboard

support for SingleStore as external database

Open vkruoso opened this issue 2 years ago • 4 comments

For people that already have SingleStore in the infrastructure, it would be great to use it as an external database to avoid having to maintain CubeStore as an extra component.

As the external database already supports MySQL, and SingleStore being protocol compatible with it, the solution probably lies on details related to the way tables/indexes are created and eventually SQL syntax. I've tried using it in the past with the current MySQL implementation and got issues on table creation.

I'm open to contribute a PR for this if this would be considered as part of cubejs.

vkruoso avatar Jun 28 '22 13:06 vkruoso

Hey @vkruoso ! I guess we're open to this community contribution! Would really love to see it! The only thing, we're on a path to the full deprecation of non Cube Store external data stores as integration features go beyond just SQL storage and querying engine. Given that we'd consider this component community supported so you'd need to keep up with breaking changes of external database API changes. We've figured out that supporting multiple external databases is just too much for the core team.

paveltiunov avatar Jun 28 '22 20:06 paveltiunov

If you are interested in working on this issue, please leave a comment below and we will be happy to assign the issue to you. If this is the first time you are contributing a Pull Request to Cube.js, please check our contribution guidelines. You can also post any questions while contributing in the #contributors channel in the Cube.js Slack.

github-actions[bot] avatar Jun 28 '22 20:06 github-actions[bot]

Hi @paveltiunov, thanks for the fast response. Can you elaborate more on the features CubeStore has beyond what you mentioned? I think it interacts with object store for some operations other than query execution, but I'm not sure. Even with deprecation I think it is cool to keep community support on it!

vkruoso avatar Jun 29 '22 13:06 vkruoso

@vkruoso I don't have a full list in hand. We need to do a better job to document it. But on top of my mind, those that are nonbreaking are batching, export bucket imports, and count distinct approx / HLL support. Those which are breaking are unbounded rolling window queries and rollup joins. There is also lambda view support coming soon which also be breaking.

paveltiunov avatar Jun 30 '22 00:06 paveltiunov