前提
- 不考虑shard(使用场景受限,运维成本比较高)
- mongo实例的库规模超过百g,单个collection 超过千万
- 未达到这个规模的集群,性能不会太差,维护的手段可以选择使用,降低维护成本
使用层面
- 生产环境应默认开启journal log
- write reference 使用 JOURNAL_SAFE(更严格的模式依次为 1主机成功;2多数成功;3 fs.sync)
- read reference 使用 secondary first 的模式
mongo参数调优
- 建立必要的索引
- 超过千万的 collection 可以考虑开启轮询模式(capped)或者定时过期(ttl index)
- 开启directoryperdb 为硬件调优提供可能性
维护层面
- 定期执行repiarDB(去除文件碎片,rebuild 索引)
- 为不同的DB目录挂载不同的物理磁盘
相关推荐
具体到MongoDB的执行计划分析,有几个要点需要注意。`explain`方法可以给出一个查询的详细执行流程,包括扫描方式、索引使用情况和数据排序等方面。通过分析执行计划,开发者可以了解查询过程中是否存在慢操作,比如...
在进行地籍时空数据库建设的过程中,需要注意以下几个要点: - 数据模型的设计:设计时需考虑地籍数据的特点,如何高效地存储和快速检索地籍数据,同时还要考虑时间信息的处理,即数据的时间戳。 - 索引优化:为了...
在这个项目中,主要涉及以下几个关键知识点: 1. **网络爬虫**:网络爬虫是自动抓取网页信息的程序,它通过遵循网页间的超链接,遍历互联网上的信息。在新闻爬取阶段,可能使用Python的Scrapy框架或BeautifulSoup库...
从给定的信息中,我们可以提炼出几个关键的学习和专业发展要点。 首先,对于Java编程语言的掌握至关重要。Java是构建微服务架构的基础,因此要确保Java基础知识牢固,包括语法、面向对象编程原则以及异常处理。对于...
面试宝典通常会涵盖以下几个关键部分: 1. **基础知识**:面试开始时,面试官往往会检查候选人的基础理论知识,包括但不限于Java语法、数据类型、运算符、流程控制语句、类与对象、封装、继承、多态等。此外,了解...
根据给定文件的信息,我们可以将该视频教程的内容概括为以下几个主要知识点: ### 黑马Linux基础知识 #### Linux系统概述 - **定义与历史**:Linux是一种免费使用的类UNIX计算机操作系统,由Linus Torvalds在1991...
NoSQL数据库可以分为几种主要类型,包括键值对存储、文档数据库、列族存储以及图数据库等。每种类型的NoSQL数据库都有其独特的应用场景和优势。 ##### 2.2 为什么选择NoSQL? 随着互联网的发展,数据量呈爆炸性...