嵌入式 NoSql 数据库,Tarantool 1.6.6 发布

jopen 9年前

Tarantool 是一个用 Lua 语言编写的嵌入式 NoSQL 数据库,可以直接在 Lua 程序中运行。合并了 Node.js 的强大网络编程和 Redis 数据持久。

Tarantool 1.6.6 发布,此版本是稳定版本,也就是可以在生产环境使用,没有崩溃,内存泄漏等问题。Tarantool 1.6.6 添加了对 Fedora 22,Ubuntu Vivid 平台支持;box.info.snapshot_pid 重命名为 box.info.snapshot_in_progress;Network I/O 转移到一个独立线程,每个实时性能提升 50%。


不兼容改进
--------------------

A new schema of _index system space which accommodates
multi-dimensional RTREE indexes.

box.info.snapshot_pid is renamed to box.info.snapshot_in_progress

新特性和功能改进
------------------------------

* threaded architecture for network
* threaded architecture for checkpointing.
* stored procedures in C/C++
* multidimensional RTREE index
* sophia 2.1.1, with support of compression and multipart
  primary keys
  https://groups.google.com/forum/#!topic/sophia-database/GfcbEC7ksRg
* new 'upsert' command available in the binary protocol
  and in stored functions.
* better memory diagnostics information for fibers, tuple and
  index arena Try a new command box.slab.stats(), for
  detailed information about tuple/index slabs, fiber.info() now
  displays information about memory used by the fiber.
* update and delete now work using a secondary index, if the
  index is unique.
* authentication triggers
* manifold performance improvements of net.box built-in package
* performance optimizations of BITSET index
* panic_on_wal_error is a dynamic configuration option now
* iproto sync field is available in Lua as session.sync()
* box.once() - a new method to invoke code once in an
  instance and replica set lifetime. Use once() to set
  up spaces and uses, as well as do schema upgrade in
  production.
* box.error.last() to return the last error in a session

New rocks
---------
* jit.*, jit.dump, jit.util, jit.vmdef modules of LuaJIT 2.0 are now
  available as built-ins.
  http://luajit.org/ext_jit.html

* 'strict' built in package, banning use of undeclared variables in
  Lua. Strict mode is on when Tarantool is compiled with debug.
  Turn on/off with require('strict').on()/

require('strict').off().

* 'pg' and 'mysql' rocks, available at http://rocks.tarantool.org
   - working with MySQL and PostgreSQL from Tarantool

* 'gperftools' rock, availble at http://rocks.tarantool.org -
  getting perfromance data using Google's gperf from Tarantool.

* 'csv' built-in rock, to parse and load CSV (comma-separated
   values) data

Bugs 修复
---------
#983 tarantool 1.6.6 hang connection or segfault
#952 Memory failure in spite of available memory in slab.info()
#949 tarantool 1.6 debian package should conflict with tarantool-lts-client broken build
#914 app/snapshot.test.lua crashes again
#895 update memory corruption
#881 Net.box "Unexpected response 0"
#874 Assertion `iov->iov_len < buf->capacity[buf->pos]' failed crash
#853 memory leak on start if replace in xlog  regression
#850 incomprehensible error message when running out of cluster server ids
#841 net.box uses incorrect iterator type for select with no arguments
#837 Replica waits infinitely if the master has no xlogs
#836 Restore GE iterator for HASH
#833 fiber.info() doesn't work  master
#827 Statement-level rollback crashes server if out of memory  crash
#826 console escape match is slow and gy
#825 console uses deprecated 'dostring'
#824 tarantoolctl reload is doing nothing
#822 net.box.call should roll back local transaction on error  master
#821 One-based indexing for UPDATE in binary protocol
#815 crash when invoking _G  crash
#811 MsgPack fixint decoded as cdata  customer
#713 replica enters into an infinite reconnect loop if the master has no xlogs  customer
#681 Sophia: support or produce error on space::alter
#668 Roles: do not mix up roles and users
#663 Roles: incorrect handling of 'read'
#622 sophia: multipart primary key feature
#616 1-based indexing and 0-based error message
#609 sophia get/put may block the event loop
#584 box_free() called even if box wasn't initialized
#354 yaml incorrectly escapes special characters in a string
#314 box API to return last error (code, message, type, errno, etc) feature
#266 box.info() crash on uncofigured box  crash customer

更多改进请看发行说明