文档介绍:千万百万不算富
炫富就炫数据库
吴延庆
什么是NoSQL
NoSQL (NoSQL = Not only SQL)
是一种与关系型数据库管理系统截然不同的数据库管理系统,它的数据存储格式可以是松散的、通常不支持Join操作
什么是NoSQL
什么是NoSQL
解决的问题
存在的不足
对数据库的高并发读写
对海量数据的高效率存储和访问
数据库的可扩展性
绝大多数NoSQL只能提供简单的查询,无法进行多表联合查询等复杂的查询操作
功能相对贫乏,在一些要求事物一致性较高、业务逻辑比较复杂或者一些需要复杂分析查询的环境中,NoSQL还难以担当重任
NoSQL的家族数据库
MongoDB
是一个基于分布式文件存储的数据库。
由C++语言编写。
旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB (from "humongous")
Linux、Mac、Linux、Solaris
由10gen团队开发
mongoDB 简介
高性能、易部署
面相集合存储,易存储对象类型的数据
模式自由
支持动态查询
支持完全索引,包含内部对象
支持复制和故障恢复(replication)
支持高效的二进制数据存储(GridFS)
自动处理碎片,支持云计算层次的扩展性
支持RUBY、PYTHON、JAVA、C++、PHP、C#等多语言
文件存储格式为BSON
mongoDB 特性
网站数据:Mongo非常适合实时的插入、更新与查询,并且具备网站实时数据存储所需的复制及高度伸缩性。
缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。
大尺寸,低价值的数据:使用传统关系型数据库存储日志类信息时可能会比较昂贵。
高伸缩性的场景、分布式系统。
用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。
mongoDB 适用场合
高度事务性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事物的应用程序。
传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式。
需要SQL的问题
mongoDB 不适用场合
CAP定理(CAP theorem), 又称作布鲁尔定理(Brewer's theorem),对于一个分布式计算系统来说,不可能同时满足以下三点:
•一致性(Consistency) (所有节点在同一时间具有相同的数据)
•可用性(Availability) (保证每个请求不管成功或者失败都有响应)
•分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。
官网下载:
nloads
下载-安装-启动
官网下载:
nloads