forked from tarantool/tarantool
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
90 lines (66 loc) · 2.79 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
TARANTOOL/BOX
Tarantool is a framework for in-memory key/value storage and
Box is a yet another in-memory key-value database.
Key features of the pair include:
* log streaming replication
* hot standby
* a simple binary protocol, as well as emulation of memcached
protocol
* extensibility and speed
Caveats:
* currently supported platforms are only Linux/x86 and
FreeBSD/x86
* gcc is the only supported compiler.
COMPILATION AND INSTALL
Tarantool is written in C and Objective C.
To build, you will need GCC Objective C frontend
(gcc-objc package on most systems) or Apple CLang compiler.
CMake is used for configuration management.
3 standard CMake build types are supported:
* Debug -- used by project maintainers
* RelWithDebugInfo -- the most common release configuration,
also provides debugging capabilities
* Release -- use only if the highest performance is required
The only external library dependency is readline: libreadline-dev
is required to build the command line client.
Please follow these steps to compile Tarantool:
tarantool $ cmake .
tarantool $ make
To use a different release type, say, RelWithDebugInfo, use:
tarantool $ cmake . -DCMAKE_BUILD_TYPE=RelWithDebugInfo
Additional build options can be set similarly:
tarantool $ cmake . -DCMAKE_BUILD_TYPE=RelWithDebugInfo -DENABLE_CLIENT=true
-- builds the command line client.
'make' creates tarantool_box executable in directory
mod/box and tarantool executable in client/tarantool.
There is no 'make install' goal, but no installation
is required either.
Tarantool regression testing framework (test/test-run.py) is the
simplest way to setup and start the server, but it requires a few
additional Python modules:
* daemon
* pyyaml
* pexpect.
Once all pre-requisites are installed, try:
tarantool $ cd test && ./test-run.py --start-and-exit
This will create a 'var' subdirectory in directory 'test',
populate it with necessary files, and
start the server. To connect, you could use
a simplistic command-line client:
tarantool $ ./test/tarantool
Alternatively, if a customized server configuration is required,
you could follow these steps:
tarantool $ emacs cfg/tarantool_box_cfg.cfg # edit the configuration
# Initialize the storage directory, path to this directory
# is specified in the configuration file:
tarantool $ mod/box/tarantool_box --config cfg/tarantool_box_cfg.cfg --init-storage
#
# run
tarantool $ mod/box/tarantool_box --config cfg/tarantool_box_cfg.cfg
Please report bugs at http://bugs.launchpad.net/tarantool.
We also warmly welcome your feedback in the discussion mailing
list, [email protected], however, please be
warned: Launchpad silently deletes posts from non-subscribed
members, thus please be sure to have subscribed to the list prior
to posting.
Thank you for your interest in Tarantool!