-
正本清源:技术反思录
2023年05月29日 in 数据库
最近在技术圈有一些热议的话题,云数据库是不是智商税??公有云是不是杀猪盘?分布式数据库是不是伪需求?微服务是不是蠢主意?你还需要运维和DBA吗?中台是不是一场彻头彻尾的自欺欺人?在Twitter与HackerNews上也有大量关于这类话题的讨论与争辩。 在这些议题的背后的脉络是大环境的改变:降本增效压倒其他一切,成为绝对的主旋律。开发者体验,架构可演化性,研发效率这些属性依然重要,但在 ROI 面前都要让路 —— 社会思潮与根本价值观的变化会触发所有技术的重新估值。 有人说,互联网公司砍掉一半人 …
-
数据库需求层次金字塔
2023年05月10日 in 数据库
与马斯洛需求金字塔类似,用户对于数据库的需求也有着一个递进的层次。用户对于数据库的需求从下往上可以分为八个层次,分别与人的八个需求层次相对应: 生理需求,功能:内核/正确性/ACID 安全需求,安全:备份/保密/完整/可用 归属需求,可靠:高可用/监控/告警 尊重需求,ROI:性能/成本/复杂度 认知需求,洞察:可观测性/数字化/可视化 审美需求,掌控:可控制性/易用性/IaC 自我实现,智能:标准化/产品化/智能化 超越需求,变革:真·自治数据库 安全需求与生理需求同属基础需求,一个用于生产环 …
-
微服务是不是个蠢主意?
2023年05月07日 in 数据库
亚马逊的Prime Video团队发表了一篇非常引人注目的案例研究[2] ,讲述了他们为什么放弃了微服务与Serverless架构而改用单体架构。这一举措让他们在运营成本上节省了惊人的 90%,还简化了系统复杂度,堪称一个巨大的胜利。 但除了赞扬他们的明智之举之外,我认为这里还有一个重要洞察适用于我们整个行业: “我们最初设计的解决方案是:使用Serverless组件的分布式系统架构… 理论上这个架构可以让我们独立伸缩扩展每个服务组件。然而,我们使用某些组件的方式导致我们在大约5%的预期负载时, …
-
分布式数据库是不是伪需求?
2023年05月07日 in 数据库
随着硬件技术的进步,单机数据库的容量和性能已达到了前所未有的高度。而分布式(TP)数据库在这种变革面前极为无力,和“数据中台”一样穿着皇帝的新衣,处于自欺欺人的状态里。 太长不看 互联网的牵引 分布式的权衡 新硬件的冲击 伪需求的困境 迷茫下的挣扎 Reference 太长不看 分布式数据库的核心权衡是:“以质换量”,牺牲功能、性能、复杂度、可靠性,换取更大的数据容量与请求吞吐量。但分久必合,硬件变革让集中式数据库的容量与吞吐达到一个全新高度,使分布式(TP)数据库失去了存在意义。 以 NVMe …
-
是时候和GPL说再见了
2021年09月16日 in 数据库
原文由 Martin Kleppmann 于2021年4月14日发表,译者:冯若航。 Martin Kleppmann是《设计数据密集型应用》(a.k.a DDIA)的作者,译者冯若航为该书中文译者。 本文的导火索是Richard Stallman恢复原职,对于自由软件基金会(FSF)的董事会而言,这是一位充满争议的人物。我对此感到震惊,并与其他人一起呼吁将他撤职。这次事件让我重新评估了自由软件基金会在计算机领域的地位 —— 它是GNU项目(宽泛地说它属于Linux发行版的一部分)和以GNU通用 …
-
容器化数据库是个好主意吗?
2019年01月13日 in 数据库
前言:这篇文章是19年1月写的,四年过去了,涉及到数据库与容器的利弊权衡依然成立。这里进行细微调整后重新发出。明天我会发布一篇《数据库是否应当放入K8S中?》,那么今天就先用这篇老文来预热一下吧。 对于无状态的应用服务而言,容器是一个相当完美的开发运维解决方案。然而对于带持久状态的服务 —— 数据库来说,事情就没有那么简单了。生产环境的数据库是否应当放入容器中,仍然是一个充满争议的问题。 站在开发者的角度上,我非常喜欢Docker,并相信容器也许是未来软件开发部署运维的标准方式。但站在DBA的 …
-
理解时间:闰年闰秒,时间与时区
2018年12月11日 in 数据库
前几天出现了四年一遇的闰年 2月29号,每到这一天,总会有一些土鳖软件出现大翻车。这种问题如果运气不好,可能要等上四年才会暴露出来。 比如今天新鲜出炉的:禾赛科技激光雷达和新西兰加油站都因为闰年Bug无法使用。 聊一聊闰年,闰秒,时间与时区的原理,以及在数据库与编程语言中的注意事项。 0x01 秒与计时 时间的单位是秒,但秒的定义并不是一成不变的。它有一个天文学定义,也有一个物理学定义。 世界时(UT1) 在最开始,秒的定义来源于日。秒被定义为平均太阳日的1/86400。而太阳日,则是由天文学现 …
-
区块链与分布式数据库
2018年06月09日 in 数据库
区块链的本质,想提供的功能,及其演化方向,就是分布式数据库。 确切的讲,是拜占庭容错(抗恶意节点攻击)的分布式(无领导者复制)数据库。 如果这种分布式数据库用来存储各种币的交易记录,这个系统就叫做所谓的“XX币”。例如以太坊就是这样一个分布式数据库,上面除了记载着各种山寨币的交易记录,还可以记载各种奇奇怪怪的内容。花一点以太币,就可以在这个分布式数据库里留下一条记录(一封信)。而所谓智能合约就是这个分布式数据库上的存储过程。 从形式上看,区块链 与 预写式日志(Write-Ahead-Log, …