[英]How data is stored in MongoDB tables?
我正在通过将Mongodb与Java应用程序集成来学习它。 到目前为止,我已经将MongoDB配置为Windows服务,该服务将在Windows启动时运行,并且还能够成功连接,插入并从与Java应用程序集成的MongoDB中查找数据。 我了解每个数据在MongoDb中存储为Key:Document对,并在没有任何预定义架构定义的情况下水平缩放。 但是我仍然不清楚我的以下疑问:-
1)当我们说每个数据都存储为key:document对时,术语“ key”在这里意味着什么? 是我要在数据中输入的主要值,还是此“键”表示某些唯一的记录ID(包含RDBMS中的随机数)。 例如:-
DBCollection table = db.getCollection("employee");
BasicDBObject document = document = new BasicDBObject();
document.put("EmpId", "1001");
document.put("Name", "Vijay Kumar");
document.put("Gender", "Male");
table.insert(document);
在这里,如果我没记错的话,EmpId不是这里的关键,对吗? 密钥将是该数据在MongoDB表中的唯一ID,称为“员工”,例如“ 57cd9d404a85c209a42ed747”。 请确认。
2)当我们说每个数据都存储为文档时,这到底意味着什么? 看起来是结构化还是非结构化? 我们不能使用某些客户端(如SQLDeveloper或Toad for RDBMS)查看存储的文档吗?
3)最后,存储和检索海量数据的速度更快
MongoDB创建一个唯一的ID来引用表中的特定文档。
对于1:
您在此处讨论的关键是一个引用变量,用于在每次调用数据时选择数据。 所以我们说
key-value pair
。 因此,EmpId
是键,而1001
是值。 或者,您可以将键作为表中列的名称来查看,并将1001
作为字段来查看。
对于2:
该文档是键值对的集合。 例如:
{
"EmpId", "1001",
"Name", "Vijay Kumar"
}
这可以视为一个文件。
对于3:
要存储大量数据,您需要以数组形式存储文档。 例如,您可以使用
JSONArray object
对于eaxmple:
[
{
"EmpId", "1001",
"Name", "Vijay Kumar"
},
{
"EmpId", "1002",
"Name", "Emil John"
}
]
通常,数据以二进制JSON形式存储在Mongodb中,并且对于每个插入的文档,数据都会创建一个唯一的ID(默认名称_id)。 现在,当您将其与传统RDBMS进行比较时,将key作为列,并将value作为其数据。 因此,每个文档实际上意味着关系数据库的特定行,而集合意味着一个表。
MongoDB的工具很少。 我特别使用MongoChef。
Mongodb旨在处理海量数据,因此在检索和存储数据方面比传统RDBMS更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.