分布式数据库的一致性问题与共识算法 (thiscute.world)

【简介】

谈到分布式数据库,不论是 Etcd/Zookeeper 这样的中心化数据库,还是 Ethereum 区块链这样的去中心化数据库,都避免不了两个关键词:「一致性」跟「共识」。

本文是笔者学习「一致性」和「共识」以及相关的理论知识时记录的笔记,这些知识能帮助我们了解 Etcd/Zookeeper/Consul/MySQL/PostgreSQL/DynamoDB/Cassandra/MongoDB/CockroachDB/TiDB 等一众数据库的区别,理解各数据库的优势与局限性,搞懂数据库隔离级别的含义以及应该如何设置,并使我们能在各种应用场景中选择出适用的数据库。

如果你对区块链感兴趣,那这篇文章也能帮助你了解区块链这样的去中心化数据库,跟业界流行的分布式数据库在技术上有何区别,又有哪些共同点,具体是如何实现。

点击查看原文 >>

@技术头条 2023-07-04 23:33 / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
CSPJ 教学思考:贪心算法 (blog.devtang.com)
本文介绍了贪心算法在 CSP-J(信息学奥林匹克联赛入门级)教学中的应用。贪心算法通过每一步选择局部最优解,期望最终达到全局最优。作者强调了排序在贪心算法中的重要性,并提供了 sort 函数和自定义结构体排序的示例代码。文章还推荐了适合教学的题目,如 P2240 部分背包问题、P1223 排队接水等,并附上详细的解题思路和代码实现。适合正在备战 CSP-J 的学生和指导教师参考。
by @技术头条 2025-01-12 11:55 查看详情
理解数据库分片 (www.diguage.com)
这篇文章系统讲解了数据库分片的概念、优缺点以及常见的分片方法,包括基于键的分片、基于范围的分片和基于目录的分片。通过图文并茂的方式,作者详细阐述了每种分片策略的实现原理和适用场景。内容适合数据库管理员、系统架构师以及对数据库扩展性设计感兴趣的开发者,提供了深入理解数据库分片的宝贵参考。
by @技术头条 2025-01-03 00:24 查看详情
AutoConsis:UI内容一致性智能检测 (tech.meituan.com)
深入分享了美团在 UI 自动化一致性检测上的技术方案,从设计思路到实际应用,全面展示了如何提升产品质量和用户体验!想了解大厂如何用技术解决复杂问题?快来阅读并转发!
by @技术头条 2025-01-02 23:44 查看详情
基于 Docker 搭建开发环境(一):数据库+监控 (www.diguage.com)
本文介绍了使用 Docker 构建开发环境的步骤,涵盖 MySQL 数据库配置、Nacos 服务发现与配置管理、Prometheus 监控及 Grafana 可视化。通过 Docker Compose 结构化配置,实现了多组件集成。文章提供了详细的 `docker-compose.yml` 文件示例,并探讨了自动接入监控、应用打包等优化方向,适用于需要集中管理多项开发工具的场景。
by @技术头条 2024-11-02 16:33 查看详情
第一性原理思考:解决问题的通用框架(续) (blog.devtang.com)
本文深入探讨了几种思维框架,包括28原理、谬误推导和终局思维等,帮助在决策中聚焦关键因素,判断信息真伪。文章还列举了常见误区,如误把相关性当因果、从众心理和情绪化决策等,提醒在信息泛滥中保持清晰的逻辑思维。通过案例分析,这些思维模式能有效提升问题解决和决策的效率。
by @技术头条 2024-11-02 16:25 查看详情
第一性原理思考:解决问题的通用框架 (blog.devtang.com)
本文介绍了解决问题的通用框架,基于“第一性原理”思考,分为信息收集、建模、判断和策略迭代四步。通过广泛收集经验与原始数据,建立问题模型,量化核心指标并不断优化策略,可以逐步解决复杂问题。框架虽无法保证执行到位,但帮助接近真实问题,为复杂决策提供可靠支持。
by @技术头条 2024-11-02 16:20 查看详情
图解Blink-Tree:B+Tree的一种并发优化结构和算法 (www.codedump.info)
本文介绍了 Blink-Tree,这是一种 B+Tree 的并发优化结构。通过引入 high key 和 link 指针,解决了并发访问时的性能问题,特别适用于高并发环境的存储引擎优化。如果你对数据库存储引擎感兴趣,这篇文章不容错过!
by @技术头条 2024-09-09 23:46 查看详情
Nginx 反代 SSL_do_handshake 问题解决思路 (dusays.com)
遇到 Nginx 反代时的 SSL_do_handshake 错误?本文深入分析了该问题的原因,并提供了详细的解决方案,包括如何配置 Nginx 以避免 502 错误。如果你在运维中遇到 SSL 问题,这篇文章能帮你快速解决!
by @技术头条 2024-09-09 23:35 查看详情
Java程序调用外网API时CA问题 (lisenhui.cn)
Java 安全设置问题常常让开发者头疼,特别是与 cacerts 证书库相关的配置。本文详细解读了 Java 中的 cacerts 文件问题,帮助你排除常见错误,并提供了实用的解决方案。通过这些技巧,你可以更好地管理证书库,提升应用安全性。如果你在 Java 开发中遇到证书问题,千万不要错过!
by @技术头条 2024-09-08 23:22 查看详情
ubuntu 克隆 netplan dhcp ip 冲突问题 (www.frytea.com)
本文介绍了如何解决在Ubuntu虚拟机克隆过程中出现的netplan DHCP IP冲突问题。作者发现冲突的原因是/etc/machine-id在克隆时保持不变,导致系统分配相同的IP地址。通过在/etc/netplan/xx-installer-config.yaml中添加dhcp-identifier: mac,可以确保每次克隆时获得唯一的IP地址。文章还解释了/etc/machine-id和/sys/class/dmi/id/product_uuid的作用。
by @技术头条 2024-08-06 08:15 查看详情