《MongoDB管理与开发精要》读书摘记
基础篇
认识MongoDB
MongoDB是一个高性能、开源、无模式的文档型数据库
。使用c++
开发。
NoSQL简介
NoSQL(Not Only SQL,非关系型数据库)的主要特点是非关系型的、分布式的、开源的、水平扩展的。
NoSQL的类型有Key-Value
存储、文档型、列存储、图型数据库、XML数据库等。
NoSQL产生背景
关系型数据库在越来越多的应用场景下不那么合适了。
- 对数据库并发读写的需求
- 对海量数据的高效率存储和访问的需求
- 对数据库的高扩展性和高可用性的需求
- 很多web系统对数据库事务一致性的需求很低,数据库事务管理不仅无用武之地,还成了数据库的高负载下的负担。
- 很多应用的数据库的写实时性和读实时性的需求并不是特别高,关系型数据库的实时读写无用武之地。
NoSQL的种类
面向文档的非关系型数据库主要解决的问题
在保证海量存储的同时,提供良好的查询性能。MongoDB主要解决的就是海量数据的访问效率问题。根据官方文档记载,当数据量达到50GB以上时,MongoDB的数据库访问速度是MySQL的10倍以上。
MongoDB不是为了解决高性能的并发读写而出现的,它的并发读写效率并不出色。
MongoDB自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储。
MongoDB有一个Ruby的项目MongoMapper,是模仿Merb的DataMapper编写的MongoDB接口,使用起来很简单,但是功能很强大。
满足高读写性能的Key-Value数据库
比如:Redis
满足高可扩展性和可用性的面向分布式计算的数据库
比如:Cassandra
NoSQL的特点
- 运行在便宜的服务器集群上。集群扩充方便又廉价。
- 击碎了性能瓶颈,执行速度特别快。
- 没有过多的复杂操作。
认识MongoDB
MongoDB是一个介于关系型数据库和非关系型数据之间的产品,是非关系数据库中功能丰富、像关系型数据库的。它支持的数据结构非常松散,是类似JSON和BSON格式,可以存储比较复杂的数据类型。
MongoDB特点及功能
- 面向集合存储(collection-oriented)
- 模式自由(Schema-Free)
{“welcome”:“beijing”}
{“age":25}
相关文章