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

Is it possible to use Tiledb-MariaDB as a slave of a real MariaDB instance? #130

Open
qiuwei opened this issue Dec 23, 2020 · 2 comments
Open

Comments

@qiuwei
Copy link

qiuwei commented Dec 23, 2020

Is it possible to use Tiledb-MariaDB as a slave of a real MariaDB instance?

We are trying to do this to achieve change data capture of a traditional RDBMS, and do the analytics using tiledb.

@Shelnutt2
Copy link
Member

@qiuwei excellent question! TileDB-MariaDB consists of a storage engine (MyTile) which can be compiled along side a normal MariaDB source build[1]. This means you indeed can MyTile running in normal/standard MariaDB instance. This second instance of MariaDB with MyTile installed can be used as a slave to your master/primary instance without a problem.

If you are wanting to use replication to also change storage engines this is not possible, as a general limitation of MariaDB. That is to say if you have a table T1 which is InnoDB on your primary DB, and you setup replication to the secondary MariaDB and you want to make T1 a different storage engine then InnoDB (such as using MyTile) this will not work.

If your scenario is to try to automatically insert from one table to a TileDB array, your best bet is either a trigger or an event. If this is what your looking for I can provide some example setups to achieve this.

We've love to know more about your use case, and I'd be happy to jump on a call to architect out how you can achieve this. Feel free to reach out to us at [email protected].

[1] We also have a traditional mariadb server dockerimage availabl tiledb/tiledb-mariadb-server

@qiuwei
Copy link
Author

qiuwei commented Dec 28, 2020

@Shelnutt2

Thanks for the detailed answer.

Our use case is that we would like to automatically sync data from an OTLP database(say MySQL) to TileDB near realtime,
and then do the analytics using TileDB.

I am now considering using solutions like debezium(https://debezium.io/) and write a connector for TileDB.
Do you think it is a viable method? Would it cause too many fragments in TileDB?
I am more than grateful for any suggestions.

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

No branches or pull requests

2 participants