Hi, all.
I’m trying to add a MonetDB interface to VoltTron, a Python based server for building and energy management systems.
To that end I have to be able to use some of the mclient commands from it, for example, to check if a table exists (\d ), from Python.
IIUC, monetdb.mapi.Connection objects should enable me to do that, but I have no idea how.
A second question is about performance. The existing databse schema for this product looks like this in MonetDB:
CREATE TABLE "voc"."data_test" (
"ts" TIMESTAMP(3) NOT NULL,
"topic_id" INTEGER NOT NULL,
"value_string" CHARACTER LARGE OBJECT NOT NULL,
CONSTRAINT "data_test_topic_id_ts_unique" UNIQUE ("topic_id", "ts")
);
There’s a time stamp and topic ID, and SELECT queries are almost always for a narrow range in time, and a small set of topic IDs (usually a set of one).
The “value_string” is there because values in the topics can range in type, but are almost always floats. Can I expect MonetDB’s performance to be good
For this use case? Or should I force the value_string to a float?