MongoDB最佳实践及性能优化(DTCC中国数据库技术大会分享PPT)

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: 上周五在北京DTCC分享了「32 Tips to Boost MongoDB Performance」,本文是分享的PPT以及重要内容的注解。 注解:本次分享主要「自底向上」的介绍提升 MongoDB 服务性能需要注意的问题,从硬件、操作系统、服务端一直到应用端,前面3个层次的建议主要面向DBA及运维人员,而最上层的应用开发建议主要面向开发者。

MongoDB
上周五在北京DTCC分享了「32 Tips to Boost MongoDB Performance」,本文是分享的PPT以及重要内容的注解。

_01
_02
_03
_04
注解:本次分享主要「自底向上」的介绍提升 MongoDB 服务性能需要注意的问题,从硬件、操作系统、服务端一直到应用端,前面3个层次的建议主要面向DBA及运维人员,而最上层的应用开发建议主要面向开发者。

_05

注解:了解一个数据库性能时,我们可能会从硬件、软件提供商、或技术同行那里获取到一些数据,但性能数据跟硬件配置、测试方法、环境、请求类型、数据集等都有很大的关联,在自己的环境里表现如何,建议通过benchmark实测一下,目前常用的mongoDB benchmark有 YCSB 以及 sysbench

_06

注解: 硬件选型方面,在不差钱的前提下肯定是越牛逼越好;对于大部分数据库应用来说,瓶颈可能最先出现在IO上,所以从机械硬盘到SSD的硬件提升通常是效果最明显的。

_07

注解:数据库随机访问的模式较多,建议关闭THP、NUMA、readahead等特性,不排除这些特性可能在某些特定场景上能有性能提升,如果要开启请一定先做下对比测试。

_08

注解:wiredtiger引擎在锁粒度、数据压缩上的支持远超mmapv1,从mmapv1升级到wiredtiger引擎,通常会带来存储成本的降低,以及性能的提升。

_09

注解:生产环境建议一定使用3节点的MongoDB复制集,如果是写(尤其是更新、删除)密集型的应用,可以考虑讲oplog设置更大点(默认为磁盘空间5%)。

_10

注解:mongoDB sharding 能实现数据库的水平扩展,但其相比复制集运维管理上更加复杂,建议只有在真正需要(扩展写入能力、扩展存储容量、降低当个分片故障时的影响)的时候才考虑使用sharding。

_11

注解:选择shard key时,主要考虑key的「离散度」以及「频率」,离散度越高越好,能更好的分散数据;频率越低越好,避免出现热点;实际选择时,要结合查询需求来确定,最满足业务需求的才是最好的。

_12

注解:sharding默认会自动在shard间进行数据迁移,如果迁移对线上访问有性能冲击,可以设置迁移窗口期,比如只在凌晨「1:00 - 6:00」来做数据迁移。

_13
注解:慢请求对定位性能问题非常有帮助,建议线上业务都开启,并设置合理的阈值,默认为100ms。
_14
注解:监控对任何线上业务都必不可少,监控的信息能让你充分了解线上服务的运行状态。

_15

注解:很多场景下,数据备份是最后一根救命稻草,有备无患,建议数据库一定做好备份。

_16

_17

_18
_19
_20
_21
注解: MongoDB Driver:使用正确的姿势连接复制集
_22
注解: MongoDB Driver:使用正确的姿势连接分片集群
_23

_24
_25
_26

_27
_28
_29
_30
注解:阿里云-MongoDB云数据库,了解详情

_31
MongoDB

猛击这里下载PDF版本

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
21天前
|
Cloud Native OLAP OLTP
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
122 4
|
25天前
|
Cloud Native 关系型数据库 分布式数据库
开发者视角看云原生数据库一体化技术趋势
随着云原生数据库技术的不断发展,一体化数据库解决方案成为技术圈的热点,云原生数据库一体化技术是当前数据库领域的重要趋势,对于开发者而言,学习理解和应对这一趋势,对于业务开发的成功实施非常重要。比如,阿里云瑶池数据库和PolarDB-X等产品通过离在线一体化、处理分析一体化和集中分布一体化等创新理念,引领了数据库领域的新变革。那么本文就来从开发者的角度探讨云原生数据库一体化技术趋势,并分析在业务处理分析一体化、集中式与分布式数据库边界模糊和云原生一体化数据库的选择等方面的影响。
186 4
|
29天前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
1月前
|
存储 数据管理 数据处理
数据之光:探索数据库技术的演进之路
数据之光:探索数据库技术的演进之路
60 1
|
7天前
|
存储 中间件 关系型数据库
数据库切片大对决:ShardingSphere与Mycat技术解析
数据库切片大对决:ShardingSphere与Mycat技术解析
13 0
|
20天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
94 0
|
15天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
2天前
|
存储 SQL 安全
6.数据库技术基础
6.数据库技术基础
|
16天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。
|
20天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)(一)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)
29 0

相关产品

  • 云数据库 MongoDB 版