拉把椅子过来。我们来谈谈我们承受的重担。
几十年来,我们作为后端工匠的角色,就像是建筑大师和机械师的结合体。我们设计出精美、逻辑清晰的蓝图。然后,我们进入引擎室:配置硬件、调整配置文件、规划故障转移电路,并在凌晨 3 点CPUUtilization图表呈现断崖式下跌时手忙脚乱。我们不仅仅是音乐的作曲家;我们还负责搭建音乐厅、调音,并确保小提琴在高潮时不会着火。
我的职业生涯都在那个机房里度过。我熟悉完美调校的数据库服务器发出的嗡嗡声。我把VACUUM操作或重大版本升级的压力视为荣誉勋章。这是一种控制的艺术,一种深度、精细的掌控。
但随后,一个新的旋律开始低语:无服务器。
我踏入这个新范式的旅程并非始于信仰,而是始于怀疑。“NoOps?”我嗤之以鼻。“没有服务器的数据库就像没有乐手的管弦乐队,只是一个寂静的大厅。”
但这个承诺很诱人。如果我能……作曲呢?
第一幕:接力棒的重担——我们所知的艺术 我们的传统艺术形式——“预置交响曲”,讲求预测和精准。我们必须在卖出一张票之前,就预知观众人数。
容量画布:我们盯着电子表格,预测峰值负载。我们db.r5.4xlarge为节假日流量预留了空间,因为我们知道它在二月份会有70%的闲置率。我们花钱买的是音乐的潜力,而不是实际播放的音符。 指挥家的应变:扩容需要计划好的中场休息。需要启动一个副本,迁移连接,这通常会导致几分钟的停机或性能下降。这是一场精细的手工芭蕾。 拼凑调色板:安全补丁、小版本更新、备份轮换——这些都是必要但重复的任务,使我们远离真正的艺术:设计数据模型和制作优雅的查询。 我们是大师,没错,但我们也是看门人、电工、保安。艺术与辛劳交织在一起。
第二幕:第一音符——新艺术形式的一瞥 我第一次尝试无服务器数据库,感觉就像异端邪说。我定义了一个模式。我连接了一个客户端。我开始写入和读取。没有实例大小的下拉菜单。没有存储IOPS的滑块。
最初的体验……令人不安。就像走上舞台,举起双手,一支我看不见的管弦乐队开始演奏,节奏完美。
真正的杰作在我们第一次不可预测的流量事件中显露出来。一项功能迅速走红。在以前,我的传呼机肯定会尖叫。CPU 图表会在 100% 时停滞不前。我会手忙脚乱地触发扩展策略,或者更糟的是,疯狂地登录系统手动调整实例大小。
这次,我查看了指标仪表盘。并发图飙升,宛如一条美丽而又令人恐惧的山脉。但延迟线依然平坦宁静。数据库只是在处理它。它自动地水平和垂直扩展,无需我发出任何指令。感觉就像魔术一样。但这并非魔术;这是一种不同的艺术。
第三幕:隐形乐团——解构杰作 无服务器数据库并非没有服务器的数据库。这种说法并不准确。服务器就在那里,成千上万台。艺术性在于抽象层。
可以将其想象成一位超凡的指挥家和一支流畅、多变的管弦乐队。
无状态指挥:计算层与存储完全解耦。每个查询执行都可以路由到一个瞬时、无状态的计算节点。当你的应用连接时,它连接的不是单个劳累过度的音乐家,而是指挥,指挥会立即从庞大的资源池中组建一个小型乐团,专门演奏你的歌曲。查询完成后,乐团解散。你只需为排练时间付费。 永恒手稿:数据本身驻留在持久的分布式存储层上。这是一份共享的永恒手稿。它始终存在,高度可用且可复制。计算节点只是这份手稿的临时读者。 动态乐谱:真正的艺术在于自动缩放。从零到巨大的音阶,再回到零。你听说过“冷启动”吗?这是指挥找到第一个可用的乐手并把乐谱交给他们所需的时间。对于许多应用程序来说,为了避免支付全天候不间断的乐队费用,这种短暂的延迟是值得的。 艺术发生了转变。我们不再是机房里的机械师。我们是作曲家,是剧本作者。我们定义数据结构(乐谱),编写查询(旋律)。剩下的交给平台处理。
评论家的眼光:当音乐停止时 这是否代表着所有用例的未来?当然不是。没有一种艺术形式是放之四海而皆准的。
《预置交响曲》至今仍占据主导地位:
可预测的高吞吐量工作负载:如果您拥有稳定、巨大的负载,那么配置大型预留实例几乎总是更具成本效益。 延迟敏感、毫秒关键系统:潜在冷启动的每一毫秒都是不可接受的。 繁重、复杂的交易:虽然有所改进,但与专用的单片引擎相比,一些无服务器架构在长时间运行、多操作交易方面仍然存在局限性。 最终作品:艺术家的新调色板 那么,无服务器是数据库操作的未来吗?
对于绝大多数现代应用程序(具有多变、不可预测的流量模式的应用程序、由想要快速行动的小团队构建的应用程序、采用事件驱动的微服务架构的应用程序)来说,答案是肯定的。
它描绘的未来不是没有操作员,而是操作员被解放出来。从修补和扩展的繁琐工作中解放出来,专注于更高阶的艺术:数据建模、查询级别的性能调优、安全策略和业务逻辑。
我的旅程并非为了用更好的工具来替换一件,而是为了哲学上的根本转变。我用扳手换了一根更精良的指挥棒。我不再担心小提琴,而是专注于旋律。
如今,管弦乐队变得无形、智能,并且拥有无限的可扩展性。这么长时间以来,我第一次感觉自己不再像个机械师,而更像个作曲家。作者www.lglngy.com