lua 数据库_Tarantool:基于Lua的数据库引擎

lua 数据库

今年在Percona实时数据性能会议上,我将讨论Tarantool 。 Tarantool是与数据库管理系统集成的开源Lua应用服务器,该数据库管理系统集成了LuaJIT “ Just In Time”编译器,用于大多数常用应用程序的Lua库以及已建立的NoSQL数据库管理系统Tarantool数据库服务器。

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

我在2010年加入的Tarantool项目不仅认可开源价值及其源代码(其2条款BSD许可 ),而且还认可商标的管理以及与贡献者的合作。 Tarantool尝试了一些已经浮出水面的大创意:

  • 这是一个内存数据库。 越来越多的工作负载适合内存,并且可以与内存数据库一起提供服务。 这样可以降低延迟,并以较低的成本使其更具可预测性。
  • 它基于无共享架构构建,可以在大规模并行的当前和未来硬件上实现更好的性能。
  • 它是遵循Michael Stonebrakiner论文《建筑时代的终结》(这是完全重写的时候)的宗旨的少数数据库之一。
  • 它是高度可扩展的。 Tarantool具有可插拔的存储,因此添加自定义存储引擎相对容易。 它具有一个公共编程API,可用于实现该项目的许多功能。

团队和我本人一直专注于生产质量的软件。 Mail.Ru是该项目的创建者及其主要客户,在生产中有数千个实例,其中许多在关键任务业务路径上。 也许,如果只用一句话,Tarantool就是试图将的工程学应用到来自开源和学术界的过去十年中的一些伟大思想中。

通过使数据库技术对终用户可用,我们已经使自己与其他数据库相距甚远。 从用户的角度来看,Tarantool不是数据库管理服务器,而是一种编程语言。 Tarantool是Lua执行环境,并且与Lua语法,软件包和工具完全兼容。 Tarantool的典型应用程序将定制业务逻辑放在首位,将持久性和复制状态放在第二位。

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

要查看我的演讲,请注册2016 Percona Live Data Performance Conference  使用代码“ FeaturedTalk”并获得当前注册价格的100美元优惠!

2016 Percona Live Data Performance Conference  翻译自: https://opensource.com/business/16/4/tarantool-lua-based-database-engine

相关文章