Mo
goDB开发使用手册
一基础部分
Mo
gDB简介
1NOSQL历史和产生原因
原因互联网用户数的增长和用户参与互联网习惯的改变
1初始的静态内容网站提供中心化的内容服务
特点中心化用户阅读内容
系统Apache
2动态网页内容电子商务和论坛网站出现。
特点用户访问动态内容并提供少量内容
系统ApacheMysqlPhpIISASPSQLSERVERIISASP
etSQLSERVER
TOMCATJSPORACLE
3博客出现去中心化网站出现。
特点Web20网站的雏形用户阅读内容并开始更多地参与网站的交互
系统高并发访问数据库压力增大Memcached缓存的出现并出现数据库集群的概念
4微博淘宝等网站出现以及云计算平台出现如google百度广告等大规模系统
特点用户重复参与网站交互和内容提供而系统需要对用户行为进行分析
系统支持高并发及时响应并能够实现分布式计算
NOSQLMemcachedRedisHbase等NOSQL数据库不仅仅是简单缓存并能够提供分布式要求包括复制分片水平分区并提供复杂格式的数据存储
总结
1高并发读写操作
普通关系型数据库很难满足高并发读写的要求上万次读写的需求
2海量数据存储
上亿用户产生大量数据包括用户数据访问日志用户提供内容用户状态记录等这种海量数据的存储关系型数据库已经很难满足尤其是从海量数据中提取和汇总数据成为瓶颈
3高可用性和高扩展性
关系型数据库也能支持同步复制水平分区扩展但维护工作相当繁杂并很难做到热扩展
4内存操作快速并发量高非阻塞进程硬盘回写数据完整和高效的平衡备份和恢复
复制高可用性和连续服务分片热扩展海量数据操作简单JSON负载均衡分布式部署局域网和物理部分事务支持
f2主流的NOSQL介绍
f3Mo
godb概述
31Mo
godb内部文件和内存管理
结构DatabaseCollectio
Docume
t
f●每个数据库都有相应的数据库文件
示例新建了两个数据库testtest1并在两个collectio
user1user2分别插入记录
显示相关数据
rootlocalhostdblsl
rwxrxrx1rootroot512231707mo
godlock
rw1rootroot1677721612231708test0
rw1rootroot3355443212231708test1
rw1rootroot1677721612231708test10
rw1rootroot3355443212231708test11
rw1rootroot1677721612231708test1
s
rw1rootroot1677721612231708test
s
drwxrxrx2rootroot409612231708_tmp
分别按两倍递增16M32M64M128M…2G最大为2G所以mo
godb单服务器和数据库最大存储上限为2G
●内存管理方式
f1Mo
god启动时会载入相应文件到物理内存并把内存管理交给系统内存使用和结
构如下所示如果数据量很大mo
god启动的速度会较慢
2物理内存虚拟r