简单地说,我们现在是Redis

了解更多

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

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

为了做到这一点,我想先绕道谈一下第一原理思考。它迫使你替你自己想想吧不仅要遵循传统,还要质疑一切。

《第一原理》的主旨是,除非你看到的是自然法则,比如万有引力定律,否则每个系统或概念都是人为的,都可能存在效率低下的情况。此外,随着时间的推移或技术革新,这一概念可能已经过时。这意味着您应该经常质疑传统的系统或概念,看看是否可以构建出更好的东西。

要发现这些低效率,你必须采取一种系统和科学的方法,将它们分解成更小的部分,以获得基本的真理。然后,看看时间的流逝或新技术的发明是否使这些作品过时了。如果是这样,那么您似乎有机会构建一个更新、更好的系统。

从根本上说,不管人们知不知道,社会、技术和经济的大多数变化都是因为人们用第一原则思考和挑战传统。

来源:见底部的参考链接

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

让我们再举一个关于第一原则的例子,因为它更容易解释:汽油汽车vs.电动汽车。

汽油汽车vs.电动汽车

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

但是,虽然汽油车有电池,但它不是用来驱动汽车的。它使用电池来启动引擎、空调、音频系统、灯、传感器、锁等等,但不用于运行汽车。相反,它依靠内燃机(ICE)来驱动汽车。

事实证明,内燃机车的效率非常低。只有16%到25%产生的能量实际上会进入车轮。另一方面,电动汽车提供了大约90%的力量轮子!电动汽车在环境、维修成本等方面也有很大优势。

如果你从第一原则的角度来看这个问题,即使今天制造的大多数汽车都是汽油车,最基本的事实是它们使用了一个效率低下的系统。

现在,如果你看一辆电动汽车,它消除了这种低效率来制造一种新型汽车。在这种情况下,它简单地抛弃了复杂且效率极低的引擎,取而代之的是一个大电池和一个可以直接旋转车轮的发动机。

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

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

让我们转向数据库领域,看看能否将同样的首要原则应用到该领域。

传统体系结构与DBLess体系结构

让我们先看看传统建筑。

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

如果您仔细想想,即使有缓存命中,我们也在CRUD操作的一部分中使用辅助DB。然而,我们仍然没有充分利用它作为一个主要数据库。

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

你看到相似之处了吗?

如果我们用第一原理思考来做电动汽车做的事情呢?与电动汽车摆脱引擎的方式类似,如果我们摆脱缓慢而低效的主数据库,而简单地使用缓存DB作为主数据库,会怎么样呢?

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

无数据库架构:

在这个体系结构中,您去掉了主DB,因此命名为DBLess。相反,使用以前的辅助/缓存DB作为新的主数据库。

让我们想象一下,我们开始使用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通过整合传统数据库的几乎所有功能和拥有一个生态系统模块与core Redis一起原生运行。

RedisJSON快10倍而不是市场领导者)。你可以使用它并拥有一个类似于文档的实时数据库,或者使用RediSearch模块速度提高了4到100倍),并实现实时全文搜索,如Elastic Search或Algolia。

你可以使用任何这些模块作为Redis OSS的一部分,并自己托管它。

这真的是未来吗?

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

名字里有什么?

它被称为DBLess是因为我们要去掉主数据库我们认为这是一个有趣而古怪的名字无状态的”、“serverless”、“NoSQL”和“没有软万博电竞客服件”。

如何开始?

如果你是成千上万的Redis用户中的一员,那么你很幸运——你今天就可以做一个快速的概念验证!我们不是要你添加一些新的东西,而是要你删除一些效率低下的东西。

下面是怎么做。

如果您正在构建一个新系统或一个新特性,那么就直接开始使用这个体系结构—或者至少进行概念验证,看看它是否适合您。

如果你已经有了一个主数据库,那么就像我们的许多客户一样,使用混合方法。他们继续使用传统的架构,但将部分产品迁移到更新的架构中,比如那些他们已经严重依赖Redis或更新功能的地方。慢慢地但肯定地,他们迁移所有的功能,直到他们完全迁移。

总结:做一个第一原则的思考者

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

DBLess体系结构提供了一种替代传统思维的方法。与其怀疑它是否可行,不如尝试一下概念验证。这可能会让你大吃一惊!

参考文献

  1. 埃隆·马斯克谈第一原则

Baidu