Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDIA 笔记 #6

Open
sunisdown opened this issue Jul 28, 2021 · 6 comments
Open

DDIA 笔记 #6

sunisdown opened this issue Jul 28, 2021 · 6 comments
Labels

Comments

@sunisdown
Copy link
Owner

DDIA(Designing Data Intensive applications) 是 2017 年 Martin Kleppman 写的书。之前看见这本书的时候惊为天人。这本书把数据库领域的知识梳理的非常通透且浅显易懂。这次重新看这本书,打算做一个笔记,记录并阐述自己的理解。

@sunisdown
Copy link
Owner Author

Reliable, Scalable, Maintainable

这一部分 感觉刚好跟之前微软的论文有点相似,参考 笔记

@sunisdown
Copy link
Owner Author

sunisdown commented Jul 28, 2021

Data Models and Query Languages

这一部分主要讲了数据模型,常用的基本可以分成

  • 关系性数据(SQL)
  • NoSQL,Document,graph,kv

@sunisdown
Copy link
Owner Author

sunisdown commented Jul 28, 2021

Storage and Retrieval

on the most fundamental level, a database needs to do two things: when you give it some data, it should store the data, and when you ask it again later, it should give the data back to you.

书中把存储模型分为两大类:

  • log-structured storage engines(LSM,Bitcask)
    但是也有其他的观点是 Bitcask 跟 LSM 属于完全不同的存储模型。
  • page-oriented storage engines(B-trees)
    目前主流在用存储引擎是 LSM(LevelDB,RocksDB)以及 B-tree。这两种实现方式各有优劣。传统的观点认为 LSM 模型对写性能更好,B-tree 对读更友好。作为技术人我们知道一个真理就是没有银弹,没有哪个index或者存储引擎是完美的,比较好的是基于自己的需求来选择适合自己的方案。

@sunisdown
Copy link
Owner Author

LSM

@sunisdown
Copy link
Owner Author

B-tree

@sunisdown
Copy link
Owner Author

  • log-structured storage engines(LSM,Bitcask)
    但是也有其他的观点是 Bitcask 跟 LSM 属于完全不同的存储模型。

书中把存储模型分为两大类:

这个观点其实在认为存储模型分成两种,一直是 Log+index,一种是 Page based, #3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant