Json 最佳物联网数据库?

Json 最佳物联网数据库?,json,database-design,relational-database,iot,non-relational-database,Json,Database Design,Relational Database,Iot,Non Relational Database,我有很多物联网设备正在向MySQL数据库发送数据。 我想将其移植到其他一些数据库,这些数据库将是开源的,并为我提供: JSON支持 可伸缩性 根据负载自动添加多个列的灵活性 Python和PHP支持 读写速度极快 能够以CSV格式导出至少6个月的数据 请尽快回复。 任何帮助都将不胜感激 谢谢你为什么要离开MySQL?它是开源的,可以满足上面列出的所有标准。这是一个非常主观的问题,因此很难给出一个好的答案,但MySQL并不是一个坏的选择基于输入数据构建数据库是一个错误。想想明天,您的数据将

我有很多物联网设备正在向MySQL数据库发送数据。
我想将其移植到其他一些数据库,这些数据库将是开源的,并为我提供:

  • JSON支持
  • 可伸缩性
  • 根据负载自动添加多个列的灵活性
  • Python和PHP支持
  • 读写速度极快
  • 能够以CSV格式导出至少6个月的数据

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


谢谢

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

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

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

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

你真正想要的是:

  • 可伸缩性:您的数据库能否随数据增长?添加额外的CPU对DB有好处吗(MySQL尤其不适用于大型查询)。您可以在多个实例上共享数据库吗?(MySQL再次无法处理这一问题)
  • 你的模型看起来像雪花吗?如果是,你可以考虑NoSQL,否则远离它。如果你成功地以雪花为模型(这意味着你愿意妥协),你可以使用基于Lucene的搜索产品、Mongo、Cassandra等。你拥有timeseries这一事实并不意味着你有资格使用NoSQL。例如,您可能有10K设备发出5k消息类型。在设备级和消息类型级冗余记录特定数据。在这种情况下,由于n:m关系,你不再有雪花了
  • 为什么要存储这些数据?你将提出什么问题

我的数据是TimeSeries数据。我希望将传入的json有效负载(来自设备)直接摄取到数据库中。目前,我运行的脚本首先创建表,然后插入条目。我还有一些脚本,可以查找六个月前的数据,并使我能够从数据库下载。然而,我想减少我的编码时间。我在想XDB、卡桑德拉或MongoDB。我很困惑。在这种情况下,哪一种解决方案可能会更好?MySQL支持JSON(从5.7版开始),并且还可以满足您的所有其他需求,具体取决于您对CSV部分的需求。您提到的所有数据库都可以满足一些要求,但据我所知,MySQL的覆盖范围最广,或者PostgreSQL的JSON支持更全面。好的,谢谢您的回答。我也会检查PostgreSQL,然后得出结论。嗨,洛娜,我检查了PostgreSQL,正如我们之前讨论的那样。然而,我还不确定是全职使用它,还是继续使用MySQL。一旦对我的研究感到满意,我会将其标记为已被接受:)嗨@Razvan,谢谢你给出的漂亮答案。根据你的观点1:MySQL看起来不是一个好的选择,因为它具有可伸缩性。根据第2点:在500个表中,只有5-8个表相互关联。根据第3点:我存储数据,主要是分析数据,绘制相应图表,根据前6个月或更长时间的数据通知我账单和成本估算,当机器的某些部分工作时间超过3小时左右时提醒我。因此,MYSQL现在是不可能的。返回以进行更多讨论。SQL既不是数据库类型,也不是供应商。NoSQL是一种数据库,而不是一个供应商。你的陈述一半是对的,一半是错的。苹果和橙子与SQL和NoSQL相比是一样的。大多数SQL供应商都提供了一些通用功能,而大多数NoSQL数据库都提供了这些功能。在NoSQL世界中,缺少事务和N-to-M关系似乎是一种反复出现的模式。