wanghenshui / wanghenshui.github.io

my blog, please do not fork
https://wanghenshui.github.io
Other
4 stars 1 forks source link

2022 CMU talk 笔记 #55

Closed wanghenshui closed 2 years ago

wanghenshui commented 2 years ago

HTAP with Azure Cosmos DB: Hybrid Transaction & Analytical Processing (Hari Sudan S)

图片

一个root维护,可能是b树什么的,然后底层数据用parquet存

写流程

图片

具体事务怎么实现?完全没体

wanghenshui commented 2 years ago

RavenDB: Practical Considerations for ACID/MVCC Storage Engines (Oren Eini)

图片

解决方法比较简单

图片

单写,实现MVCC就靠COW就可以了,不阻塞

图片

不写磁盘,磁盘太慢了。写buffer往下刷

WAL设计取舍

图片

图片

WAL优化点

图片

写优化

图片

感觉利用c# 的协程能力,把写抽象成任务,搞成batch,而不是直接死板的lock write commit

什么时候更新文件?

图片

这种搞法,缓存的数据不能保证落地,丢最近的record是否可以接受?

其他场景 图片

这个做个参考

wanghenshui commented 2 years ago

rqlite: The Distributed Database Built on Raft and SQLite (Philip O'Toole)

图片

其实主要工作就是如何把raft的接口用sqlite实现好,怎么抽象log entry

wanghenshui commented 2 years ago

The TileDB Universal Database (Stavros Papadopoulos)

图片

这个想法挺有意思,但是数组怎么抽象成具体的kv呢,感觉和parquet有点像,又有点不像

图片

维度信息,快速

图片

果然,两种形态 本质还是列存

图片

如何文件描述 图片

图片

index

把一个数组的几个部分分别索引

图片

整体貌似是api接口形式的,也提供了各种数据库的插件

这个存储的明显受益没说。抽象能力强,面向业务场景比较集中

wanghenshui commented 2 years ago

Fluree - Cloud-Native Ledger Graph Database (Brian Platz)

图片

图片 直接把关系谓语都存了????? ????

图片

图片

各种index分别存,用btree组织。最终还是回到了btree

mysql 图版?

wanghenshui commented 2 years ago

ApertureDB: Designing a Purpose-built System for Visual Data and Data Science (Vishakha Gupta)

用的新硬件 傲腾。没开源。部署在azure上

图片

图片

性能数据就不贴了。和neo4j比 没意思

图片

看着工作量挺麻烦

计划 图片

wanghenshui commented 2 years ago

图片

https://www.youtube.com/watch?v=QH1jr8Y1FTQ

基本上设计就是内置分配器 + 尽可能的buffer hold住 + 无锁设计