KEYDB CEO采访:用REDIS叉进入YC

2021-04-28 11:25:12

keydb作为redis的叉子开始。我离开了微软,我想开始一些新的东西。一个想法是一个搜索结果,您可以使用正则表达式来搜索Internet,这是使用redis的互联网。但是,我无法理解为什么它只是使用八个CPU核心。我很生气,它只是使用一个小的那个小组,所以我花了一个月添加多线程,然后我写了一个博主说“Redis应该是Bemulti-rineed”。

我真的很惊讶我从那篇文章中得到的反馈。在黑客新闻,它做得很好。我们看到那里有一些东西。我们也看到,当youlook进入问题时,Redis基本上已经过于复杂。

我的思想过程是简单的,如果他们不打算这样做,我们可以做。所以我们做到了 - 我们将keydB作为我们认为应该拥有的数据库。

我们不希望在那时开始一个数据库公司,这只是一个anitch。但回应真的很惊讶我们。我的思想过程只是在这里有一个大的需求,Redis因某种原因决定不为它服务。如果他们不会那么我们会。

开始以这种方式提出了一些挑战。投资者真的不知道与我们有关。有像MariaDB这样的叉子,其中部分主要的Dev Teamsplit Off,但并不是一个完全独立的团队的例子只是说“我们在这里走自己的方式”。它试图申请ycombinator,但我们得到了非常清除,所以他们带我们进去了。YC在这次采访中的主要关注点是我们真正建立了与redis不同的东西。进入ycreally打开了很多门,我很感激他们抓住了我们的机会。

Redis是一个伟大的基础,它的创始人Salvatore Sanfilippo做了一个非常好的建筑物,但我们想把它置于不同的方向。他希望使用简单的方面,我们真的想与performance一起使用.Redis经常用作缓存,所以我们觉得它最为感到焦点。 redis稍后使用I / O线程更改课程,但keydB的Ouraproach实现了更好的性能。

我们还花了很多时间,确保我们总是与Redis兼容。 Forinstance,Redis有一定的一致性保证:如果您这样做的查询,您将获得此结果。这对用户来说很重要,因为它们不希望ToSwitch到不同的数据库,然后具有仅显示时间的微妙的错误。当我们做更多的工作来改善我们能够tomulti-thread的努力,例如我们所做的工作,我们才能远离全球洛克罗瓦德斯的异步,我们将保持兼容性。我们永远不会(为了履行性能)松开这些保证,我们始终维护兼容性。

redis是一个很棒的基础,我真的很喜欢它的API,其协议,并且一般都致力于努力。但它令人遗憾的是,它在桌子上留下了很多潜力。我们想要用keydB解决。

在早期,我本质上醒来,写代码并睡觉。现在,它有点涉及。我们已经通过Y Combinator并举起了一轮,两轮都需要不同的技能。现在有很多Moremeetings!在正常工作时间,我的日子主要是会议,然后在晚上诠释,当事情有点安静时。

我的角色有两个方面:首席执行官元素与投资者交谈,那么时间也是福利的。

我的联合创始人Ben,就像Devops一样的部署方面重点集中了更多。他确保当人们部署东西时,有软件包和编织和开发人员所需的所有关键项目都与Aproject一起使用。

我们最近一直专注于扩展我们的开发人员团队,因此我们可以继续构建核心数据库产品。

我们试图与redis团队保持良好的接触,并在它有意义的地方上游匹配。我们有不同的哲学,而不是一切都在keydB中进行了意义,进入redis。在萨尔瓦特在Redis的各种项目中间陷入困境之前,我曾多次谈过他。

在大型社区的方面,我们有许多触点。 Githubis是一个主要的一个。我们还使用聊天,虽然这变得压倒了,但我们从那里返回了一段时间。我们现在使用Slack再次重新引入聊天,这将让我们与用户一起讨论MoredIbecty。我们还有留言板。

如果您要做聊天,您必须投资它的时间。人们希望在合理的时间内回应。如果你不能给那个时间,那就不要这样做。确保你知道你自己得到了什么。由于客户欣赏与团队的直接连接,并且您了解更多。

通过GitHub如果您获得问题,您真的只是谈论错误,聊天客户会告诉您他们想要看到什么。您可以获得真正有助于使产品更好的信息的FreeRflow。这是值得的,但你真的必须阻止时间让它成功。

只要我记得,我一直在编程。早期我正在玩DUS和Lotus 1-2-3。我有很早的童年记忆,做小格式。我也对DOS提示着迷。你可以键入东西,计算机会这样做。它从那里生长。

只要我记得,我一直在玩电脑。萨特学校我变得更加严重,学到了学习的c和一点点c ++。

我拍了一个不同的轨道,而不是我认为大多数人采取,因为我走向了,我认为这是正常的。我对这些旧的1970年代的比特机器着迷。这很简单,因为没有任何东西 - 它是不是那么字节和原始硬件。我正在编程仿真器,并使灯布链接和类似的东西。我很喜欢这么多,我回去了,并将keydbtbtbtbtbtb封锁了一个真正的20世纪70年代的8位电脑。

只要我能记住,我一直都很着迷。丁迪你在装配中,去C是相当自然的。这是我的进展。 Ithink通常会使用更高级别的语言,就像JavaScriptor一样。对我来说有点不同。

我们做现代C ++,而不是旧的C ++ 98。我认为这是一种糟糕的语言。现代C ++很好,因为它是C的超集,Redis仍然是C.如果我们需要托下游任何代码,我们仍然可以这样做,但在那里有extrafeated有很好的。

C的缺点是人们通常会使用次优数据结构,因为它很难使用正确的数据结构。使用C ++,它对符合正确的数据结构非常容易。这是我喜欢的原因之一。

正如您希望跨越不同的核心,瓶颈开始蠕变,因为全球锁定。我们一直在做更多的锁定免费编程来提高它。

这对技术水平非常困难,但最具挑战实际上已经在业务方面。有一个人使用的OpenSource项目是一件事,但是当您开始为其收费时,请访问它。您可以作为开源项目相当成功,但如果您想开始销售,您需要更加组织。这是一个很大的学习曲线。

我们没有出发,以做一些良好的基准。 Wewanted您部署和查看您的应用程序中的真实优势的产品。

当我们进行测试时,我们使用第三方测试工具。我们使用MEMTIER和REDIS描述的BENCHAMBRINGAPPROACH - NOTHINGSPECIAL。

还有这个流水线的想法 - 你可以在单独的或一次中发送多个命令。如果您使用这一问题,Redis可以获得相当多的数字,问题是,这不是大多数客户应用程序的工作。尽你所能地发送查询的时间,等待结果,然后您做一些问题,您可能会发送另一个查询。我们总是通过这种方式进行测试。我们将队列深度为1,然后等待结果。我们试图匹配胜利在地面上看到的东西。

当我开始时,我并没有真正了解Docker。概念上,我知道这是什么,但质疑为什么你想要一个整个TheTools的单独副本。当我开始看待人们如何部署它时,以及你想要支持的所有thedifferent linux distras,Docker更有意义。对于每个人来说,使生活变得更加容易。不仅仅是用户,还有我们什么时候创建我们的图像。 Docker一直是我真正欣赏的最酷的东西。

我们有用户为Kubernetes创建Helm图表。 TheorCheStration很有意思。在快速keydB来临时,在那里有很多深度的深度是因为引入所有这些不同的管弦乐架层成为我们的瓶颈。试图浏览最佳实践,我们仍在尝试制作工作,以便我们可以为我们的客户部署KeyDB的所有thedifferent类型的系统来满足所有thedififferent类型的系统。

开源基本上是本地。客户下载代码或他们使用我们的Docker容器。我们正在建立CloudVersion的早期阶段,现在是Beta。

使用在线部署,有很多不同的东西可能出错。我们的服务允许我们确保一切都是最佳的最佳性能。我们认为托管服务最适合大多数人,因为我们为您设置了所有东西。

下一步是对于KeyDB云与现有的CloudEn环境更密切地工作。很多人已经在云中运行,所以我们需要靠近他们的环境,以便尽可能的最小延迟以及在他们的网络中的网络中。

我在桌面上做了​​大部分软件开发,我在AMD 3900x(12芯)上。这对软件开发来说非常好。对于会议安捷拉夫,我已经开始使用M1 MacBook Air。我们最初得到它只是为了让keydb跑上它,但它对会议一直非常适合。我现在走在Thetwo之间。

我使用微软符合人体工程学键盘,我最近切换到轨迹球,因为我的手在计算机上花了很多时间在计算机上打字。我的双手有点旺盛,我有一点RSI。我发现它有助于将其与鼠标不同的位置不同。最近我一直在人体工程学上专注一点。

我的主桌面是Windows,我在Windows子系统中为Linux做了一些工作。 IUSE两个戴尔4K监视器。我喜欢真正清脆的文字。

我的地下室还有一个戴尔机架服务器的迷你实验室,以便我们可以在不同配置的机器上进行Doproper测试。在早期的日子里才能使用我的桌面测试,但我们发现的一个是你发现的一件千兆网络连接真的很容易!您需要10千兆位和更高。与桌面相比,CPU调谐的方式也与TheServer不同。戴尔服务器允许我们将anenvironment复制更多类似于代码运行的位置。

当然我们经营了很多云实例,主要用于基准,所以其他人可以快速旋转它们并复制我们的测试。

Graviton与KeydB效果很好,我们对此进行了一些早期测试。然而,ARM一般具有较低的Singlethread性能,因此可以产生一些影响。我喜欢那只胳膊在数据中心才能融入自己的掌握,并认为它具有非常强大的未来。在较低的水平上有一些小的软件差异,但在高位,我没有看到一个重大挑战。表现就在那里。

KEYDB是redis的多线程高性能叉。在2021年4月22日,Consoleneewsletter的一个“有趣的工具”。这次采访是在2021年4月20日进行的。