CMU15-721 《What’s really new with NewSQL》论文阅读笔记

https://github.com/AlexanderChiuluvB/db-learning-material
欢迎star! 我做的数据库学习资料整理

Study Notes on Course1

Video-bilibili

Course Topics

Focus on internals of single nodes in-memory database system.

Not distributed Systems.

论文阅读笔记

《What’s really new with NewSQL》

NoSQL
  • 传统关系模型与强事务保证制约了其性能和可扩展性,高可用性

  • NoSQL的的设计思想是一方面抛弃强事务保证,引入柔情事务,追求的是最终一致性。
    另一方面,抛弃传统关系模型,采用如键值对,图或者文档数据模型来组织数据。

  • 如Google的BigTable,以及其衍生出来的Hbase,Cassandra,文档型数据库MongoDB,
    键值型数据库Redis

NewSQL
  • NoSQL的缺点:开发者需要花大量精力写code来处理数据不一致的情况,在生产中发现
    还是保证事务性会比较好

  • NewSQL的定义是:

1.保持关系模式,但是对OLTP提供如NoSQL相同的可扩展性能

2.保证事务的ACID特性

说白了就是既要保持传统关系模式,同时追求与NoSQL一样的性能与可扩展性,开发者再也不需要写额外的code来保证最终一致性。

那具体NewSQL DBMS需要满足什么特性?

1.读写事务是short-lived的

2.每次只处理subset数据,一般是先用索引找出来,即避免全表扫描或者大规模的分布式join

3.可能相同的query要执行多次,并且每次的input都不同

更为narrow的definition包括

提供无锁的并发控制策略

需要是shared nothing architecture

什么是shared nothing architecture

每个节点都是独立的。典型的SNA系统会集中存储状态的信息,如:数据库中,内存cache中;不在节点上保存状态的信息。
对于server集群,若将session等状态保存在各个节点上,那么各个节点的session复制会极大的影响性能;若采用SNA,保持每个节点的无状态性,不再使用session来保持全局的状态,而是将session直接放在数据库中,在数据库前再加一层分布式Cache(推荐使用memcached)
,这样将可极大的提高性能,当改变session中的对象时,同步到cache和数据库。

shared nothing需要确立一种分片策略,使得依据不

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值