关系型数据库仍然是世界上使用最广泛的数据库类别,但其流行趋势多年来一直持平。与此同时,其他类型的云原生数据库系统也在兴起。这在各种版本的NoSQL数据库系统中尤其明显,例如文档存储数据库(MongoDB)、键值数据库(Redis)和宽列数据库(Cassandra)。下面来自DB-Engines的图表清楚地显示了这一趋势:NoSQL数据库系统发展如此迅速的部分原因是它们与所谓的“大数据”兼容,例如人工智能(AI)和机器学习(ML)。因为NoSQL数据库的结构不如关系数据库,所以它们更灵活并且可以更好地扩展——这两个重要属性适用于需要由AI和ML系统处理的海量数据,通常是实时处理。为了更好地理解为什么NoSQL现在如此受欢迎,以及这些系统如何处理AI和ML,我采访了最受欢迎的NoSQL数据库公司之一RedisLabs的创始人。YiftachShoolman自2011年以来一直担任公司的首席技术官,最近领导发布了RedisLabs的新模块RedisAI。“我认为今天人们对新的数据模型更加开放,”肖尔曼告诉我。他说,出于两个主要原因,企业正在寻找关系数据库的替代品。第一个是可伸缩性,第二个是当关系数据库不直接支持应用程序所需的数据模型时。后者的一个例子是电子商务网站上的实时推荐,它需要一个可以快速连接大量不同数据的数据库(一个选择是图形DBMS产品,例如Neo4j)。Redis是一个键值数据库系统,这意味着它存储键值对,但与Neo4j一样,它也针对实时Web进行了优化。事实上,它是为实时网络而发明的。SalvatoreSanfilippo早在2009年就开始开发Redis的时候,是因为当时他在开发一个实时分析引擎,但是借助关系型数据库很难扩展。所以他做了任何聪明的开发人员都会做的事情:自己构建解决方案。这成为开源Redis,它现在是世界上第八大最受欢迎的数据库(在键值数据库中最受欢迎)。Redis具有内存数据结构,这意味着它使用随机存取存储器(RAM)来存储数据。这使得它比传统数据库快得多,也非常适合用作缓存系统。这就是Redis与关系数据库和NoSQL竞争对手(如MongoDB和Cassandra)的不同之处。根据Shoolman的说法,由于内存结构,Redis“针对实时应用程序进行了非常好的优化,延迟小于1毫秒”。内存结构的缺点之一是它根本不具备与其他数据库系统相同的容量。言语更是如此。这可能是个大问题,因为AI可以处理的数据量与您提供的数据量有关。查询数据并不那么容易,这是Oracle和MySQL等关系数据库以及CockroachDB等新兴云原生SQL数据库的优势。虽然Shoolman承认Redis“在许多情况下仍被用作缓存系统”,但他表示RedisLabs的目标是帮助企业“更多地将其用作缓存”。该公司主要通过RedisEnterprise来做到这一点,RedisEnterprise是一个建立在开源Redis数据库之上的商业平台。RedisLabs通过模块将Redis的核心功能扩展成一个完整的“数据库平台”,RedisAI就是其中的一个模块。RedisAI由RedisLabs和AI软件专家Tenserwerk联合开发,允许您跨Redis数据库运行AI推理引擎。Shoolman透露的一个关键点是RedisAI模块不会对您的数据进行训练——因为您需要像TensorFlow或PyTorch(两个用于机器学习的开源平台)这样的工具。RedisAI出现在应用层,是时候对数据进行逻辑(推理),然后将数据提供给用户。“我们认为你需要在云中的某个地方训练[AI]模型。一旦你进行服务或推理,Redis就是执行此操作的正确数据库,”Shoolman解释说,并以信用卡交易的交易评分为例。最终,系统必须决定交易是成功还是失败。“为了做到这一点,你需要添加用户资料、商家资料、教育资料,以及有效的交易数据本身,然后将所有内容矢量化并发送给人工智能,”Shoolman说。之间的通道。速度是关键,至少对于Redis而言。当然,准确率部分也很关键,但这估计是AI训练平台的责任了。根据Shoolman的说法,企业面临的主要挑战之一是他们是要坚持使用关系数据库的传统孤立方法,还是采用一个后端支持多个数据模型的多模型方法。RedisEnterprise是后者的一个例子,它的每个模块都支持不同的数据模型。Shoolman说,这取决于你想要达到的目标。与多模型方法相比,有些事情是关系数据库无法做到的。“如果你考虑需要合并多个数据模型并且仍然以毫秒延迟运行的交易,你根本无法通过孤立的方法来做到这一点,”Shoolman说。原标题:AI时代的Redis,作者:RichardMacManus翻译稿件,合作站点转载请注明原译者和出处.com]
