Notes

B Tree

https://cstack.github.io/db\_tutorial/parts/part7.html

https://cstack.github.io/db\_tutorial/

https://www2.cs.duke.edu/courses/spring17/compsci316/lectures/15-index-qp.pdf

https://stackoverflow.com/questions/33009174/postgres-usage-of-btree-indexes-vs-mysql-btrees

https://ieftimov.com/postgresql-indexes-btree

http://patshaughnessy.net/2014/11/11/discovering-the-computer-science-behind-postgres-indexes

http://momjian.us/main/presentations/internals.html

MySQL InnoDB B+: https://blog.jcole.us/2013/01/10/btree-index-structures-in-innodb/

结构的区别:

B和B+树的一个最区别点,就是所有的Key数据都会出现在叶子节点,中间节点的Key也会重复出现在叶子节点,但是B树就不会。正是因为

这个原因,所以说,B+树才能把所有叶子节点连接起来,用以扫描所有元素。而B树做不到这一点。

B+树的索引数据至多出现两次,一个可能是在非叶子节点,一个是在叶子节点。B树的索引数据只会出现一次。

B树的查找可以在中间节点终结(如果命中的话), B+树的查找肯定都要终结在叶子节点,无论是命中还是没命中。

B+树如何做范围查询,先查找到低值,然后,在叶子节点的链表中,依次扫描直到当前值大于高值。

因为结构的不一样而导致的性质的区别:

应用场景的区别:

https://en.wikipedia.org/wiki/Producer%E2%80%93consumer\_problem

https://www.tutorialspoint.com/java\_concurrency/concurrency\_fork\_join.htm'

http://thesecretlivesofdata.com/raft/

https://raft.github.io/

https://yeasy.gitbooks.io/blockchain\_guide/content/distribute\_system/bft.html

mutex, semaphore, monitor

https://stackoverflow.com/questions/7335950/semaphore-vs-monitors-whats-the-difference

semaphore: P & V

monitor?: wait and singal

monitor lock?

monitor vs condition sychronization

http://www.comp.nus.edu.sg/~abhik/CS3211/lectures/Lec6.pdf

https://www.slideshare.net/pgdayasia/introduction-to-vacuum-freezing-and-xid

  1. 分布式系统?分类,要解决的问题。分布式一致性算法,HA, 。你要能娓娓道来 Paxos Ceph,Cassandra, GFS,

  2. JDK tool? 线上系统必备。也要学习

  3. TCP? 拥塞控制,滑动窗口,这是TCP的基本,核心和必备,你要要会。

  4. 如果有20万并发,QPS? 高并发系统的设计思路和方法。

  5. 所做系统的设计与难点? 如何做到HA,高可用?所做系统的复杂度在哪里?如何处理高并发? DP? 都需要刻苦学习,脚踏实地。 OpenStack, Unity,

如何能有这种经验? OpenStack?

不仅要知道设计理念,更要知道如何实现的?知道理念没用,你有没能力创建一个? "What I cannot create, I do not understand" -- Richard Feynman

results matching ""

    No results matching ""