PlanetsCale,它在Vitess上建立了一个类似的数据库,帮助缩放YouTube的Tech,提高了30万系列B

2021-06-23 21:16:28

一些创建数据库的人喜欢从干净的板岩开始。 PlanetsCale,在周三的A16Z和SignalFire中获得3000万美元的B系列资金,采取了略微不同的方法。该公司看着MySQL,喜欢它看到的东西,并在它周围包裹了所有的增强功能。核心仍然是MySQL,运行标准引擎并响应标准查询,但包装器处理分片和复制的所有挑战,使得可以创建PlanetsCale所说的数据库,可以在几秒钟内启动并缩放“无限期。“

该公司表示,开发人员可以在几秒钟内创建一个新数据库,这些数据库将在几秒钟内成长,没有关于可扩展性的局限性。开发人员不需要了解环境,例如新的云区,群集大小和其他“以DB为中心的MeNutiae”。该公司在一份声明中表示,新的新资金转向全球范围扩大团队并加速曝光和采用该平台。

为了了解有关这些额外的层内置的内容,Venturebeat坐在PlanetsCale的首席产品官员萨姆·兰伯特队坐下来。他告诉我们,在PlanetsCale的创新中是一些基于Vitess的创新,这是一个MySQL的一个分支,它在Youtube逐步划水平的工作。超倾覆像诸如松弛,GitHub和Square等高超剖视图。

Sam Lambert:几乎每个数据库的问题都没有一个建筑物数据库正在考虑使用它们的人们的日常生活。像那样简单。我们在PlanetsCale上有什么不同的是,我们正在进入开发人员的日常生活以及解决与数据库相关的开发者问题。

兰伯特:记住NoSQL运动吗? MongoDB将自己作为一个工具作为一个工具,开发人员在他们讨厌的模式之后,难以管理的模式 - 难以部署和使用的模式。这一切都是真的,对任何关系数据库都非常真正的批评。

我们所做的是允许分支和部署模式更改的请求。您可以测试您的架构,然后将其推入生产中。它作为完全可用的非阻塞变化滚动。就好像你刚推了代码。它具有易于使用的易用性。因此,您可以使用所有开发人员工作流程获得伟大的MySQL良好。

Lambert:SQL命令将锁定表格。这将导致您可怕的停机时间,您的应用程序会放慢速度,您的查询会堆积 - 它只是一团糟。

Vidturebeat:所以你能够通过锁定生产的变化来滚动吗?

Lambert:通过我们的方式,它只是异步地将变化滚到生产中 - 但如果我们看到我们停止的流量爆发。我们只是暂停我们正在做的事情,我们让我们进入交通工具,然后我们继续迁移它。因此,它就像是一个真正的安全部署代码,好像它只是在数据库群集中出发所有这些节点。

因此,如果要执行架构更改,则会有您的表格。这是您的用户表。您要添加列来跟踪,例如,是否订阅了用户。我们所做的是我们创建一个空的用户表的副本。只是架构。我们添加订阅列,然后我们慢慢开始将现有的数据慢慢地蚕食。我们以在线方式进行。所以它只是拉到了进来的任何新的更新。他们申请了,我们闲聊。当他们彼此最新时,我们会立即交换,新列在生产中生活。旧桌子在那里,我们删除它,新列是在生产中生活的。它与您部署应用程序时的方式相同:您将新的POD滚入生产中。这是开发商非常熟悉的事情的一种方式。

Lambert:Vitess是Mega-Scale,开源数据库技术为电源uTube提供了从Slack到GitHub的所有权,但它很复杂。维护很棘手。从大公司中采取一些东西并将其应用于中市或小公司,这是非常困难的,减少小团队或个人。它是为谷歌和youtube而建造的。他们做了一个巨大的工作,利用它。它是为了数据库人。这是基础设施人。

Lambert:用新的PlanetsCale,我们为你做了这一点。我们只是完全消除了复杂性。我们是你的基础设施人。我们是你的数据库人。我们正在遇到您作为开发人员的地方,在那里您不了解地区和集群和服务器以及其他人要求您选择的东西。但我们建在Vitess上并具有Vitess的力量。

兰伯特:分支是一些真正的魔法酱。因此,当您获得一个分支机构时,获取一个全新的群集,它是一个完全隔离的集群,远离您当前的集群。这是一个完全孤立的环境。

Lambert:不,我相信你知道,暂存环境是每个人的地狱问题。我们将杀死暂存环境的概念。他们是一个不必要的混乱。这只是一个与分支保持的另一个负担。

我们说:没有这种单片分期环境。只需创建每个代码分支的分支。这本身是一个很好的环境。测试它,推动它部署。然后它消失了。拥有尽可能多的分支机构。如果你愿意,每位开发人员拥有100个。它们都是用于分期的环境,但这是旧的常期环境世界的代理飞跃。

VidtureBeat:在一个我们遇到的项目上,老板不想支付太多的测试群集。

兰伯特:是的,如果你的项目很大,那么克隆它们是一个巨大的成本。如果您设置了一个分支,您不会最终加倍您消耗的资源数量。这是一个光,小的子集。

VidtureBeat:在一些项目中,我一直在,分期和测试集群将开始偏离生产。我们无法保持同步。代码将在生产中运行并在生产中失败,或者更糟糕的是,在生产中运行但在分期中失败。我们无法测试它。我们只会穿过手指并将其推进生产,因为我们知道暂存是令人挤的。

Lambert:我见过暂存环境的最好的是他们持续昨晚的备份,并将其恢复到单独的群集上。所以,它略微陈旧,它只是脆弱。

我们不这样做。我们在PlanetsCale上主持PlanetsCale的主数据库。当我们添加一个功能时,我们在本地代码并创建数据库分支。当我们完成后,我们推动变化,他们都赶上了。

兰伯特:水平分片。它令人难以优雅,它将问题分解为多个小块。分片更优雅,而不是堆叠您的机器。如果将数据拆分为商品计算机的碎片,则您不仅可以获得相同数量的CPU核心,您可以在垂直刻度环境中使用读取,您可以获得更多服务写入。复制延迟不会成为一个问题,您只需继续增长。

VentureBeat:查询需要触摸所有碎片时会发生什么,也许要构建一些汇总报告?

兰伯特:确实发生了。但是你可以优化,我们会给你做的方法。肯定有码头碎片聚集,这有点慢。但是,当您需要时,与传统的一致性问题相比,这些都很容易优化,这是一种方式,方式更难以包裹头部。

Venturebeat:在您的产品核心深处是MySQL。你使用股票版本吗?

Lambert:MySQL是最好的。谈到存储和存储引擎时,这几乎是首映式。你无法击败它。您可以访问所有存储引擎 - 我们与其他MySQL人员兼容。但是,对于纯粹的存储引擎,这是我们使用它的,它只是现场。

兰伯特:看看我们的竞争对手。他们问你想要多少节点。有多少服务器CPU?有多少vcpus? IO多少钱?垃圾!我们不要求这一点。当您注册我们的产品时,我们会创建数据库。我们将为您自动规模,因为我只是不相信信息是必要的。我们是专家。我们喜欢数据库。我们构建数据库。我们为您处理这个问题。

此外,人们对我们的计费模型感到兴奋,因为人们真的只是讨厌觉得他们因他们不使用的东西被指控。我们每行向您收取您的读取和每行写入,然后使用多少存储。就是这样。没有vcpus。没有保留的io。都不是。只是你消耗的东西和你做了什么。这是一个真正的服务体验很棒。

VidtureBeat:像PlanetsCale这样的名字意味着你必须建立一个非常大的云。

Lambert:我们有一个支持的业务,基本上是这些主要的规模公司,这些公司是我们的客户。如果你继续前页或看到那些家庭名称的一些徽标,那就是我们的客户。但我们的主要命运位于我们的云产品中。分支和架构更改的所有这些魔法都由云供电。我们的路线图,即将到来的一些非常酷的功能需要云。这些是您只能在云服务中提供的功能。这是人们想要的。无要的是赢得胜利。无服务器正在发生。

VidtureBeat' S使命是成为技术决策者的数字城市广场,以获得有关转型技术和Transact的知识。您网站提供有关数据技术和策略的基本信息,以指导您的领导您的组织。我们邀请您成为社区的成员,访问:门控思想领导者内容和对我们奖化事件的折扣访问,如转换2021:了解更多

成为会员