NoSql对比与选型,应用场景分析
来源:互联网 发布:php短网址源码 编辑:程序博客网 时间:2024/06/07 01:39
传统“关系型数据库”在应付互联网WEB2.0应用已显示的力不从心,由其是超大规模和高并发的SNS类型的WEB2.0网站。
主要需要应对以下三方面难题:
1、对数据库高并发读写的要求。
2、对数据库高可扩展性和高可用性的要求。
3、对海量数据高效存储和访问的要求。
”关系型数据库“固有的特性确用处不大
1、对数据库事务一致性要求低。很多WEB应用不要求严格的数据库事务,有些对读一致性要求不高,更有些对写一致性也要求不高。
2、对数据库写实时性和读实时性要求低。如发送消息给订阅者,可以接受延迟。
3、对复杂SQL查询的要求低。如非常忌讳多张大表关联查询。
为了解决以上问题,”非关系型数据库“(NoSql -- not only SQL)应运而生,再很短的时间内涌现出众多的NoSQL产品。他们各有各的适用场景,你是否对这些特性有所了解?你是否在选型时一片茫然? 本文将解答你的疑惑,帮助你选择正确的NoSQL产品,让你少走些弯路。
NoSQL数据库分类:
1、key-value存储型--满足极高读写要求。
2、文档存储型--海量存储和访问的数据库。
3、列存储型--高可扩展性,可用性,面向分布式计算的数据库。
4、图存储型--适合存储关系
NoSQL数据库根据数据的存储模型和特点分为很多种类。
类型
部分代表
特点
列存储
Hbase
Cassandra
Hypertable
顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。
文档存储
MongoDB
CouchDB
文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。
key-value存储
Tokyo Cabinet / Tyrant
Berkeley DB
MemcacheDB
Redis
可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)
图存储
Neo4J
FlockDB
InfoGrid
图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。
对象存储
db4o
Versant
通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。
xml数据库
Berkeley DB XML
BaseX
高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。
Memcached 读写速度 1.6万/秒
Memcachedb 读写速度 8000/秒
Redis 读写 1万次/秒
MongoDB 读写 8000次/秒 (数据量达到50G后,是MySQL的10倍)(使用笔记本的5400转硬盘测试时 4000次写/s)
Oracle 插入 5000行/秒
Mysql(内存表)插入5000行/秒
Mysql 表 插入4000行/秒
SqlServer 插入2600行/秒
Cassandra (5000 OPS 每条数据1.5K,50%读,50%写,单节点) OPS =operations per second
Cassandra (2000 OPS 每条数据15K,50%读,50%写,单节点) OPS =operations per second
- NoSql对比与选型,应用场景分析
- 对比主流NoSQL数据库特性与应用场景
- 对比主流NoSQL数据库特性与应用场景
- SQL到NoSQL概览性总结之一 数据库应用场景选型
- nosql应用场景
- NoSQL - Redis应用场景
- NoSql对比分析
- NoSql对比分析
- NoSql对比分析
- 多进程与多线程应用场景对比
- 线程池与非线程池应用场景及模型对比分析
- 线程池与非线程池应用场景及模型对比分析
- MySQL与NoSQL对比
- NoSQL以及其应用场景
- Nosql的实际应用场景
- NoSQL数据库的应用场景
- Nosql的实际应用场景
- spring的Profile使用对比和应用场景分析
- 读书 曾国藩(最新图文版)
- 题目4-7 斐波那契数列、跳台阶、矩形覆盖
- java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
- 设置Ubuntu 12.04 Unity返回到经典Gnome桌面
- ajax对象数组传参方式
- NoSql对比与选型,应用场景分析
- PHP在FastCGI模式时fastcgi_finish_request的妙用
- 风的世界里有海的七滴泪水
- 用Jaxp包中的SAX技术对XML文件进行解析并完成对文件的读取操作.doc
- 心得5--XML编程(CRUD)--dom、sax解析案例分析
- 我的世界观(二)智能存在的意义
- 浏览器兼容性改造之为XML支持
- undefined reference to 'pthread_create' 问题解决
- CentOS6.3配置samba文件服务器