美文网首页
数据库研习日志

数据库研习日志

作者: gzyuan | 来源:发表于2020-12-20 20:37 被阅读0次

    2021.11.21

    这两天又在看CRDB的论文和架构文档,似乎对write pipeline和parallel commits的理解加深了一点。我觉得看了这些东西,还是要自己输出一遍才有可能把知识内化。

    2021.06.17

    去年4月开始了解TIDB,虽然没有仔细看它的文档和博客,但由于看了很多CRDB的文档,所以现在看TIDB的文档感觉相对容易一点。估计后面看和它相关的论文会困难很多。

    2021.06.14

    现在看CRDB的代码还为时尚早。从去年到现在,已经把BLOG里和设计相关的内容看了一遍。还有架构文档看了几遍。需要花时间看GITHUB上的设计文档,还有官方的使用手册。另外,需要通过各种工具对程序进行观察。假如有时间的话,我觉得可以开始研究TIDB了,方法和CRDB的类似。这样就可以进行对比学习。

    2021.05.16

    匆匆的把《MySQL技术内幕Innodb存储引擎》看了一遍,感觉总体印象还是有点模糊。接下来将尝试对Innodb进行调试和阅读源码。

    2021.05.14

    今天在看《MySQL技术内幕Innodb存储引擎》里关于丢失更新的部分,个人觉得关于锁的部分,这本书讲得不是很完整。参考了A beginner’s guide to database locking and the lost update phenomena里的解决方法:调整隔离级别为可串行化,使用select for update,在每一行中加入一个version字段(应用层实现乐观锁)

    2021.04.19

    sql的查询优化,真的非常抽象,现在看得云里雾里的。

    2021.04.18

    之前对paxos的算法过程一直一知半解,昨天在youtube上看了几个讲解,感觉基本了解它的算法过程了:Paxos in Pictures: Lamport's Distributed Consensus Algorithm, The Paxos Algorithm, L9: Paxos Simplified

    2021.04.16

    今天把《MySQL性能调优与架构设计》看完了,条理非常清晰,即使是12年前的书,依然非常有价值。特意在知乎上关注了作者简朝阳。对于查询优化部分,印象非常深刻,这是我以前想了解但一直没能做的事情。

    2021.04.15

    这几天在看《MySQL性能调优与架构设计》,虽然是12年前的书,但讲的很多东西都没过时。

    2021.04.11

    今天花了点时间查了一下kafka的消息投递语义(这个翻译可能不准确)。之前一直听说at-most-once,at-least-once,exactly-once这样的术语,总是觉得自己没有完全弄懂。通过google发现linkedin上有博客讲得很清楚:Kafka Consumer Delivery Semantics, Kafka producer delivery semantics。通过kafka本身可以实现producer的三种语义,consumer可以实现at-most-once和at-least-once,要实现exactly-once的话,就需要引入kv store或关系数据库来进行去重。

    2021.04.05

    昨天读了HLC的论文:《Logical Physical Clocks and Consistent Snapshots in Globally Distributed Databases》,同时也看了一些关于HLC的解读。似乎基本明白它的算法过程。
    这个星期用零散的时间看了《Go语言编程入门与实战技巧》,把基本的用法温习了一遍,现在用go来刷题完全没有压力。但后面还得花时间研究它的高级特性。不得不说go既简洁又高效。

    2021.03.27

    这两天又读了一下CRDB去年发的论文:《CockroachDB: The Resilient Geo-Distributed SQL Database》,似乎还不能领会超过一半。另外,刚开始看《数据库查询优化器的艺术》,一直觉得SQL的处理这块很抽象,不知道什么时候才能啃得这块骨头。

    2021.03.13

    好久没有记流水账了,最近只是断断续续的读了一些CRDB的博客。因为准备面试的原因,了解了一些和paxos相关的内容。

    2021.01.17

    昨天读了CRDB的一篇博客:Living Without Atomic Clocks,里面讲了Google Spanner和CRDB是如何解决时钟同步问题的。Spanner通过GPS时钟解决同步问题,这里说的解决并不是绝对同步。分布式环境下不存在绝对的时间同步。但它把不同步程度限制在7ms内。而常用的NTP,它的最大时间偏移一般在100ms~250ms间。CRDB的节点在发现时钟严重不同步时,会自己关闭。这篇文章重点讲了CRDB如何在存在时钟偏移的情况下选择事务的commit timestamp。

    今天读了另一篇CRDB的博客:CockroachDB's Consistency Model,这是一篇很长的文章。文章讲了CRDB的consistency model介于serializability和strict serializability之间。理论很多,感觉还没有完全消化。后面应该还要多看几次。

    2021.01.02

    这几天重读CockroachDB的Architecture Overview,能理解的东西多了一点,后面估计还得读多几次。

    2020.12.20

    数据库的使用有一定的年限了,今年开始花时间在研习数据库的实现上。实现数据库需要储备大量的知识,因此今年主要是看书和文档,一时半会也没有什么高质量的输出。所以打算记一下流水账。实践是检验真理的唯一标准。我选择了CockroachDB和TiDB作为数据库研习的实践项目,希望在研习的过程中能成为这两个开源项目的贡献者。

    2020.12.26

    今天重温了一下Bloom Filter。以前收藏的一篇博客讲得很好:大数据算法——布隆过滤器。今天又搜索到一篇讲得不错的:Bloom filters explained

    另外,重读了leveldb的文档。leveldb的文档非常简洁,每次都不能掌握其全貌。好在够简短,可以读完一遍又一遍。

    2020.12.27

    读了《MySQL性能调优与架构设计》第1章,这是一本年代有点久远的书了。

    相关文章

      网友评论

          本文标题:数据库研习日志

          本文链接:https://www.haomeiwen.com/subject/fhihiktx.html