Paxos、Raft、Gossip、Nuorum NWR、PBFT、Anti-Entropy、POW、ZAB等等。
https://mp.weixin.qq.com/s/KKrxuVCrjlXXWMPTXQ-fvA
分布式之系统底层原理
https://zhuanlan.zhihu.com/p/130974371
分布式一致性协议概述
https://mp.weixin.qq.com/s/NqLpT47ZWD6oJzfo_tWceA
Paxos(分布式一致性算法)
https://mp.weixin.qq.com/s/OXE7prU9cMuZG8kFydPm9A
Paxos和Raft的前世今生
https://mp.weixin.qq.com/s/ZE3sXRWoZYgbSIPTYIHWoA
浅谈分布式一致性:Raft与SOFAJRaft
https://mp.weixin.qq.com/s/Fj4zERz9PEuNumd_SI0bEA
浅谈CAP和Paxos共识算法
https://mp.weixin.qq.com/s/KTZQjC1JokmwmCkOH8APdg
一文了解分布式一致性算法EPaxos
https://mp.weixin.qq.com/s/42cStPudXRHjs61gjSIgWw
一文读懂区块链与传统数据库之共识机制
https://blog.csdn.net/blockchain_lemon/article/details/84801413
一文读懂11个主流共识算法, 彻底搞懂PoS,PoW,dPoW,PBFT,dBFT这些究竟是什么鬼…
https://zhuanlan.zhihu.com/p/113612578
Chandy-Lamport算法核心解读
https://mp.weixin.qq.com/s/q2XL-_XoRLL1xLzGmzlo6A
分布式快照算法: Chandy-Lamport
https://zhuanlan.zhihu.com/p/130332285
分布式一致性算法-Paxos、Raft、ZAB、Gossip
https://mp.weixin.qq.com/s/ow-6rQYGlvX316h63aCGVg
百度正式开源其Raft一致性算法实现braft
https://zhuanlan.zhihu.com/p/273270802
包教包会的用一张白纸推导出RAFT算法
https://zhuanlan.zhihu.com/p/25664121
比较raft ,basic paxos以及multi-paxos
https://mp.weixin.qq.com/s/JVreQzE8B6nAgPmDHM5aXQ
从Paxos到Multi-Paxos
缓存雪崩指大量缓存同一时间段集体失效,或者缓存整体不能提供服务,导致大量的请求全部到达数据库,对数据CPU和内存造成巨大压力,严重的会造成数据库宕机。也被称为缓存踩踏(Cache Stampede)。
使用随机过期时间。为每一个key都合理的设计一个过期时间,这样可以避免大量的key在同一时刻集体失效。
https://mp.weixin.qq.com/s/RME5b3plT97nYfUaCl9ePw
关于缓存和数据库强一致的可行方案
https://mp.weixin.qq.com/s/gQAA2-YuvTHrL2IP8Bco6w
缓存与数据库的数据一致性方案介绍
https://mp.weixin.qq.com/s/Gm7S0a5VN9L57wlry4-t6w
缓存关注点——先写DB还是“缓存”?
https://mp.weixin.qq.com/s/q-R7kv4696LooHy3Hn-H1A
分布式系统关注点——缓存背后的“毁灭种子”
https://mp.weixin.qq.com/s/cUBSOGFfkWNu91r9agXszQ
高并发系统三大利器之缓存
https://mp.weixin.qq.com/s/NdnE4uiT_b7omDx_uBGAtg
你可以说一下缓存击穿、穿透、雪崩的区别和解决方法吗?
https://mp.weixin.qq.com/s/QgFbw5thvip2txUJZNQqCA
缓存一致性问题怎么解决?
https://mp.weixin.qq.com/s/XOiHlurpwCa-MmQp1yAjSQ
高并发场景下,到底先更新缓存还是先更新数据库?
https://mp.weixin.qq.com/s/o1wbG_9LDDqM2kLNAfHUIg
没人告诉过你更复杂的缓存穿透怎么解决
https://mp.weixin.qq.com/s/0J9X-fFp3y0zaxR78tBfQQ
服务降级该怎么做?
https://mp.weixin.qq.com/s/_RlOAvjfTINJrhwHUogs7Q
分布式缓存与DB秒级一致设计实践
https://mp.weixin.qq.com/s/mjySTz73Ltcfsw1e6iY4YA
缓存踩踏:Facebook史上最严重的宕机事件分析
https://mp.weixin.qq.com/s/sE8xhHUc5qhzeaRga_VFeQ
再也不怕,缓存雪崩、击穿、穿透!
https://mp.weixin.qq.com/s/Ii0b6ORmsxjmXsVRnhG5eA
如何解决缓存系统的数据不一致问题
https://mp.weixin.qq.com/s/rxvNSZtRyA7f27TKKL3J_g
爱奇艺本地实时Cache方案
https://www.ibm.com/docs/en/i/7.2?topic=management-thread-local-storage
Thread Local Storage(TLS)
横向拆分:按记录进分分割,不同的记录可以分开保存,每个子表的列数相同。适用场景:数据有独立性,例如表中分别记录各个地区的数据或不同时期的数据。
纵向拆分:按列进行分割,即把一条记录分开多个地方保存,每个子表的行数相同。如果一个表中某些列常用,而另外一些列不常用,则可以采用纵向拆分。
参考:
https://www.cnblogs.com/shz365/p/6349618.html
数据库拆分:横向拆分和纵向拆分
DML(Data Manipulation Language)数据操纵语言:
适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等.
DDL(Data Definition Language)数据定义语言:
适用范围:对数据库中的某些对象(例如,database,table)进行管理,如Create,Alter和Drop.
数据管理工具主要有:Navicat和DataGrip。
https://www.cnblogs.com/zuge/p/7397255.html
DataGrip使用入门
https://mp.weixin.qq.com/s/9Q18rptRwV4Ccg33dD9BrQ
操作所有的数据库靠它就够了(DBeaver)
https://mp.weixin.qq.com/s/x2Rdw2iLuNzs4tN7rwfWvA
这个工具牛逼了!将任何SQL数据库转换为智能电子表格(NocoDB)
数仓:“结构化”地存数据。典型代表:用Excel记账目。
我们平时写东西的时候不一定都是开excel:写个文档用word,拍个照片存相册里面,这些数据没法像数仓一样“结构化”:如果有个人告诉你说“你把照片都放Excel里面”,你会觉得他疯了,对吧。但是这些东西最好都放一块存起来,别丢了——在家你可能就存硬盘里面,存移动硬盘里面,或者fancy一点,存云盘里面。把数据“放一块”,先不担心怎么把它有条有理做成大Excel表格,这个就是数据湖。
https://mp.weixin.qq.com/s/mYwaGszQGod_o6f3p2QbDw
深度对比Delta、Iceberg和Hudi三大开源数据湖方案
https://mp.weixin.qq.com/s/O94Q1Dxe8TnbCMv9d_hlOg
Uber推出数据湖集成神器DBEvents,支持MySQL、Cassandra等
https://mp.weixin.qq.com/s/ufvvGCh7xxu8keQ-j0bjEA
数仓实时化改造:Hudi on Flink在顺丰的实践应用
https://mp.weixin.qq.com/s/csUPkJYpmTyLZqYU3lecRw
Flink和Iceberg如何解决数据入湖面临的挑战
数据库的存储格式,有用无序的Heap表,堆表。也有用有序表。堆表吗,数据来了随便一放,没有顺序、没有规律,想怎么放就怎么放,乱七八糟,估称堆表。有序表,比如Skiplist算法等。数据以Key为准排个序,码放的整整齐齐。进入存储系统时,还可以再去个重什么的,也就是SSTable。
十年前,谷歌发表了 “BigTable” 的论文,论文中很多很酷的方面,其中之一就是它所使用的文件组织方式,这个方法更一般的名字叫Log Structured-Merge Tree。其核心思想就是放弃部分读能力,换取写入的最大化能力。
http://www.open-open.com/lib/view/open1424916275249.html
Log Structured Merge Trees(LSM)原理
https://mp.weixin.qq.com/s/CmYg22NObamkNOqGjKg0-w
解读现代存储系统背后的经典算法
https://mp.weixin.qq.com/s/9L_HOCfRwC_QxjzJyVjKXA
字节跳动在RocksDB存储引擎上的改进实践
数据库变更工具主要有Liquibase和Flyway。
https://mp.weixin.qq.com/s/67KEakYxM2lNm_hB9_W9BQ
老板:把数据库变更,给整利索了
https://mp.weixin.qq.com/s/yQSMSLBYg4iauu8yeUfvjw
深度解读!时序数据库HiTSDB:分布式流式聚合引擎
https://mp.weixin.qq.com/s/rZuGW9Fe0TA3dNEY7dh_Jg
TimescaleDB比拼InfluxDB:如何选择合适的时序数据库?
https://mp.weixin.qq.com/s/L_-3H51TpRLBQnqRiLxP4Q
实时数据库:一夜之间,我感受到了时序数据库的威胁
OpenTSDB(Time Series Database)是一个基于HBase的存放时序数据的数据库。
官网:
http://opentsdb.net/
DB这个词很有误导性,其实它并不是一个db,单独一个OpenTSDB无法存储任何数据,它只是一层数据读写的服务,更准确的说它只是建立在Hbase上的一层数据读写的服务。
HBase在使用上的一个难点就是如何根据业务的特点,设计键值和索引。OpenTSDB就是这方面的一个实践。
参考:
https://mp.weixin.qq.com/s/GApmeXGbjRTnhullArlkYg
小米正用时序数据库,解决这个“硬核”问题
大数据时代,数据的来源极其广泛,各种类型的数据在快速产生,数据也是爆发性增长。从数据的产生,通过加工融合流转产生新的数据,到最终消亡,数据之间的关联关系可以称之为数据血缘关系。
https://mp.weixin.qq.com/s/LGK3YPZCe6oPTf48QaAIqA
携程数据血缘构建及应用
数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。
脏读:指当一个事务正在访问数据,并且对数据进行了修改,而这种数据还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据还没有提交那么另外一个事务读取到的这个数据我们称之为脏数据。依据脏数据所做的操作肯能是不正确的。
不可重复读:指在一个事务内,多次读同一数据。在这个事务还没有执行结束,另外一个事务也访问该同一数据,那么在第一个事务中的两次读取数据之间,由于第二个事务的修改第一个事务两次读到的数据可能是不一样的,这样就发生了在一个事物内两次连续读到的数据是不一样的,这种情况被称为是不可重复读。
幻象读:一个事务先后读取一个范围的记录,但两次读取的纪录数不同,我们称之为幻象读(两次执行同一条 select 语句会出现不同的结果,第二次读会增加一数据行,并没有说这两次执行是在同一个事务中)
https://www.cnblogs.com/myseries/p/10748912.html
数据库的4种隔离级别
share nothing和share disk是两种常见的分布式数据库模型。
share nothing架构下,每个结点都有自己的CPU、内存、存储。跨结点的数据访问通过结点之间的网络通讯来完成。
share disk架构下,每个结点有自己的CPU和内存,但是共享同一个存储。也就是说,存储只有一份,放在单独的分布式文件系统上,由文件系统本身来保证其可用性,一般由高端的专门存储设备来完成。
https://zhuanlan.zhihu.com/p/32924680
分布式数据库的Share Nothing/Share Disk/Share Storage
https://www.zhihu.com/question/20120283
为什么说MySQL Cluster是shared-nothing架构的?如何理解shared-nothing?
您的打赏,是对我的鼓励