mysql - 在 MySQL 中创建 Single Blob 列来保存 BSON 是否符合 Mongo DB 数据库的目的?

标签 mysql mongodb rdbms

我们计划在一个小型项目中使用 Mongo DB;但建议使用与 Mongo DB 中使用的 JSON 建模类似的概念,并将其以 BLOB 和 TEXT 类型存储在 MYSQL 中。

创建 Single Blob 列来在 MySQL 数据库中保存 JSON 是个好主意吗?

ID   OPTLOCK   JSON_DATA   PROSESS_ID
 1       0       { }       2212

最佳答案

首先:BSON 和 JSON 不可互换。 JSON 将存储在 TEXT 字段中,因为它是纯文本,而 BSON 将存储在 BLOB 字段中,因为它是二进制数据。

对于你的问题,MongoDB 不仅仅是一个保存 BSON 数据的键值存储。它允许跨文档进行索引、查询、聚合、管道化和映射缩减,因为它了解文档的结构。正如您所描述的,使用 MySQL 将不知道 TEXT/BLOB 列中的内容 - 您只能通过 ID 有效地存储和检索文档,并且只能批量更新文档,而在 MongoDB 中,您可以更新和操作单个字段。两种方法的结果将截然不同。

MongoDB 还是 MySQL(或任何其他数据库)是否更适合您的特定用例是一个此处无法回答的问题。

关于mysql - 在 MySQL 中创建 Single Blob 列来保存 BSON 是否符合 Mongo DB 数据库的目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44330158/

相关文章:

MySQL REPAIR TABLE 由于空间问题而停止

sql-server - 使用 View 提高查询性能

mongodb - Mongo 按月分组使用 UNIX 毫秒时间

mongodb - 用于分面导航的 Mongo 聚合查询

database-design - 一列中的多个值

SQL - 外键的时间复杂度是 O(1) 吗?

python - 如何使 python_select 为 '$>python' 命令工作?

mysql - Geotools 13 - 在 Linux 中写入 MySQL 时出错

mysql - 何时在 MySQL 中使用单引号、双引号和反引号

arrays - MongoDB错误: The positional operator did not find the match needed from the query