Ale*_*aru 17 storage-engines mongodb
在MongoDb文档3.2中,我看到它们支持3个存储引擎,MMAPV1,WiredTiger,In-Memory,这是一个非常令人困惑的选择.
我从描述中感受到了WiredTiger更好MMAPV1,但在其他来源中他们说MMAPV1更适合重读...而WiredTiger适合重写...
是否有一些限制何时选择一个而不是另一个?例如,有人可以提出一些最佳做法
当我有这种类型的应用程序通常是最好的,否则选择其他...
Tim*_*Tim 35
这是来自个人经验,但请看一下这篇博客文章,它解释了不同类型的引擎: Mongo Blog v3
比较MongoDB WiredTiger和MMAPv1存储引擎.在7x和10x之间提高性能和效率更高的写入性能MongoDB 3.0提供更精细的文档级并发控制,为大多数写密集型应用程序提供7倍到10倍的吞吐量,同时保持可预测的低延迟.
对我来说选择非常简单,我需要文档级锁定,这使得WiredTiger成为理想的选择,我们没有企业版的mongo因此在内存引擎中是不可用的.MMAPv1 Btree是将内存映射到硬盘驱动器的非常基本的技术,效率不高.
MMAP存储引擎使用称为"记录分配"的进程来获取文件存储的磁盘空间.所有记录都连续地位于磁盘上,当文档变得大于分配的记录时,它必须分配新记录.新分配需要移动文档并更新引用文档的所有索引,这需要比就地更新花费更多时间并导致存储碎片.此外,MMAPv1在其当前的迭代中通常会导致文件系统的空间利用率过高,这是由于记录空间过度分配而且缺乏对压缩的支持.如前所述,存储引擎的锁定方案是整体数据库性能中最重要的因素之一.MMAPv1具有集合级锁定 - 这意味着一次只能使用一个插入,更新或删除操作集合.这种类型的锁定方案在并发工作负载中创建了一种非常常见的方案,其中更新/删除/插入操作始终等待它们前面的操作完成.此外,这些操作通常比存储引擎以串行方式完成流程更快.在上下文中,想象一下周日下午的一家大型超市,只有一条结账线开放:客户众多,但吞吐量低!
每个人都有不同的要求,但对于大多数情况下,WiredTiger是理想的选择,它使文档级别的原子操作而不是收集级别具有很大的优势,你根本无法击败它.
更多的读取而不是大量的写入
如果阅读是您主要关注的问题,那么解决这个问题的方法之一.
您可以通过以下方式调整Mongo Driver Read Preference Modes:
当您有大量读取时,此设置将执行得非常好,但作为权衡写入会更慢.但是,读取数据的吞吐量会很大.
我希望如果您有其他问题将其添加为评论,我会尝试在此答案中解决此问题.
您还可以查看MMAPv1与WiredTiger的评论,并注意他是如何将自己的想法从MMAPv1改为WiredTiger的.卖家是文件锁定,你无法击败的表现.
对于新项目,我现在使用WiredTiger.由于从压缩到未压缩的WiredTiger存储的迁移相当容易,我倾向于从压缩开始以提高CPU利用率("获得更多收益").如果压缩对性能或UX有显着影响,我将迁移到未压缩的WiredTiger.
MongoDB数据库探查器
确定数据库需求的最佳方法是使用MongoDB分析器设置测试集群并在其上运行应用程序 与大多数数据库分析器一样,MongoDB分析器可以配置为仅编写有关超过给定阈值的查询的配置文件信息.因此,一旦你知道慢查询,你就可以弄清楚它是读取与写入还是cpu vs ram并从那里开始.
您应该使用由内存和WiredTiger存储引擎组成的副本集.你应该对内存存储引擎应该访问最常访问的数据并使用WiredTiger存储引擎进行分片.
在2014年收购WiredTiger之后,MongoDB将此存储引擎作为3.2版的默认存储引擎引入.此后,他们自己开始鼓励用户使用WiredTiger,因为它具有以下优于MMAPV1的优势:
到目前为止,我发现只有MMPAV1优于WiredTiger的优点是:
因此,您可以在选择存储引擎时始终将MMPAV1保留.现在让我们来看看内存存储引擎.从MongoDB Enterprise版本3.2.6开始,内存存储引擎是64位版本中通用可用性(GA)的一部分.
它比存储引擎具有以下优点:
通过避免磁盘I/O,内存存储引擎允许更可预测的数据库操作延迟.
但是这个存储引擎也有很多缺点:
进程关闭后,内存存储引擎不会保留数据.
内存存储引擎要求其所有数据(包括oplog,如果mongod是副本集的一部分等)适合指定的--inMemorySizeGB命令行选项或storage.inMemory.engineConfig.inMemorySizeGB设置.
查看MongoDB手册,了解使用内存存储引擎的Deployment Architectures示例.
| 归档时间: |
|
| 查看次数: |
12213 次 |
| 最近记录: |