MongoDB组成
mongodb-org-server: 其中包含了守护进程、关联配置和初始化脚本。
mongodb-org-mongos: 包含了mongoDB的守护进程。
mongodb-org-shell: 主要是和mongoDB交互的接口。
mongodb-org-tools: 包含了mongoDB的全部的工具包。
数据库简介(关系型和非关系型)
1.1.1 什么是数据?
数据(英语:data),是指未经过处理的原始记录。
一般而言,数据缺乏组织及分类,无法明确的表达事物代表的意义,它可能是一堆的杂志、一大叠的报纸、数种的开会记录或是整本病人的病历纪录。数据描述事物的符号记录,是可定义为意义的实体,涉及事物的存在形式。是关于事件之一组离散且客观的事实描述,是构成讯息和知识的原始材料。
1.1.2 什么是数据库管理系统?
数据库管理系统(英语:database management system,缩写:DBMS) 是一种针对对象数据库,为管理数据库而设计的大型电脑软件管理系统。
具有代表性的数据管理系统有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。通常数据库管理师会使用数据库管理系统来创建数据库系统。
现代DBMS使用不同的数据库模型追踪实体、属性和关系。在个人电脑、大型计算机和主机上应用最广泛的数据库管理系统是关系型DBMS(relational DBMS)。在关系型数据模型中,用二维表格表示数据库中的数据。这些表格称为关系。
数据库管理系统主要分为俩大类:RDBMS、NOSQL
1.1.3 NoSQL简介
NoSQL是对不同于传统的关系数据库的数据库管理系统的统称。
两者存在许多显著的不同点,其中最重要的是NoSQL不使用SQL作为查询语言。其数据存储可以不需要固定的表格模式,也经常会避免使用SQL的JOIN操作,一般有水平可扩展性的特征。
NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。
基于2014年的收入,NoSQL市场领先企业是MarkLogic,MongoDB和Datastax。基于2015年的人气排名,最受欢迎的NoSQL数据库是MongoDB,Apache Cassandra和Redis.
NoSQL数据库四大家族
NoSQL中的四大家族主要是:列存储、键值、图像存储、文档存储

NoSQL的优势
高可扩展性、分布式计算、没有复杂的关系、低成本架构灵活、半结构化数据
NoSQL与RDBMS对比

mongodb
mongodb特性

缺点
*多表关联: 仅仅支持Left Outer Join
*SQL 语句支持: 查询为主,部分支持
*多表原子事务: 不支持
*多文档原子事务:不支持
*16MB 文档大小限制,不支持中文排序 ,服务端 Javascript 性能欠佳
与MySQL的结构对比

mongodb功能:
JSON 文档模型、动态的数据模式、二级索引强大、查询功能、
自动分片、水平扩展、自动复制、高可用、文本搜索、企业级安全、
聚合框架MapReduce、大文件存储GridFS
存储引擎对比

mongodb优化
Transparent Huge Pages (THP),通过使用更大的内存页面,可以减少具有大量内存的机器上的缓冲区(TLB)查找的开销。
但是,数据库工作负载通常对THP表现不佳,因为它们往往具有稀疏而不是连续的内存访问模式。您应该在Linux机器上禁用THP,以确保MongoDB的最佳性能。
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF
网友评论