MongoDB是一种最钦佩和毫不费力的NoSQL数据库建立。开发者想要花时间构建功能的应用程序,MongoDB,开发人员可以快速构建应用程序,充分利用支持基础设施和自动故障转移和高可用性。
在这篇文章中,我们将讨论五大MongoDB的东西比任何人都做得好。
易于安装
首先,MongoDB非常容易安装和部署,为应用程序开发人员可以立即开始编写代码。说,MongoDB的安装非常简单无论是在Windows, Mac或Linux。即使对于Linux / Mac,你可以下载tarball,提取,配置db /日志路径,并启动它。雷竞技下载官网Percona提供“雷竞技下载官网MongoDB Percona服务器”,一个增强的、开源和高度可伸缩数据库是一个完全兼容,MongoDB Community Edition的替代。为更多的细节在“Percona服务器的安装MongoDB (PSMDB)”在不同的雷竞技下载官网操作系统,请访问安装部分。还可以与Kubernetes自旋向上MongoDB, Percona也有一个雷竞技下载官网MongoDB Kubernetes运营商Per雷竞技下载官网cona服务器可用。
灵活的模式
MongoDB的特性之一是一个灵活的模式。MongoDB可以是一个无模式数据库。开发人员不会陷在一个定义的模式,即我们不需要定义数据类型集合插入数据之前或一个字段的数据类型可以不同的文档集合。在MongoDB文档从一个员工集合可能看起来像:
|
1
2
3
|
{
“emp_name”
:
“XYZ”
,
“城市”
:
“纽约”
}
{
“emp_name”
:
“XYZ”
,
“城市”
:
“纽约”
,
“国家”
:
“我们”
}
|
即使你必须改变文档的结构在一个集合,您只需要用一个新的更新文档结构。考虑文档的一个电话收集如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
{
“_id”
:
ObjectId
(
“5 f8d175127f5862e567f676c”
)
,
“model_name”
:
“iphone12”
,
“特征”
:
{
“5 g_support”
:
真正的
,
“显示”
:
“与陶瓷盾OLED”
}
,
}
|
假设您想添加一个新字段”screen_size”。人们很容易这样做有一个更新没有指定的类型screen_size列(在MongoDB的关键)。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
|
db
.phone
.update
(
{
model_name
:
“iphone12”
}
,
{
元组
:
{
“screen_size”
:
6.1
}
}
)
db
.phone
;
(
{
“model_name”
:
“iphone12”
}
)
.pretty
(
)
{
“_id”
:
ObjectId
(
“5 f8d175127f5862e567f676c”
)
,
“model_name”
:
“iphone12”
,
“特征”
:
{
“5 g_support”
:
真正的
,
“显示”
:
“与陶瓷盾OLED”
}
,
“screen_size”
:
6.1
}
|
它还允许嵌入相关文档作为一个文档或文档的参考:
嵌入式单文档
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
{
“_id”
:
ObjectId
(
“5 f8d175127f5862e567f676c”
)
,
“model_name”
:
“iphone12”
,
“特征”
:
{
“5 g_support”
:
真正的
,
“显示”
:
“与陶瓷盾OLED”
}
,
“screen_size”
:
6.1
}
|
与参考文档
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
25
26
|
/
/
客户
集合”年代
文档
{
_id
:
1211年
,
的名字
:
“苹果所罗门池塘商城”
,
地址
:
”马601唐纳德·林奇大马路,马尔堡,01752年,美国“
}
/
/
审查
集合”年代
文档
{
_id
:
442321年
审查
:
”iphone
SE
是
的
最便宜的
iphone
与
一个
类似的
看
就像
iPhone
8
但
更好的
内部
与
首次购物
仿生
芯片
。
然而
,
它”年代
相机
是
不
高达
马克
。
。
。”
cust_id
:
1211年
}
|
容错
MongoDB有内置的复制功能,提供高可用性和冗余。因为它已经在多个服务器副本的数据,它让一层容错的数据库服务器。保留数据的多个副本可以在不同地区增加了读取与潜在的可用性和数据本地化的阅读。它还可以改善与分区的数据局部性写道碎片。
在MongoDB副本集,有多少个节点不可用,还能有足够的成员选举新主要是容错的限制。
一个正确的容错配置将是一个混合的商业考虑和预算。为了实现复制和容错的,我们需要至少三个节点。所以,如果一个节点出现故障,仍有大部分的节点可以选举新主。
下面的图表显示所需的节点的数量来实现容错。
| 的节点数量 | 多数需要选出一位新主 | 容错 |
| 3 | 2 | 1 |
| 4 | 3 | 1 |
| 5 | 3 | 2 |
| 6 | 4 | 2 |
副本集还可以增加查询服务应用程序的客户端可以读请求发送到辅助副本集,我。客户端可以设置readPreference从二次阅读,“最近”,或由一个标记集。然而,从二级节点有一个权衡。客户可以看到陈旧的数据。
可伸缩性
可伸缩性是MongoDB的关键特性之一。它是建立在一个水平扩展架构,使它能够维持一个高容量的数据和交通。
在任何数据库系统中,经济增长可以由两种方法:垂直和水平伸缩。垂直扩展包括增加单个服务器的能力更强大的CPU,增加内存,或扩展磁盘空间。水平扩展是将数据集划分为多个小机器没有任何代码更改在应用程序级别。
MongoDB支持通过水平扩展分片。成本效益,更多的数据可以根据需要写或读回你能够分发负载在碎片。当数据集的增加增长新的碎片可以添加在任何时候,MongoDB将自动迁移数据。
在MongoDB,切分发生在集合级别,每个文档相关联碎片的关键文档应该生活在决定哪些碎片。应用程序不直接发送请求碎片,它将请求发送到蒙戈(查询路由器)和蒙戈读/写请求重定向到各自的碎片的缓存元数据配置服务器。
性能
数据库性能随多种因素如“数据库设计”,“应用程序查询”和“负载”等等,MongoDB可以处理大量的非结构化数据以不同的方式,因为它允许用户查询哪个更适合他们的工作负载。总是快来检索相关的单一文档比加入数据跨多个集合。
获得更好的性能,需要确保工作集适合在RAM中。坚持所有数据硬盘,除非使用内存存储引擎,但在查询执行期间,获取的数据从本地内存。同样重要的是要有正确的索引和足够的RAM MongoDB的性能优势。
结论
MongoDB是功能丰富的,一个简单的方法来开始使用NoSQL数据库。它有一个灵活的数据模型,表达容易学习查询语法,与副本集自动故障转移,很可伸缩。它也有好的文档让开发人员的生活变得更轻松。
雷竞技下载官网MongoDB Percona服务器提供的所有功能MongoDB刊登无执照模型的企业版,央视报道中。这意味着不需要担心购买许可证生产或非生产环境。你可以确保部署的一致性在所有刊登无执照,的环境利用央视报道中开源软件,同时确保你的组织所需的安全标准得到满足,如果支持是你需要什么Percona有你覆盖。雷竞技下载官网
MongoDB既有社区版和企业版。在Community edition的渠道,它是免费的使用数据库的范围内SSPL许可证,企业可以作为MongoDB的一部分企业订阅包括MongoDB-provided支持您的部署。
了解什么雷竞技下载官网MongoDB Percona服务器封面,请访问博客”为什么你支付企业当开源覆盖吗?”。
雷竞技下载官网MongoDB Percona分布是一个免费的MongoDB数据库选择,给你一个解决方案,结合了最好的和最重要的开放源码社区的企业组件,设计和测试一起工作。







好吧,我期待更多的细节。我感到失望。
感谢巴勃罗的博客,你的评论。我真的感到难过,你发现这失望的。这个博客是专门为了只提到五大功能。