首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最佳IoT数据库?

最佳IoT数据库?
EN

Stack Overflow用户
提问于 2017-12-04 10:01:38
回答 2查看 2K关注 0票数 0

我有许多IoT设备正在向MySQL数据库发送数据。

我想将它移植到其他一些数据库,该数据库将是开放源码的,并向我提供:

  • JSON支持
  • 可扩展性
  • 根据有效载荷自动添加多列的灵活性
  • Python和PHP支持
  • 极快读、写
  • 能够导出至少6个月的CSV格式的数据

请尽快回复。任何帮助都将不胜感激。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-05 02:28:44

基于输入数据构建数据库是一个错误。想想明天,您的数据将是CSV或XML,格式略有不同。根据抽象数据模型设计数据库,规范数据库并将现有数据应用到模型中。根据你的输入和你计划得到的输出来塑造你的结构。如果您检索与输入相同的内容,那么将数据存储在文件中就足够了,您不需要数据库。

此外,您也不希望存储“原始”记录的数据库。即使您的数据库可以在运行时从原始元素中组成数据记录,您也不能在不访问所有记录的情况下,根据某个提取的元素运行选择。

大多数数据库允许您从任何地方进行连接(与Python相比,Java中没有更好的支持PostgreSQL,但是驱动程序的标准化质量和水平可能有所不同)。问题是你的司机应该支持什么功能。例如,您可能需要对批量导入的支持(不要向数据库发出大的插入集)。

你真正想要的是:

  • 可伸缩性:数据库能随着数据的增长而增长吗?添加额外的CPU (MySQL尤其不适用于大型查询)对DB有好处吗?你能在多个实例上分割数据库吗?(MySQL再次处理不了这个问题)。
  • 你的模特看起来像雪花吗?如果是的话,你可以考虑NoSQL,否则远离它。如果你能像雪花一样建模(这意味着你对妥协是开放的),你可以使用任何类似基于Lucene的搜索产品,Mongo,Cassandra等等。你的时间序列不符合NoSQL的条件。例如,您可能有10K设备发出5k消息类型。在设备级别和消息类型级别冗余地记录特定数据。在这种情况下,由于n:m关系,你不再有雪花了。
  • 你为什么要存储这些数据?您打算发出哪些查询?
票数 0
EN

Stack Overflow用户

发布于 2017-12-04 10:13:23

你为什么要离开MySQL?它是开源的,可以满足上面列出的所有条件。这是一个非常主观的问题,所以很难给出一个好的答案,但MySQL并不是一个糟糕的选择

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47630763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档