66套java从入门到精通实战课程领取
帖子信息
[图灵程序设计丛书].深入学习mongodb.pdf
yanliang   分享于  2023-04-03   查看次数: 106 次   所需:0 积分
0

1 章 欢迎来到分布式计算的世界 ............................................................................................ 1

2 章 理解分片................................................................................................................................5

2.1 分割数据 ..................................................................................................................................... 7 2.1.1 分配数据 ........................................................................................................................8 2.1.2 如何创建块 .................................................................................................................. 11

2.2 平衡 ........................................................................................................................................... 14 2.3 mongos ......................................................................................................................................17 2.4 配置服务器 ............................................................................................................................... 18 2.5 集群的构造 ............................................................................................................................... 18

3 章 建立集群..............................................................................................................................21

3.1 选择片键 ................................................................................................................................... 23 3.1.1 小基数片键 ..................................................................................................................23 3.1.2 升序片键 ......................................................................................................................25 3.1.3 随机片键 ......................................................................................................................26 3.1.4 好片键 ..........................................................................................................................27

3.2 新老集合分片 ........................................................................................................................... 29 3.2.1 快速起步 ......................................................................................................................29 3.2.2 配置服务器 ..................................................................................................................29 3.2.3 mongos .......................................................................................................................... 30 3.2.4 分片 ..............................................................................................................................31 3.2.5 数据库和集合 ..............................................................................................................32

目录

V

3.3 增减容量 ................................................................................................................................... 33 3.3.1 移除分片 ......................................................................................................................34 3.3.2 修改分片中的服务器 ..................................................................................................35

4 章 使用集群..............................................................................................................................37

4.1 查询 ........................................................................................................................................... 39 4.2 为什么会这样 ........................................................................................................................... 39 4.2.1 计数 ..............................................................................................................................39 4.2.2 唯一索引 ......................................................................................................................40 4.2.3 更新 ..............................................................................................................................41 4.3 MapReduce................................................................................................................................ 42

5 章 管理.......................................................................................................................................43

5.1 使用命令行 ............................................................................................................................... 45 5.1.1 了解概况 ......................................................................................................................45 5.1.2 配置集合 ......................................................................................................................46 5.1.3 应该连接什么 ..............................................................................................................47

5.2 监控 ........................................................................................................................................... 47 5.2.1 mongostat ...................................................................................................................... 48 5.2.2 Web 管理界面 .............................................................................................................. 48

5.3 备份 ........................................................................................................................................... 49 5.4 关于架构的建议 ....................................................................................................................... 50 5.4.1 创建应急站点 ..............................................................................................................50 5.4.2 挖护城河 ......................................................................................................................50 5.5 错误处理 ................................................................................................................................... 51 5.5.1 分片停机 ......................................................................................................................51 5.5.2 多数分片停机 ..............................................................................................................51 5.5.3 配置服务器停机 ..........................................................................................................52 5.5.4 mongos 进程死掉.........................................................................................................52 5.5.5 其他注意事项 ..............................................................................................................53

6 章 学习资源..............................................................................................................................55 MongoDB 开发技巧 50

1 章 应用设计技巧.....................................................................................................................65

1.1 技巧 1:速度和完整性的折中................................................................................................67 1.1.1 示例:网上购物车 ......................................................................................................68 1.1.2 考虑因素 ......................................................................................................................69

VI | 目录

1.2 技巧 2:适应未来的数据要范式化........................................................................................70 1.3 技巧 3:尽量单个查询获取数据............................................................................................71 1.3.1 示例:博客 ..................................................................................................................71 1.3.2 示例:相册 ..................................................................................................................72 1.4 技巧 4:嵌入关联数据............................................................................................................72 1.5 技巧 5:嵌入时间点数据........................................................................................................73 1.6 技巧 6:不要嵌入不断增加的数据........................................................................................73 1.7 技巧 7:预填充数据................................................................................................................73 1.8 技巧 8:尽可能预先分配空间................................................................................................74 1.9 技巧 9:用数组存放要匿名访问的内嵌数据........................................................................75 1.10 技巧 10:文档要自给自足....................................................................................................77 1.11 技巧 11:优先使用 $ 操作符................................................................................................79 1.11.1 深入了解 ...................................................................................................................79 1.11.2 提高性能 ...................................................................................................................79 1.12 技巧 12:随时聚合................................................................................................................80 1.13 技巧 13:编写代码处理数据完整性问题............................................................................80

2 章 实现技巧..............................................................................................................................83

2.1 技巧 14:使用正确的类型......................................................................................................85 2.2 技巧 15:用简单唯一的 id 替换 _id ...................................................................................85 2.3 技巧 16:不要用文档做 _id..................................................................................................86 2.4 技巧 17:不要用数据库引用..................................................................................................86 2.5 技巧 18:不要用 GridFS 处理小的二进制数据....................................................................87 2.6 技巧 19:处理无缝故障切换..........................................................................................88 2.7 技巧 20:处理复制组失效及故障恢复..................................................................................88

3 章 优化技巧..............................................................................................................................89

3.1 技巧 21:尽可能减少磁盘访问..............................................................................................91 3.2 技巧 22:使用索引减少内存占用..........................................................................................92 3.3 技巧 23:不要到处使用索引..................................................................................................94 3.4 技巧 24:索引覆盖查询..........................................................................................................95 3.5 技巧 25:使用复合索引加快多个查询..................................................................................95 3.6 技巧 26:通过建立分级文档加速扫描..................................................................................96 3.7 技巧 27:AND 型查询要点 ....................................................................................................98 3.8 技巧 28:OR 型查询要点 .......................................................................................................98

4 章 数据安全性和一致性......................................................................................................101

4.1 技巧 29:单机做日志多机则复制....................................................................................103 4.2 技巧 30:坚持使用复制或日志 , 或两者兼用.....................................................................104 4.3 技巧 31:不要信任 repair 恢复的数据 ...........................................................................105

目录 | VII

4.4 技巧 32:getlasterror....................................................................................................105 4.5 技巧 33:开发过程中一定要使用安全写入........................................................................106 4.6 技巧 34:使用 w 参数............................................................................................................106 4.7 技巧 35:一定要给 w 设置超时............................................................................................107 4.8 技巧 36:不要每次写入都调用 fsync ...............................................................................108 4.9 技巧 37:崩溃之后正常启动................................................................................................108 4.10 技巧 38:持久性服务器的瞬时备份..................................................................................108

5 章 管理技巧............................................................................................................................109

5.1 技巧 39:手工清理块集合 .................................................................................................... 111 5.2 技巧 40:repair 压缩数据库 ........................................................................................ 111 5.3 技巧 41:不要改变复制组成员投票的权值........................................................................112 5.4 技巧 42:无活跃节点时可重置复制组................................................................................113 5.5 技巧 43:不必指定 --shardsvr --configsvr 参数...............................................115 5.6 技巧 44:开发时才用 --notablescan.............................................................................115 5.7 技巧 45:学习 JavaScript ...................................................................................................... 116 5.8 技巧 46:shell 中管理所有服务器和数据库 .................................................................. 116 5.9 技巧 47:获得帮助................................................................................................................117 5.10 技巧 48:创建启动文件......................................................................................................118 5.11 技巧 49:自定义函数 .......................................................................................................... 119 5.12 技巧 50:使用单个连接读取自身写入..............................................................................120


评论信息  共0条
相关资源
Powered by Java1234  |  免责申明   |  侵权举报
Copyright © 2012-2023 Java知识分享网 版权所有