读写权衡与关系型数据库Nosql数据库
2018-01-23 08:25
246 查看
背景
不同类型的数据库,如果不同的读写诉求,怎么推动和决策?具体
在关系型数据库中,如果设计得当(表的粒度合理),那么修改操作只会影响很小一部分,但是,如果是复杂的读,那么就需要多个表之间进行复杂的关联等操作。在nosql中,比如ES,它天生接受你的数据扁平化,那么复杂的读在这里就不是问题,但是写,就变得影响很大。
关系型数据库是分割
而Nosql是聚合
一般的在线业务需求都是要求很高的写质量(比如事务),因此一般都是采用关系型数据库。
而离线的统计或者复杂查询都是要求很友好的读质量(多表关联无法满足的需求),因此一般都采用Nosql。
但是如果在线的复杂业务查询也需要很友好的读,怎么办?
采用nosql存储来经过聚合后的数据,那么,既要能满足足够好地支持复杂读,而且还要满足高质量写的需求。
那么就需要把nosql的劣势(比如事务)等通过一种机制来实现,达到数据的完整性等。
在复杂读过渡到使用nosql之间,有一个过渡的鸡肋方案:就是预热数据。但是预热也是有条件限制的(第一次访问会很慢,如果采用全量预热,那么就要能够计算出全量,如果不能,那么就无法全量)。
相关文章推荐
- NoSql:从关系型数据库到非关系型数据库
- (转)关系型数据库和NoSQL数据库
- nosql和关系型数据库比较?
- NoSQL与MySQL关系型数据库
- NoSQL与关系型数据库比较
- LotusScript读写关系型数据库
- 【干货合集】NoSQL技术体系深度解读系列(二):MongoDB,最像关系型数据库的非关系型数据库
- SQL与NoSQL(关系型与非关系型)数据库的区别
- 关系型数据库与NOSQL(转)
- 关系型数据库与NOSQL
- 关系型数据库和NoSQL数据库
- 关系型数据库与NOSQL数据库的区别
- 关系型数据库和NoSQL的对比表格
- NOSQL与关系型数据库的区别
- 关系型数据库与NOSQL
- 全面梳理关系型数据库和 NoSQL 的使用情景
- 关系型数据库与NOSQL
- 对比传统关系型数据库,NoSQL有着非常显著的性能和扩展性优势,然而这些优点却建立在一些关键功能的丢失之上,比如事务、join等。那么在数据体积激增的当下,究竟哪个数据库才会适合你的场景
- 关系型数据库与NoSQL数据库的优势与劣势