正在创建Single Blob列来保存MySQL中的BSON服务MongoDB数据库的目的是什么?
问题描述:
我们计划使用蒙戈DB在小项目中的一个;但建议使用类似的JSON建模概念,该概念在Mongo DB中使用,并将其存储在MYSQL中的BLOB和TEXT类型中。正在创建Single Blob列来保存MySQL中的BSON服务MongoDB数据库的目的是什么?
是它创建单个斑点列保存JSON在MySQL数据库是一个好主意?
ID OPTLOCK JSON_DATA PROSESS_ID
1 0 { } 2212
答
第一:BSON和JSON不可互换。 JSON将被存储在TEXT字段中,因为它是纯文本,而BSON将放在BLOB字段中,因为它是二进制数据。
你的问题,MongoDB是不是只是一个key-value存储保存BSON数据。它允许跨文档进行索引,查询,聚合,流水线和映射缩减,因为它理解文档的结构。使用MySQL作为你的描述就没有什么是在TEXT/BLOB列的概念 - 你可以只有效地存储,并通过它们的ID检索文档,你可以只更新文件的批发,而在MongoDB中,您可以更新和操纵各个字段。这两种方法的结果会大不相同。
无论MongoDB的或MySQL(或任何其他数据库)是更适合您的特定用途的情况是,在这里不能回答的问题。
但是,如果我们仍然在文本中使用JSON,并且还可以在MySQL中查询和操纵JSON,并且还可以使用相同的索引功能。但是我怀疑我们在MongoDB中有什么优势。 – fatherazrael
查询JSON可用在MySQL在'JSON'列类型,而不是在'TEXT'。如果您想比较两者的功能,那么在他们的网站上都会提供大量信息。 – Adrian
我也可以在TEXT中查询。感谢您的投入。 – fatherazrael