Tarantool:基于 Lua 的数据库引擎

尚无读者喜欢这篇文章。
Open data brain

Opensource.com

今年在 Percona Live 数据性能大会上,我将讨论 Tarantool。Tarantool 是一个开源的 Lua 应用服务器,它与数据库管理系统集成,整合了 LuaJIT “即时” 编译器、用于大多数常见应用的 Lua 库,以及成熟的 NoSQL 数据库管理系统 Tarantool 数据库服务器。

我的演讲是《Tarantool:基于 Lua 的数据库引擎和内存数据网格》,并将重点介绍使用 Tarantool 作为应用服务器和数据库的任务队列应用。

Tarantool,我于 2010 年加入的项目,不仅以其源代码(其双条款 BSD 许可证)认可开源价值观,还在商标管理以及与贡献者的合作中也体现了这一点。Tarantool 是对一些已经出现很长时间的伟大想法的尝试。

  • 这是一个内存数据库。越来越多的工作负载可以放入内存,并可以使用内存数据库来处理。这降低了延迟,使其更可预测,且成本更低。
  • 它围绕共享无架构构建,以便在当前和未来的大规模并行硬件上表现更好。
  • 它是少数几个遵循 Michael Stonebrakiner 论文《架构时代的终结(是时候完全重写了)》原则的数据库之一。
  • 它具有高度可扩展性。Tarantool 具有可插拔存储,使得添加自定义存储引擎相对容易。它具有公共编程 API,我们使用该 API 来实现项目的许多功能。

团队和我一直专注于生产质量的软件。Mail.Ru,该项目的创始者和主要客户,有数千个实例在生产中使用,其中许多实例都在关键业务路径上。也许,如果用一句话概括,Tarantool 就是尝试将良好的工程实践应用于过去十年来自开源和学术界的伟大想法。

通过我们向最终用户提供数据库技术的方式,我们使自己与其他数据库有所不同。从用户的角度来看,Tarantool 不是数据库管理服务器,而是一种编程语言。Tarantool 是一个 Lua 执行环境,并且完全兼容 Lua 语法、软件包和工具。Tarantool 的典型应用是将自定义业务逻辑放在首位,而持久化和复制状态放在次要位置。

在典型的部署中,Tarantool 不仅仅是替换另一个数据库,而是替换一个带有数据库后端的自定义 C++ 应用服务器(无论后端是什么)。一些用户将 Tarantool 与 Redis 进行比较,另一些用户将其与 RabbitMQ 进行比较,还有一些用户使用 Tarantool 来替换多个过载的 MySQL 实例。

要观看我的演讲,请注册 2016 年 Percona Live 数据性能大会。使用代码“FeaturedTalk”即可获得当前注册价格减 100 美元的优惠!

User profile image.
Konstantin 是 Mail.Ru Group 的软件工程师,也是 Tarantool 的首席开发人员,Tarantool 是一个开源 Lua 应用服务器和内存数据库。在加入 Tarantool 之前,Konstantin 是 MySQL 开发团队的核心成员。

评论已关闭。

© . All rights reserved.