什么是无数据库 (DBLess) 架构?为什么它是未来趋势

你可能会想:为什么像 Redis 这样的数据库公司会谈论 Databaseless (DBLess) 架构?它到底是什么?这很自然,但在深入讨论细节之前,让我们先来看看这种全新架构背后的新思维方式。 

为此,我想稍微绕个弯,谈谈所谓的“第一原则”思维。它迫使你独立思考,而不是仅仅遵循传统,而是质疑一切。 

第一原理的要点是,除非你研究的是自然法则,例如引力定律,否则每个系统或概念都是人为的,可能会有效率低下之处。此外,时间的流逝或技术创新可能会证明这个概念已经过时。这意味着你应该经常质疑传统的系统或概念,看看你是否可以建立更好的东西。 

要找到这些低效之处,你必须采取系统而科学的方法,将它们分解成更小的部分,以找到根本真相。然后,看看时间的流逝或新技术的发明是否让这些部分变得过时。如果是这样,你似乎有机会建立一个更新更好的系统。 

从根本上来说,无论人们是否知道,大多数社会、技术和经济变革都是因为人们用第一性原理思考并挑战传统而发生的。

来源:见底部参考链接 

在上面的视频中,埃隆·马斯克解释了他如何研究电池的原材料并将其成本从 700 美元降低到 70 美元。

让我们再举一个第一思维原理的例子,因为它更容易解释:汽油车与电动汽车。

汽油车与电动汽车

我们都知道可以使用电池来驱动汽车。 

但是,虽然汽油车确实有电池,但它不是用来驱动汽车的。它使用电池来启动发动机、空调、音响系统、灯光、传感器、锁等,但不是用来驱动汽车。相反,它依靠内燃机 (ICE) 来驱动汽车。

事实证明,内燃机汽车效率极低。产生的电力中只有16% 到 25%真正进入车轮。另一方面,电动汽车为车轮提供了大约90% 的动力!电动汽车在环境、维修成本等方面也具有巨大优势。 

如果从第一原理的角度来看待这个问题,尽管今天制造的大多数汽车都是汽油车,但根本的事实是,它们使用的系统效率低下。 

现在,如果你看看电动汽车,它消除了这种低效率,制造出了一种新型汽车。在这种情况下,它只是摆脱了复杂且效率极低的发动机,用一个大电池和一个直接旋转车轮的电机取而代之。 

所以你可以看到第一原则思维如何识别低效率并创建一个更新、更好的系统。

现在看看这些想法,如果您要创办一家新汽车公司,您会生产汽油车还是电动汽车?

让我们换个角度,转向数据库世界,看看是否可以将相同的第一原则思维应用到该领域。

传统架构与 DBLess 架构

我们先来看一下传统建筑。

在传统架构中,您有一个主数据库(Postgres、MongoDB 等)和一个辅助数据库或缓存(例如 Redis 或 Memcached)。主数据库用于存储所有数据并支持 CRUD 操作。缓存数据库用于缓存、会话存储、速率限制、IP 白名单、发布/订阅、排队和许多其他事情。

想想看,即使缓存命中,我们也会使用辅助数据库执行部分 CRUD 操作。但我们仍未充分利用它作为主数据库。 

这是否让你想起了汽油车的问题?就像它们携带电池来为汽车移动以外的许多东西供电一样,传统架构使用 Redis 之类的东西来做除作为主数据库之外的所有事情。

你看出了相似之处吗?

如果我们用第一原理思维来做电动汽车所做的事情会怎么样?与电动汽车摆脱发动机的方式类似,如果我们摆脱缓慢而低效的主数据库,而只是使用缓存数据库作为主数据库会怎么样?

向无数据库(DBLess)架构问好。 

无数据库(DBLess)架构:

在这个架构中,你可以摆脱主数据库,因此得名 DBLess。相反,你可以使用以前的辅助/缓存数据库作为新的主数据库。

让我们想象一下,我们开始使用 Redis 或其他类似的缓存数据库作为主数据库,并完全摆脱主数据库(例如 Postgres、Mysql、MongoDB 等)。 

重要提示:这只是一个架构讨论。DBLess 架构不是仅限于 Redis 或 Redis Enterprise 的专有架构,它可以与任何类似 Redis 的系统配合使用。另外,请记住 Redis 是一个 OSS 项目,因此您可以自行构建它或在任何其他 Redis 托管的云提供商上构建它。 

有人使用这种架构吗?

是的,当然。你可以想象,我们每天与成千上万的客户合作。尽管 Redis 仍然主要用作辅助数据库,但在过去几年中,我们已经开始看到这种新的 DBLess 架构的出现。随着 Redis 本身变得更加功能丰富、功能强大,以及越来越多的人获得成功,它开始获得更大的发展势头。许多甚至不是我们客户的人,比如 Request Metrics,都在这个架构上建立了他们的整个初创公司,并发现它非常成功。

单击图像即可观看 YouTube 视频。

既然您知道它是真实的,让我们看看是什么使其成为可能。

从技术上讲,这与传统的主数据库相比如何?

我们以 Redis Enterprise 为例,并将其与传统的主数据库进行比较。

正如您所见,简短的回答是,它表现确实很好,事实上,甚至比一些传统的主数据库更好。

提醒一下,您可以通过简单地使用 Redis OSS 或其他 Redis 竞争对手来使用此架构。您只需要拿出一个类似的比较表来查看它的效果如何。

但是,Redis 真的能做到这一点吗?我以为它只是一个缓存?

你说得对。大约十年前,它作为一家缓存商店开始营业,现在仍然非常适合这个用途。 

然而,Redis 和 Redis Enterprise 多年来已显著扩展,几乎整合了传统数据库的所有功能,并拥有与核心 Redis 一起本地运行的 模块生态系统。

RedisJSON为例(比市场领导者快 10 倍)。您可以使用它来获得一个实时的文档类数据库,或者使用RediSearch 模块快 4 倍到 100 倍)并实现实时全文搜索,如 Elastic Search 或 Algolia。 

并且您可以将这些模块中的任何一个用作 Redis OSS 的一部分并自行托管。

这真的是未来吗?

我们坚信这种架构代表着未来,就像电动汽车代表着未来一样。尽管电动汽车占所有汽车的比例不到 1%,但它们代表着未来。我们认为这只是技术的自然演进。看到许多客户的成功,我们认为了解的人越多,尝试采用的人就越多。

名字里有什么?

之所以称之为 DBLess,是因为我们正在摆脱主数据库,我们认为这是一个有趣而古怪的名字,类似于“无状态”、“无服务器”、“ NoSQL ”和“无软件”。 

如何开始?

如果您是数十万 Redis 用户之一,那么您很幸运——您今天就可以进行快速概念验证!我们不会要求您添加新内容,而是要求您摆脱低效的内容。 

下面介绍如何操作。

如果您正在构建新系统或新功能,那么只需开始使用这种架构就很简单了 - 或者至少进行概念验证并看看它是否适合您。

如果您已经拥有主数据库,那么请效仿我们的许多客户的做法,使用混合方法。他们继续使用传统架构,但将产品的部分功能迁移到较新的架构中,例如他们已经严重依赖 Redis 或较新功能的地方。然后,他们会缓慢但稳步地迁移所有功能,直到完全迁移完毕。

摘要:成为第一原则思考者

我们要求你成为第一原则思想家。仅仅因为某样东西是传统使用的,并不意味着它是完美的,你应该盲目地遵循它。我们要求你质疑传统思维,批判性地审视它,并尝试替代方案。当你这样做时,你可能会发明一些对自己和他人有用的东西。

DBLess 架构提供了一种传统思维的替代方案。与其怀疑它是否可行,不如尝试概念验证。它可能会给你带来惊喜!

参考

  1. 伊隆·马斯克谈第一性原理

无数据库 (DBLess) 架构是什么 — 以及它为何代表未来 - Redis

posted @ 2024-10-31 16:30  CharyGao  阅读(10)  评论(0编辑  收藏  举报