NoSQL技术详解
2016-06-27 06:59
381 查看
1、NoSQL数据库概念
NoSQL数据库是非关系型数据库,主要是针对关系型数据库而言,它主要是用来解决半结构化数据和非机构化数据的存储问题。
2、为什么使用NoSQL数据库?
(1)对数据库的高并发读写的需求关系型数据库能够应付每秒上万次的读请求,但是却没有办法应付每秒上万次的写请求,如果达到每秒上万次的写请求,磁盘的IO就无法承受这么大的压力了。
(2)对海量数据的高效存储和访问的需求
NoSQL数据库可以处理超大量的数据,能够运行在便宜的PC集群上。
(3)对数据库的高可用性和高可扩展性的需求
关系型数据库难以横向扩展,但是NoSQL数据库却可以通过增加硬件的数量和服务节点的数量来扩展性能和服务器的负载能力。
3、关系型数据库的缺陷
(1)对于数据库事务一致性的需求(2)数据库的写实时性和读实时性的需求
(3)对于复杂的SQL语句,特别是多表关联的查询
4、NoSQL数据库有哪些?
(1)K/V:memcached和redis(2)列存储数据库:mongoDB和hbase
5、NoSQL的三大基石:CAP、BASE和最终一致性
(1)CAP:(consistency)一致性、(Availability)可用性、(Tolerance of network partition)分区容忍性(2)BASE:提出牺牲强一致性换取可用性和高性能,支持分区失败,允许一段时间的状态不同步,只要达到数据的最终一致性即可。而不需要时时一致。
(3)最终一致性:要求最终读取的操作都是最新写入的数据
6、IO的五分钟法则
如果数据库的一条记录被频繁访问,就应该将它放到内存中,否则就放到磁盘中按需访问。这个临界值是5分钟。
7、行存储和列存储的概念
(1)行存储:把一行中的数据值串在一起进行存储,然后再存储下一行,依次类推;(2)列存储:把一列中的数据值串在一起进行存储,然后再存储下一列,依次类推
相关文章推荐
- nosql
- 8 种常用的 NoSQL 数据库系统对比分析
- NoSQL开篇之为什么要使用NoSQL
- NoSQL数据库的分布式算法详解
- NoSQL和Redis简介及Redis在Windows下的安装和使用教程
- 最新统计排名前十的SQL和NoSQL数据库排行榜
- 大数据时代的数据库选择:SQL还是NoSQL?
- PHP对MongoDB[NoSQL]数据库的操作
- MongoDB系列教程(一):NoSQL起源
- NoSQL反模式 - 文档数据库篇
- 关于NoSQL之MongoDB的一些总结
- 纯Python开发的nosql数据库CodernityDB介绍和使用实例
- mongodb常遇到的错误。
- 08-【MongoDB入门教程】使用mongo命令行删除数据
- 09-【MongoDB入门教程】使用mongo命令行进行数据聚合
- 11-【MongoDB入门教程】MongoDB原子性和事务
- 用redis实现社交产品中计数器
- MongoDB 数据库搭建
- mongoDB数据库设置用户名及密码
- ledisdb作为嵌入式存储引擎入门例程