• 大约一年前,我在考虑下一个项目应该选择哪个数据库时,发现自己对数据库的区别了解得还不够。我浏览了不同的数据库网站,看到的大多是市场营销和我不理解的词汇。 这时,我决定阅读 Alex Petrov 所著的《Database Internals》和 M
  • TypeIDs是UUIDv7的一个现代的、类型安全的扩展。 TypeIDs被规范地编码为小写的字符串,由三部分组成: 一个类型前缀 一个下划线'_'分隔符 一个128位UUIDv7编码为base32的26个字符的字符 icon
  • 在分布式系统领域,确保跨多个节点的数据的一致性和协调性至关重要。etcd 由 CoreOS 团队开发,受到 Raft 共识算法的启发,是一个开源的分布式键值存储,为应用程序提供可靠的分布式协调。它广泛应用于云原生环境,在 Kubernetes 等容器编排系统中发挥着基础性作用。在这篇博文中, icon
  • Kafka的关键配置min.insync.replicas :用户消息生产的客户端配置,表示消息生产者认为写入成功之前确认收到记录的代理数量。 - acks==0 — 发送请求时认为写入成功 - 无需等待响应。 - ​​​​​​​acks==1 — 当领导者收到记录并 icon
  • 分布式系统中的一致性模型: 在分布式数据系统的三个属性(一致性、可用性和分区容错性)中选择两个。- Eric Brewer,CAP 定理 分布式系统具有可扩展性和容错性等优点。然而,维持分布 icon
  • UUID(通用唯一标识符)是一种用于标识信息的标准化方法。UUID版本4是最常见的UUID版本,它基于随机数生成。 UUID 版本 4 是什么?UUID 是通用唯一标识符的缩写,是一个 128 位标识符,表示为由破 icon
  • Apache Kafka 不需要 fsyncs 来确保安全,因为它在其复制协议中包含恢复。它是一个真实世界的分布式系统,使用异步日志写入 + 恢复,并内置一些额外的额外安全性。异步日志写入使其能够在各种硬件和各种工作负载上提供强大的性能。 icon
  • Kafka在其 Kafka Raft Metadata 模式中使用 Raft 共识算法进行领导者选举,从而消除了对 ZooKeeper 管理集群元数据的依赖。Raft算法是一种共识协议,旨在确保分布式系统中状态机的容错复制。 在 Kafka 对 R icon
  • 来自Marc's Blog的文章:不变性是推理算法、数据结构和分布式系统的强大工具。对于您设计或实现的任何复杂系统或算法,都值得考虑一组不变性。以这样的方式构建您的实 icon
  • 根据CAP定理,数据库即使在15天后才返回查询响应,也是可用的,但对于任何真实世界的应用程序来说,这种延迟是不可接受的。 什么是CAP定理CAP定理是分布式计算领域的一个基本理论,它由计算机科学家Eric Brew icon
  • 本文讨论了在数据库模式中使用自动递增整数键和 UUID 作为主键之间的权衡。文章提议了第三种专有方案,即时间排序唯一标识符(TSID)。 以下是三种方案总结:自动递增整数键方案:具有出色的性能和按时间排序的特点,但不能由多个 icon
  • TiDB是一个开源混合事务和分析处理(HTAP)数据库,由 PingCap 开发。 TiDB 服务器是用 Go 编写的,是查询/事务处理组件;它是无状态的,因为它不存储数据并且仅用于计算。 底层键值存储TiKV是用Rust编写的,它使用RocksDB作为存储引擎。 < icon
  • 阿里巴巴组的这篇论文讨论了如何在PolarDB数据库部署中从从节点执行低延迟强一致性读取。发表在VLDB'23 上。 < icon
  • 分布式系统中的复制对于确保数据一致性、可用性和系统弹性至关重要。这是一种将数据存储在多个节点或服务器上的策略,即使在服务器故障或维护期间也可以防止数据丢失并实现不间断访问。 1、单领导者主从复制:涉及一台主服务器( icon
  • 这些建议提示都是分布式系统研究人员和从业人员几十年来的集体成果。 提示分为三类:功能、性能和容错:功能: 应用抽象 减少协调 拥抱单调性 表现: 偏爱偏序而不是全序 杠杆时间 icon
  • 在 RevenueCat,我们每天处理超过 12 亿个请求。只有在以下情况下您才能有效地做到这一点: 您可以在许多 Web 服务器之间分配负载。 您可以使用缓存来加速对热数据的访问并保护后端系统和数据存储的容量。 icon
  • 在分布式系统中,快速编码和测试对于理解Paxos等复杂概念至关重要。这个小框架来快速编写和测试各种复制机制。 可以快速实现复制算法并编写 JUnit 测试。它还提供了引入进程崩溃、网络断开、网络延迟和时钟偏差等故障的基本方法。 icon