All Projects → y123456yz → Reading And Annotate Mongodb 3.6

y123456yz / Reading And Annotate Mongodb 3.6

Licence: apache-2.0
分布式文档数据库mongodb-3.6(mongos、mongod、wiredtiger存储引擎)源码中文注释分析,近期持续更新(源码学习交流QQ群:568892619)

reading-and-annotate-mongodb-3.6

mongodb-3.6源码注释分析,持续更新

===================================

对外演讲

专栏

其他

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

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

===================================

<<mongodb源码设计实现、性能优化、最佳运维实践>>

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

说明:

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

源码中文已注释代码列表如下:

boost-asio网络库/定时器源码实现注释(只注释mongodb相关实现的asio库代码)(100%注释):

mongodb网络传输模块(transport)处理实现(100%注释):

transport_layer传输层子模块:
Ticket数据收发回调处理子模块(100%注释):
Session会话子模块(100%注释):
service_state_machine状态机子模块(100%注释):
service_executor服务运行(工作线程模型)子模块(100%注释):
service_entry_point_impl服务入口子模块(100%注释):

message/DbMessage/OpMsgRequest协议处理(100%注释):

时间嘀嗒及系统级定时器实现(100%注释):

mongod/mongos服务入口处理(100%注释):

command命令处理模块(注释完毕,命令太多,请参考前面的《command命令处理模块源码实现》):

db.serverStatus()相关统计(注释完毕):

stats相关统计(注释完毕):

OpMsgRequest和写write_ops:(insert、update、delete)转换操作(100%注释): :

write写模块:

write处理入口(100%注释):
OpMsgRequest和写write_ops:(insert、update、delete)转换操作(100%注释): :
增删改处理(100%注释): :

query请求处理模块:

query_request请求解析和canonical_query规范化转换操作(核心流程注释完毕):
MatchExpression tree生成及优化过程(核心流程注释完毕):
get_executor获取PlanExecutor(核心流程注释完毕):
QueryPlannerIXSelect实现MatchExpression tree相关node关联对应RelevantTag(核心流程注释完毕):
plan_enumerator轮询枚举每个查询所有的候选索引信息(核心流程注释完毕):
index_tag相关(核心流程注释完毕):
生成QuerySolutionNode tree及querysolution(核心流程注释完毕):
get_executor根据querysolurion生成PlanStage(核心流程注释完毕):
PlanStage(核心流程注释完毕):
plan_ranker对每个候选solution打分,选出最优索引(核心流程注释完毕):
get_executor根据querysolurion生成PlanStage(核心流程注释完毕):
plan_executor执行器(核心流程注释完毕):
plan_cache plan缓存(核心流程注释完毕):

shard分片源码实现(注释进行中):

分布式锁实现源码注释分析(100%注释):
代理定期更新config.mongos实现源码注释分析(100%注释):
cfg复制集库表结构管理(config.databases、config.collections)(100%注释):
分片片建shard key(100%注释):

mongodb存储引擎wiredtiger源码分析

https://github.com/y123456yz/reading-and-annotate-wiredtiger-3.0.0

rocksdb存储引擎源码分析

https://github.com/y123456yz/reading-and-annotate-rocksdb-6.1.2

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].