• Stars
    star
    114
  • Rank 308,031 (Top 7 %)
  • Language
    C++
  • Created over 3 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

分布式文档数据库mongodb-4.4(mongos、mongod、wiredtiger存储引擎)源码中文注释分析,近期持续更新(近期重点)

#reading-and-annotate-mongodb-4.4

mongodb-4.4最新版本内核源码中文模块化注释详细分析

mongodb-4.4版本内核源码中文注释分析

mongodb-3.6版本内核源码中文模块化注释详细分析

mongodb-3.6版本内核源码中文注释分析

对外演讲

# 对外演讲 演讲内容
1 Qcon全球软件开发大会分享 OPPO万亿级文档数据库MongoDB集群性能优化实践
2 2021年度Gdevops全球敏捷运维峰会 PB级万亿数据库性能优化及最佳实践
3 2019年mongodb年终盛会 OPPO百万级高并发MongoDB集群性能数十倍提升优化实践
4 2020年mongodb年终盛会 万亿级文档数据库集群性能优化实践
5 2021年dbaplus分享 万亿级文档数据库集群性能优化实践

专栏

# 专栏名 专栏内容
1 infoq专栏 《MongoDB内核源码设计、性能优化、最佳运维实践》
2 oschina专栏 《mongodb内核源码中文注释详细分析及性能优化实践系列》
3 知乎专栏 《MongoDB内核源码设计、性能优化、最佳运维实践》
4 itpub专栏 《mongodb内核源码设计实现、性能优化、最佳运维实践》

<<千万级峰值tps/十万亿级数据量文档数据库内核研发及运维之路>>

# 文章内容
1 盘点 2020 - 我要为分布式数据库 mongodb 在国内影响力提升及推广做点事
2 万亿级数据库 MongoDB 集群性能数十倍提升及机房多活容灾实践
3 Qcon现代数据架构 -《万亿级数据库 MongoDB 集群性能数十倍提升优化实践》核心 17 问详细解答
4 数百万级代码量mongodb内核源码阅读经验分享
5 话题讨论 - mongodb 相比 mysql 拥有十大核心优势,为何国内知名度不高?
6 万亿级数据库 MongoDB 集群性能数十倍提升及机房多活容灾实践
7 百万级高并发mongodb集群性能数十倍提升优化实践(上篇)
8 百万级高并发mongodb集群性能数十倍提升优化实践(下篇)
9 Mongodb网络传输处理源码实现及性能调优-体验内核性能极致设计
10 常用高并发网络线程模型设计及mongodb线程模型优化实践(最全高并发网络IO线程模型设计及优化)
11 Mongodb集群搭建一篇就够了-复制集模式、分片模式、带认证、不带认证等(带详细步骤说明)
12 Mongodb特定场景性能数十倍提升优化实践(记一次mongodb核心集群雪崩故障)
13 mongodb内核源码设计实现、性能优化、最佳运维系列-mongodb网络传输层模块源码实现二
14 为何需要对开源mongodb社区版本做二次开发,需要做哪些必备二次开发
15 对开源mongodb社区版本做二次开发收益列表
16 盘点 2020 - 我要为分布式数据库 mongodb 在国内影响力提升及推广做点事
17 300 条数据变更引发的血案 - 记某十亿级核心 mongodb 集群部分请求不可用故障踩坑记
18 记十亿级Es数据迁移mongodb成本节省及性能优化实践
19 千亿级数据迁移mongodb成本节省及性能优化实践
20 千亿级数据迁移 mongodb 成本节省及性能优化实践 (附性能对比质疑解答)
21 记某百亿级 mongodb 集群数据过期性能优化实践
27 mongodb内核源码实现、性能调优、最佳运维实践系列-数百万行mongodb内核源码阅读经验分享
28 mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现一
29 mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现二
30 mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现三
31 mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现四
32 mongodb内核源码实现、性能调优、最佳运维实践系列-command命令处理模块源码实现一
33 mongodb内核源码实现、性能调优、最佳运维实践系列-command命令处理模块源码实现二
34 mongodb内核源码实现、性能调优、最佳运维实践系列-command命令处理模块源码实现三
35 mongodb内核源码实现、性能调优、最佳运维实践系列-记mongodb详细表级操作及详细时延统计实现原理(教你如何快速进行表级时延问题分析)
36 mongodb内核源码实现、性能调优、最佳运维实践系列-Mongodb write写(增、删、改)模块设计与实现

《mongodb-3.6内核源码设计与实现》源码模块化分析

第一阶段:单机内核源码分析

单机模块化架构图

# 单机模块名 核心代码中文注释 说明 模块文档输出
1 网络收发处理(含工作线程模型) 网络处理模块核心代码实现(100%注释分析) 完成ASIO库、网络数据收发、同步线程模型、动态线程池模型等功能 详见infoq专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
2 command命令处理模块 命令处理相关模块源码分析(100%注释分析) 完成命令注册、命令执行、命令分析、命令统计等功能 详见oschina专栏:《mongodb内核源码中文注释详细分析及性能优化实践系列》
3 write写(增删改操作)模块) 增删改写模块(100%注释分析) 完成增删改对应命令解析回调处理、事务封装、storage存储模块对接等功能 详见知乎专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
4 query查询引擎模块) query查询引擎模块(核心代码注释) 完成expression tree解析优化处理、querySolution生成、最优索引选择等功能 详见知乎专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
5 concurrency并发控制模块 并发控制模块(核心代码注释) 完成信号量、读写锁、读写意向锁相关实现及封装 详见infoq专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
6 index索引模块 index索引模块(100%注释分析) 完成索引解析、索引管理、索引创建、文件排序等功能 详见oschina专栏:《mongodb内核源码中文注释详细分析及性能优化实践系列》
7 storage存储模块) storage存储模块(100%注释分析) 完成存储引擎注册、引擎选择、中间层实现、KV实现、wiredtiger接口实现等功能 详见知乎专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
8 wiredtiger存储引擎) wiredtiger存储引擎设计与实现专栏分析(已分析部分) 完成KV读写、存储结构、checkpoint择等主功能,待完善 详见知乎专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》

第二阶段:复制集内核源码分析(已分析部分源码,待整理,持续分析)

第三阶段:sharding分片内核源码分析(已分析部分源码,待整理,持续分析)

第四阶段:wiredtiger存储引擎源码分析(已分析部分源码,待整理,持续分析)

第五阶段:重新回顾分析mongodb内核主模块以外细节(已分析部分源码,待整理,持续分析)

其他

nginx高并发设计优秀思想应用于其他高并发代理中间件:

redis、nginx、memcache、twemproxy、mongodb等更多中间件,分布式系统,高性能服务端核心思想实现博客:

More Repositories

1

reading-code-of-nginx-1.9.2

nginx-1.9.2源码通读分析注释,带详尽函数中文分析注释以及相关函数流程调用注释,最全面的nginx源码阅读分析中文注释,更新完毕
C
4,135
star
2

Reading-and-comprehense-linux-Kernel-network-protocol-stack

linux内核网络协议栈源码阅读分析注释--带详尽中文分析注释以及相关流程分析调用注释,对理解分析内核协议栈源码很有帮助
C
1,189
star
3

middleware_development_learning

中间件、高性能服务器、分布式存储等(redis、memcache、nginx、大容量redis pika、rocksdb、mongodb、wiredtiger存储引擎、高性能代理中间件)二次开发、性能优化,逐步整理文档说明并配合demo指导--每周末定时更新2-3篇技术文章及程序demo
C
713
star
4

Reading-and-comprehense-redis-cluster

分布式NOSQL redis源码阅读中文分析注释,带详尽注释以及相关流程调用注释,提出改造点,redis cluster集群功能、节点扩容、槽位迁移、failover故障切换、一致性选举完整分析,对理解redis源码很有帮助,解决了source insight中文注释乱码问题,更新完毕
C
676
star
5

reading-and-annotate-mongodb-3.6

分布式文档数据库mongodb-3.6(mongos、mongod、wiredtiger存储引擎)源码中文注释分析,持续更新。后期重点进行mongodb-4.4最新版本内核源码分析
C++
509
star
6

reading-and-annotate-quic

quic、prot_quic、goquic、libquic源码中文注释分析,增加C++ quic-client和quic-server example 程序,便于快速掌握学习谷歌quic库源码和学习quic协议,作为新的网络加速协议,可以根据实际需要应用于自己的工程项目中。把google quic源码和goquic合并到一个工程编译安装
C
314
star
7

reading-and-annotate-rocketmq-3.4.6

阿里巴巴分布式消息队列中间件rocketmq-3.4.6源码分析、中文详细注释,停止更新
Java
190
star
8

tcprstat

服务器时延统计工具,在原有功能基础上,增加时延阈值统计,记录超过阈值的包个数,并把数据包时间戳记录到日志文件,这样可以根据时间戳快速定位到抓包文件中对应的包,从而可以快速定位到大时延包,避免了人肉搜索抓包文件,提高问题排查效率,所有参数可配置。可以以在线方式和离线方式分析redis、memcached、mysql、nginx等请求应答系统的时延,并定位慢响应数据报文。(源码学习交流QQ群:568892619)
C
166
star
9

reading-and-annotate-rocksdb-6.1.2

rocksdb-6.1.2 KV存储引擎源码中文注释分析,后期与mongodb默认KV存储引擎wiredtiger进行原理与性能比较,近期持续更新
C++
115
star
10

reading-and-annotate-docker-17.05.0

docker-17.05.0 containerd opencontainers/runc lxc mesos源码中文注释详细分析,带详细注释说明,学习容器技术很有帮助,近期持续更新
Go
66
star
11

reading-and-annotate-wiredtiger-3.0.0

文档数据库mongodb kv存储引擎wiredtiger源码详细分析注释
C
62
star
12

Reading-and-comprehense-twemproxy0.4.1

redis、memcached缓存代理twemproxy源码详细分析注释,带详尽中文注释及函数调用关系
C
53
star
13

reading-and-annotate-mongodb-5.0

分布式文档数据库mongodb-5.0(mongos、mongod、wiredtiger存储引擎)源码中文注释分析,近期持续更新(近期重点)
C++
51
star
14

Reading-and-comprehense-memcached-1.4.22

memcached源码详细分析注释,带详尽中文注释及函数调用关系,更新完毕
C
51
star
15

reading-and-annotate-nghttp2

HTTP/2库nghttp2源码中文注释分析, 后期不在更新,。停止分析nghttp2库主要原因:冗余代码太多,可读性差。如果想了解HTTP2代码实现过程,可以参考工程: reading-code-of-nginx-1.9.2;如果想学习quic实现过程,可以参考工程:reading-and-annotate-quic
C++
44
star
16

reading-and-annotate-lxc-1.0.9

容器技术:lxc-1.0.9 lxcfs-2.0.0 fuse-2.8.7源码详细注释分析
C
15
star
17

reading-and-annotate-mesos-1.2.0

Apache开源分布式资源管理框架mesos源码注释分析,新增mesos_framework_demo,带详细注释
C++
14
star