数据库系统设计漫谈童家旺

数据库系统设计漫谈童家旺

ID:39712243

大小:1.27 MB

页数:46页

时间:2019-07-09

数据库系统设计漫谈童家旺_第1页
数据库系统设计漫谈童家旺_第2页
数据库系统设计漫谈童家旺_第3页
数据库系统设计漫谈童家旺_第4页
数据库系统设计漫谈童家旺_第5页
资源描述:

《数据库系统设计漫谈童家旺》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库系统设计漫谈讲师:童家旺,阿里集团数据库架构师主题数据库基本问题调查关系数据库的基本背景ACID基本概念解析范式问题解析(Normalization)数据库的扩展性浅析常见数据库系统回顾数据库基本问题调查大家都使用过哪些数据库?哪些内容是数据库系统的关键点?常见的数据存储传统的数据库系统OracleDB2、SQLServerMySQL、PosgreSQL分布式数据库GoogleSpanner&BigTable&MegaStoreOceanBase、Hbase缓存服务器&KeyValueStoreTairMemcacheDRedis数据库的主要特性AC

2、ID原子性(Atomicity)完整性(Consistency)隔离性(Isolation)持久性(Durability)Relation&SQLStructuredQueryLanguage(即SQL)ARelationalModelofDataforLargeSharedDataBanks(ByEdgarCodd)RDBMS之前的数据库的问题不支持数据独立性数据库与应用系统之间的强耦合应用系统的复杂度应用系统本身的规模较小(性价比?)关系数据库的主要业务场景Billing(记账类业务,电信、银行)Booking(订票类业务,航空)Inventory(库

3、存管理,零售)这些业务的共同特征是什么啊?关系数据库的关系来自哪里?这是关系的一个来源另一个来源是NormalizationACID的基础概念Transaction的概念借自ContractLaw一手交钱、一手交货(Atomicity)不会出现库存为负,也不会出现资金为负的情况(Consistency)可同时与多人进行交易(Isolation)离柜概不负责(Durability)Atomicity要么全部成功,要么全不成功Consistency写入数据库的数据必须满足所有定义的约束规则(主键、唯一键、外键等约束)Isolation确保并发执行的事务就如同串

4、行执行的事务一样,保证系统状态(state)的一致性。Durability一旦提交,哪怕出现掉电、Crash也不会丢数据几个基础概念Write-AheadLogRedoLogicalPhysicalPhysiologicalUndo事务槽-事务标识SCN–系统变更统一时间戳(逻辑时钟)如何实现原子性一个简单购物场景A卖一件衣服给BA的衣服库存-1A的资金+NB的衣服库存+1B的资金-N如何实现原子性(2)事务槽为变更入口,单一入口(原子)每个变更的记录都包含事务槽信息数据库中如何保证C通过ReadDirty与锁来解决PK/UK通过Ref检查来解决FK的问题

5、(需要Index)通过PreCommittrigger来做Null以及Check数据库中如何保证I锁控制不同粒度的锁(表级、块级、记录级)不同维度的锁(数据相关锁,内存相关锁)MVCCSnapshotIsolationBlockImage+SCN+UndoImage判断差别在于读取哪个时间点的Snapshot数据库中如何保证DLogbeforeDataLGWRbeforeDBWnFlushLogonCommitDurabilityOnCommitCheckpointBeforeRedoLogFileReuseACID的代价不同的Isolation对应不同的

6、代价SerialiazabilityReadCommitted(ThroughSnapshot)ReadDirty?(没有并发控制)不同的Durability级别FlushonCommitFlushonTimeout(TimeRange)FlushonBatch(commitscount?)主题数据库基本问题调查关系数据库的基本背景ACID基本概念解析范式问题解析(Normalization)数据库的扩展性浅析常见数据库系统回顾Normalization先做个小游戏用笔记录下学员名单、讲师名称、讲师简介、课程名称、课程简介调整下讲师(童家旺金光丁)以及对

7、应的讲师简介再次调整下课程(数据库概论分布式数据库原理)&简介Normalization解决的问题更新一个源头不会出现异常每份数据只有一个源头如何保证多份数据的一致性?一份数据有多少个源头?同一份数据被重复了多少次?对应的存储空间?为了存储耗费的其它资源?Normalization带来的问题表之间的依赖(关系依赖,耦合)表关联的成本(关联开销,可能的IO开销)系统扩展的复杂度(解耦合)如何权衡Normalization尽量不要对静态数据做Normalization除非你希望节约存储空间考虑范式化Vs反范式化的投入产出为什么很多IT新人喜欢Normaliz

8、ation那是因为他们的老师告诉他们需要Ali的实际情况适度的使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。