【发布时间】:2013-07-13 03:05:12
【问题描述】:
这更像是一个概念/数据库架构相关的问题。为了保持数据一致性,而不是 NoSQL 数据存储,我只是将 JSON 对象存储为 MySQL 中的字符串/文本。所以一个 MySQL 行看起来像这样
ID, TIME_STAMP, DATA
我会将 JSON 数据存储在 DATA 字段中。我不会更新任何行,而是添加带有当前时间戳的新行。因此,当我想要最新数据时,我只需获取具有 max(timestamp) 的行。我将 Tornado 与 Python MySQLDB 驱动程序一起用作我的主要后端应用程序。
我发现这种方法非常直截了当,不易出错。 JSON 对象相当简单,没有大量嵌套。
这种方法从根本上是错误的吗?在 MySQL 中将 JSON 数据存储为文本是否有任何问题,或者我应该使用基于文件系统的存储,例如 HDFS。请告诉我。
【问题讨论】:
-
只要不用在数据中搜索就可以了
-
我推荐你试试“Redis”数据库。我已经使用它来管理像您的示例这样的数据,而且它非常易于使用。
-
没关系,但是如果 JSON 很大并且不是太多,你可以考虑使用文件系统。如果您有很多记录,请考虑使用 NoSQL 解决方案。
-
谢谢大家,我会研究 Redis。但是,我不会丢失一个字节的数据,这一点非常重要。