我当前有许多 IoT 设备正在将数据发送到 MySQL 数据库。
我想将其移植到其他数据库,该数据库将是开源的并为我提供:
请尽快恢复。
任何帮助将不胜感激。
谢谢
根据输入数据构建数据库是一个错误。想象一下,明天您的数据将是 CSV 或 XML,格式略有不同。根据抽象数据模型设计数据库,对其进行规范化并将现有数据应用到您的模型。根据您拥有的输入和计划获得的输出来塑造您的结构。如果您检索与输入相同的内容,将数据存储在文件中就足够了,您不需要数据库。
此外,您不想将“原始”记录存储在数据库中。即使您的数据库可以在运行时从原始元素组成数据记录,您也无法在不访问所有记录的情况下基于某个提取的元素运行选择。
大多数数据库允许您从任何地方连接(与 Python 相比,Java 中对 PostgreSQL 的支持并不好,但驱动程序标准化的质量和水平可能会有所不同)。问题是您的驱动程序应支持哪些功能。例如,您可能需要支持批量导入(不要向数据库发出大型 INSERT 集)。
您真正寻找的是:
对于 IoT 设备,您可以使用 influxDB、TimescaleDB 或 Cassandra,它们都是数据库中的最佳选择。
为什么要放弃 MySQL?它是开源的,可以满足您上面列出的所有标准。这是一个非常主观的问题,所以很难给出一个好的答案,但是 MySQL 不是一个坏的选择