TARANTOOL_BOX(1) high performance key/value storage server TARANTOOL_BOX(1)NAME
tarantool_box - open-source NoSQL database
SYNOPSIS
tarantool_box [OPTIONS]
DESCRIPTION
Tarantool is an open-source NoSQL database, developed by Mail.ru.
Its key properties include:
o Licence: simplified BSD
o All data is maintained in RAM
o Data persistence is implemented using Write Ahead Log and snapshotting
o Supports asynchronous replication and hot standby
o Uses coroutines and asynchronous I/O to implement high-performance lock-free access to data
o Available on Linux and FreeBSD
o Stored procedures in Lua are supported.
Data model
The basic atom of storage in Tarantool is called tuple. A tuple can have arbitrary number of fields. The first field in the tuple is always
the identifying unique key. Tuples form spaces. It is possible to search tuples in spaces using the primary or secondary keys. Fields in a
tuple are type-agnostic. It is possible to change, as well as add or remove fields.
Command-line options--cfg-get=KEY
Returns a value from configuration file described by KEY.
--check-config
Checks configuration file for errors.
-c FILE, --config=FILE
Points a path to configuration file (default: /etc/tarantool.cfg).
--cat=FILE
Cats snapshot file to stdout in readable format and exits.
--init-storage
Initializes storage (an empty snapshot file) and exits.
-v, --verbose
Increases verbosity level in log messages.
-B, --background
Redirects input/output streams to a log file and runs as daemon.
-h, --help
Displays helpscreen and exits.
-V, --version
Prints program version and exits.
perl v5.14.2 2012-06-29 TARANTOOL_BOX(1)
Check Out this Related Man Page
DR::Tarantool::Spaces(3pm) User Contributed Perl Documentation DR::Tarantool::Spaces(3pm)NAME
DR::Tarantool::Spaces - spaces container
SYNOPSIS
use DR::Tarantool::Spaces;
my $s = new DR::Tarantool::Spaces({
1 => {
name => 'users', # space name
default_type => 'STR', # undescribed fields
fields => [
qw(login password role),
{
name => 'counter',
type => 'NUM'
},
{
name => 'something',
type => 'UTF8STR',
},
{
name => 'opts',
type => 'JSON',
}
],
indexes => {
0 => 'login',
1 => [ qw(login password) ],
2 => {
name => 'my_idx',
fields => 'login',
},
3 => {
name => 'my_idx2',
fields => [ 'counter', 'something' ]
}
}
},
0 => {
...
}
});
my $f = $s->pack_field('users', 'counter', 10);
my $f = $s->pack_field('users', 1, 10); # the same
my $f = $s->pack_field(1, 1, 10); # the same
my $ts = $s->pack_keys([1,2,3] => 'my_idx');
my $t = $s->pack_primary_key([1,2,3]);
DESCRIPTION
The package describes all spaces that You use. It supports the following field types:
NUM, NUM64, STR
- standard tarantool <http://tarantool.org> types.
UTF8STR
- the same as STR, but string will be utf8-decoded after extracting from database.
INT & INT64
- the same as NUM and NUM64, but contain signed values.
JSON
- the filed will be encoded by JSON::XS before inserting and decoded after extracting from database.
METHODS
new
my $spaces = DR::Tarantool::Spaces->new( $spaces );
space
Returns space object by number or name.
my $space = $spaces->space('name');
my $space = $spaces->space(0);
pack_field
packs one field before making database request
my $field = $spaces->pack_field('space', 'field', $data);
unpack_field
unpacks one field after extracting data from database
my $field = $spaces->unpack_field('space', 'field', $data);
pack_tuple
packs tuple before making database request
my $t = $spaces->pack_tuple('space', [ 1, 2, 3 ]);
unpack_tuple
unpacks tuple after extracting data from database
my $t = $spaces->unpack_tuple('space', @fields);
SPACES methods
new
constructor
use DR::Tarantool::Spaces;
my $space = DR::Tarantool::Space->new($no, $space);
name
returns space name
number
returns space number
pack_field
packs field before making database request
unpack_field
unpacks field after extracting data from database
pack_tuple
packs tuple before making database request
unpack_tuple
unpacks tuple after extracting data from database
COPYRIGHT AND LICENSE
Copyright (C) 2011 Dmitry E. Oboukhov <unera@debian.org>
Copyright (C) 2011 Roman V. Nikolaev <rshadow@rambler.ru>
This program is free software, you can redistribute it and/or
modify it under the terms of the Artistic License.
VCS
The project is placed git repo on github: https://github.com/unera/dr-tarantool/ <https://github.com/unera/dr-tarantool/>.
perl v5.14.2 2012-06-04 DR::Tarantool::Spaces(3pm)