Open rooobot opened 4 years ago
本周课程的主要内容如下:
数据分片
分布式数据库中间件
NoSQL
ZooKeeper
以上为本周课程的内容纲要。
以下为我个人对本周课程的总结:
本周课程首先是接着上周课程的内容进行了讲解,也就是关于数据分片的知识。其实,数据的分片从架构哲学上来看,和架构拆分也是对齐的,什么意思呢?通俗的说,数据分片也就是对数据进行拆分,通常架构上的拆分我们一般是垂直拆分和水平拆分,数据拆分也一样。
数据的垂直拆分就是我们通常说的分库,将不同的业务数据拆分到不同的数据库;
数据的水平拆分就是我们通常说的分表,将一张大表拆分成多张小表,对于关系数据库,单表的数据存储量是有上限的。
这两种拆分最麻烦的就是水平拆分了,一张表拆成多张表会带来很多的问题,比如联合查询、事务,以及本次拆分不够用之后如何保证有效的进行下一次拆分?这里又涉及到一个分表规划的问题了。等等等等,这里面其中有很多细节的东西需要考虑的。但可惜,老师对这些我个人认为最关键的信息没有分享一些实践中的经验,光是分表策略的设计就很考究个人的能力。
老师提到了Cobar和MyCat数据库中间件,也没有给出一些对比,以及实践经验的总结。就像老师说的:有问题才好,就怕没有问题。如果只是提一提这些中间件的名字,我想没有几个人不知道的吧,还有ShardingSphere这个当当当初开源出来的,现在已经是Apache的开源项目了,可以说是现在比较主流的数据库中间件了,但是课程上提都没提。
Cobar
MyCat
ShardingSphere
Apache
接着就是NoSQL了,老师讲了CAP理论,然后简单的讲了一下Cassandra和Hbase,基本上也是蜻蜓点水。NewSQL这些就更没提了。
CAP
Cassandra
Hbase
NewSQL
最后讲了一下ZooKeeper,也只是基本的讲解,其实Zab协议完全可以对比Paxos和Raft协议来讲解,一方面容易理解协议的进化,一方面可以理解这些协议的区别,为什么会有Zab,为什么又会有Raft,各自解决了一些什么问题,等等。
Zab
Paxos
Raft
师傅领进门,修行在个人。
以上就是我个人对本次课程的总结了,纯属个人感受。这些老师没有提到的地方还是自己去研究吧,毕竟纸上得来终觉浅,还是得自己深入的研究才能变成自己的理解和认知。不过说到这里,老师分享的那几句工作经验的总结,我倒是觉得说得蛮好的,说到底,做技术的还是要有深厚的技术能力,要能跟周围的人比起来有自己的技术壁垒。
老师的课程权当一个简要的大纲吧,知识图技能树还得是自己点,继续修行吧~
本周课程的主要内容如下:
数据分片
分布式数据库中间件
NoSQL
ZooKeeper
以上为本周课程的内容纲要。
以下为我个人对本周课程的总结:
本周课程首先是接着上周课程的内容进行了讲解,也就是关于数据分片的知识。其实,数据的分片从架构哲学上来看,和架构拆分也是对齐的,什么意思呢?通俗的说,数据分片也就是对数据进行拆分,通常架构上的拆分我们一般是垂直拆分和水平拆分,数据拆分也一样。
数据的垂直拆分就是我们通常说的分库,将不同的业务数据拆分到不同的数据库;
数据的水平拆分就是我们通常说的分表,将一张大表拆分成多张小表,对于关系数据库,单表的数据存储量是有上限的。
这两种拆分最麻烦的就是水平拆分了,一张表拆成多张表会带来很多的问题,比如联合查询、事务,以及本次拆分不够用之后如何保证有效的进行下一次拆分?这里又涉及到一个分表规划的问题了。等等等等,这里面其中有很多细节的东西需要考虑的。但可惜,老师对这些我个人认为最关键的信息没有分享一些实践中的经验,光是分表策略的设计就很考究个人的能力。
老师提到了
Cobar
和MyCat
数据库中间件,也没有给出一些对比,以及实践经验的总结。就像老师说的:有问题才好,就怕没有问题。如果只是提一提这些中间件的名字,我想没有几个人不知道的吧,还有ShardingSphere
这个当当当初开源出来的,现在已经是Apache
的开源项目了,可以说是现在比较主流的数据库中间件了,但是课程上提都没提。接着就是
NoSQL
了,老师讲了CAP
理论,然后简单的讲了一下Cassandra
和Hbase
,基本上也是蜻蜓点水。NewSQL
这些就更没提了。最后讲了一下
ZooKeeper
,也只是基本的讲解,其实Zab
协议完全可以对比Paxos
和Raft
协议来讲解,一方面容易理解协议的进化,一方面可以理解这些协议的区别,为什么会有Zab
,为什么又会有Raft
,各自解决了一些什么问题,等等。师傅领进门,修行在个人。
以上就是我个人对本次课程的总结了,纯属个人感受。这些老师没有提到的地方还是自己去研究吧,毕竟纸上得来终觉浅,还是得自己深入的研究才能变成自己的理解和认知。不过说到这里,老师分享的那几句工作经验的总结,我倒是觉得说得蛮好的,说到底,做技术的还是要有深厚的技术能力,要能跟周围的人比起来有自己的技术壁垒。
老师的课程权当一个简要的大纲吧,知识图技能树还得是自己点,继续修行吧~