I'm troubled with IoTDB's metadata memory bottleneck. I want to use a third party storage to manage IoTDB's metadata, but I'm not comprehensively familiar with the responsibility of the interface and responsibility of metadata. I want to develop on v0.12.3, but the complex interfaces in MManager confuse me. Hope for some help and suggestions.
CodePudding user response:
I'm a contributor of IoTDB, mainly focus on metadata. Your idea is fantastic and I hope to see it be implemented. Here's my suggestions. Maybe it will bring you some help. Metadata in IoTDB consists of three part: MTree, Template and Tag. It is MTree that mainly occupies the memory. MTree stores all the timeseries and schemas. On the one hand, MTree provides timeseries existence check, timeseries auto creation and datatype check for IoTDB data insertion. On the other hand, IoTDB query relies on MTree to parse the path pattern in sql statement. The code in v0.12.3 is not that tidy and clean. You may refer to v0.13 or the master branch, in which the code of MManager has been simplified and polished.