将JSON数据存储为MySQL中的Text

Pra*_*ara 2 mysql json

这更像是一个概念/数据库架构相关的问题.为了保持数据的一致性,而不是NoSQL数据存储,我只是将JSON对象存储为MySQL中的字符串/文本.所以MySQL行看起来像这样

ID, TIME_STAMP, DATA
Run Code Online (Sandbox Code Playgroud)

我将JSON数据存储在DATA字段中.我不会更新任何行,而是添加带有当前时间戳的新行.所以,当我想要最新的数据时,我只需要获取具有max(时间戳)的行.我正在使用Tornado和Python MySQLDB驱动程序作为我的主要后端应用程序.

我觉得这种方法很直接,不容易出错.JSON对象非常简单,并且没有大量嵌套.

这种方法根本不对吗?将JSON数据存储为MySQL中的文本是否有任何问题,或者我应该使用基于文件系统的存储(如HDFS).请告诉我.

Phi*_*hil 8

您可能知道,MySQL是一个关系数据库管理器.它被设计用于以数据通过密钥相互关联的方式使用,形成关系,然后可以用于产生复杂的数据检索.你的方法在技术上会起作用(而且速度很快),但是如果扩大你的范围的复杂性,可能(基于我到目前为止看到的)会大大削弱你利用你正在使用的技术的可能性!

我建议你使用像Redis或MongoDB这样的数据库,因为它们是为文档存储而不是关系架构而设计的.

也就是说,如果您发现该方法适用于您正在构建的内容,请继续.如果你想为你的解决方案增加复杂性,你可能会面临一些阻碍,但无论哪种方式,你都会学到新东西!祝好运!