行业报告 AI展会 数据标注 标注供求
数据标注数据集
主页 > 数据挖掘 > 正文

Redis背后的故事

已成为世界上更受欢迎的数据库之一,但当初正是因为Sanfilippo对数据库“缺乏经验”,使他敢于打破“良好”数据库工程的各种神圣规则,创建了Redis。
 
如果Redis之父萨尔瓦多·桑菲利波普(Salvatore Sanfilippo)打算颠覆数据库市场,那么他至少本来可以拥有数据库血统的。您知道,在Oracle或 Server的工程领域工作了10年后,他辞职去实现自己梦想的工作。Sanfilippo说,当他于2009年开始为Redis写作时,他是数据库爱好者,并且是数据库界的新手。实际上,他对数据库的“缺乏经验”,使得他敢于打破了“良好”数据库工程的各种神圣规则。
 
如今,Redis已成为世界上更受欢迎的数据库之一,让我们都成为了Sanfilippo打破规则的受益者。尽管没有通过在Redis各种产品和服务上贴“ Redis Inside”标签做品宣,但是开发者们仍每天都可能使用Redis,诸如Uber,Instacart,Slack,Hulu,Twitter,Instagram 等公司正在使用它。Sanfilippo也不会告诉您应该如何使用Redis。他说:“ Redis的优势不是我的选择,而是应用程序开发人员知道该如何更好地使用它。”
 
为了更好地了解Sanfilippo是如何创建这种企业计算所需的这种开源组建,以及它从何而来,笔者与Redis创始人进行了交谈。
 
无需DBA专业知识
在撰写Redis之前,Sanfilippo也曾在安全界以及其他领域为自己正名。在安全方面,他创建了网络安全工具hping,还有Idle Scan——一种端口扫描技术。他还创建了Visitors,一个博客分析器。Jim解释器,是Tcl编程语言的一种小型实现,以及一些设备驱动程序。简而言之,他不是闲坐在那里等着光辉时刻。他很忙。
 
忙碌的部分原因在于他为扩大自己的创业公司所做的努力,特别是与名为lloogg.com的实时分析服务有关。Sanfilippo努力使其与关系数据库(MySQL)一起扩展。它确实有效,但是他说,与应用程序的经济性相比,10,000个用户所需的硬件数量太多了。这个想法使他感到震惊,认为采用内存方式是理想的选择,更重要的是,他的工作量(将数据推送到列表然后将其修整为固定大小)根本不适合关系模型。于是,在这个时候,他开始创建Redis。
 
创建Redis并不是要在不同的数据库之间进行选择。Sanfilippo必须对基础数据模型进行不同的思考。他最终建立了一个内存内数据库,该数据库既是数据存储又是缓存,并且在此过程中破坏了各种数据库“规则”。
 
确实,Sanfilippo的方法遭到数据库知识分子的全面批评。首先,人们谴责Redis的内存不足。他们还取消了使用fork系统调用和使用其正文的SHA1而不是名称的 Lua脚本在磁盘上持久化的Redis模型。关于传统数据库的构建方式,他们也许是正确的。但对数据库的未来完全错误。
 
做女王还是国王由自己来定
Sanfilippo说,尽管数据库专家大多批评他的工作,但他却可以自由地创新一种新型的数据库。毫不奇怪,由于开放源代码长期以来一直是他的核心部分,因此他选择了开放式创新。他说:“总的来说,我相信与他人共享事物。” 根据Sanfilippo的说法,他的职业生涯是在18岁时通过安装Slackware 1.2.3产生的,他意识到里面有C编译器,并且还有更多。他说:“实际上,作为软件开发人员的整个故事都是从开源开始的,所以对我来说,这是显而易见的方式。”
 
但是开源不仅仅是Sanfilippo的许可问题。
 
Sanfilippo说:“我坚信软件是以人为本的,需要人们讲故事,所以我到处都在讲述Redis的故事。” 很快,人们开始聆听并开始拥抱Redis,最初是在开源社区里,后来是在成熟的企业里。
 
尽管最初,Sanfilippo注意到他比起所谓的数据库专家更重视自由,但随着时间的流逝,开源社区聚集在Redis周围。Sanfilippo表示,十年后,“ Redis核心是许多人之间的协作。”
 
并不是说他放开了手:Sanfilippo有时承认他在分配工作方面做得很不好,以至于他仍然自己编写了Redis所有文档。
 
尽管Sanfilippo欢迎对社区Redis做出贡献,但他也说,社区中的好主意和坏主意混在一起。例如,某人可能正在尝试使用该软件解决不同于Sanfilippo希望征服的那些问题。同样,事实是系统软件很困难。他说:“您往往只会从大多数情况下得到报酬的人那里得到严肃的贡献,”他说,尽管当然也有例外。他承认,为像Redis这样严肃的数据库系统做贡献并不是您周日早上可以放松的事情。
 
Sanfilippo在过去十年中承受着很大的压力,想知道Redis是否会成功,以及他是否有足够的钱来满足自己的需求。幸运的是,他说这些担忧已经自动解决了,因为Redis越来越受欢迎。今天,Sanfilippo很幸运能够将所有的时间都花在Redis上,成为Redis Labs的雇员。只是,仍然不要期望他会告诉您如何使用Redis。
 
“Redis的优势不是我的选择;每个应用程序都有其目标,必须提供的保证以及对延迟和可伸缩性的关注。”Sanfilippo表示,他希望在Redis解决问题时使用它:它是一个主数据库,只是另一个数据库的索引,一些智能缓存,消息传递等等。
 
Sanfilippo提供了一组构建模块,而不是“预烘焙” Redis的未来,因此人们可以找到创造性组装它们的方法。这让Redis很容易修改。“因此,开发人员经常进行一些更改,使Redis进行一些原本不希望的工作。” 但Sanfilippo说,这没关系。
 
Sanfilippo并不认为自己是权威人士。他说:“我更喜欢设计新事物并编写代码。”如果其他人效仿,那就太好了。Sanfilippo总结说,因为使用Redis,“开发人员是女王还是国王-完全由他们自己来决定。”
 
声明:文章收集于网络,版权归原作者所有,为传播信息而发,如有侵权,请联系小编删除,谢谢!
 
 

微信公众号

声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
SEM推广服务

Copyright©2005-2026 Sykv.com 可思数据 版权所有    京ICP备14056871号

关于我们   免责声明   广告合作   版权声明   联系我们   原创投稿   网站地图  

可思数据 数据标注行业联盟

扫码入群
扫码关注

微信公众号

返回顶部