no sql带来了什么 孙立
DESCRIPTION
No sql带来了什么 孙立TRANSCRIPT
LAMP人 主题分享交流会
LAMP人主题分享交流会
www.LAMPER.cn
QQ群:3330312
http://weibo.com/lampercn
带来了什么?
孙立@qunar.com
weibo.com@sunli1223
目录
NoSQL相对MySQL带来了哪些好处
NoSQL促进关系数据库的发展
NoSQL带来的问题
总结
NoSQL带来了什么
关系数据库面临的场景
DB
数据
扩展
性能
扩展
需求
扩展
数据
分析
多场
景
……
单机 主从一主多从
Mysqlcluster
简单 复杂
“MySQL是互联网用得
最广泛的关系数据库”
MySQL需要复杂的设计
大数据备份
SQL语句优化
表结构、索引优化
CACHE
复杂的参数优化
大数据恢复
TPS能否满足
多种复杂架构
随时关注慢查询
分库分表
NoSQL-So Easy!
基本不需要考虑数据恢复
数据结构和架构简单
不用写SQL、无慢查询
不用考虑表结构、字段索引
简单的配置优化 NoSQL提供的功能少、一般只针对某些应用场景,你需
要考虑的你能考虑的就不多
MySQL的性能很脆弱
系统总是间断性缓慢,然后集中时间进行优化
DBA很忙 开发总是在纠结
系统进行有限的查询组合
慢查询、索引 IO、Cache
MySQL提供的SQL关系查询功能
多表join 强大的功能和函数
NoSQL-让系统一直高效
系统总是高效
无DBA 节省成本
系统进行有限的查询组合
NoSQL 功能约束 只能使用高效的API
只提供有限的、简单的高效存取API
无SQL慢查询 永远高效
MySQL- One Size Fits All
存储
查询
分析
计算
事务
各种读写
其他 MySQL功能非常强大,几乎能
解决所有跟存储有关的问题
关系数据库也一直应付着所有
的需求
你见过上百行的SQL吗?
NoSQL- 专注
• 文档型存储
• 简单关系查询Mongodb
• 多数据结构支持
• 高性能读写Redis
• 列存储、实时读取
• 海量数据、横向扩展Hbase
• key-value
• Hash,tree,memory类型Ttserver
• 图存储Neo4j
NoSQL只专注特殊场景、只做自己擅长的事情
NoSQL-因特殊需求而生
Big-tablehbase
redisoceanBase
foursquare
Mongodbcassandra
开发自己的NoSQL存储
豆瓣-beansDB
淘宝-OceanBase
新浪-MemcacheDB
人人网-NuClear
你不能开发一个自己的关系数据库
但是你能开发一个自己的NoSQL
NoSQL让更多人的了解存储
Lock
IO
分布式
一致性
高可用
网络协议
NoSQL带来思维的转变
关系数据库负责关系索引
NoSQL负责海量存储
非结构化和半结构化存储
减少数据库schema的变化
无缝线性扩展变得更加容易不能满足需求时,数据库也
可以自己动手写
数据库原来可以更简单 Map/Reduce 海量数据分析
NoSQL和NewSQL
NoSQL带来的缺点
✓难于选择一个合适的
✓成熟度问题
✓官方支持和文档少
✓部分NoSQL的版本跟着作者的爱好走
✓一般无DBA支持,需要开发自行搞定
NoSQL的优点也正是它的缺点
总结
关系数据库是全能的
当关系数据库无法满足你的时候,NoSQL
来帮助你
NoSQL+MySQL融合,各尽所能