Newer
Older
# tarantool [](https://travis-ci.org/tarantool/tarantool)
[](https://gitter.im/tarantool/tarantool?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Tarantool is an in-memory database and application server.
* 100% compatible drop-in replacement for Lua 5.1,
based on LuaJIT 2.0.
Simply use #!/usr/bin/tarantool instead of
#!/usr/bin/lua in your script.
* full support for Lua modules and a rich set of
own modules, including cooperative multitasking,
non-blocking I/O, access to external databases, etc
Key features of the database:
* MsgPack data format and MsgPack based
client-server protocol
* two data engines: 100% in-memory with
optional persistence and a 2-level disk-based
B-tree, to use with large data sets
* asynchronous master-master replication
* authentication and access control
* the database is just a C extension to the
app server and can be turned off
Supported platforms are Linux/x86 and FreeBSD/x86, Mac OS X.
Tarantool is ideal for data-enriched components of
scalable Web architecture: queue servers, caches,
stateful Web applications.
## Compilation and install
Tarantool is written in C and C++.
To build, you will need GCC 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 build depends on the following external libraries:
- libreadline and libreadline-dev
- GNU bfd (part of GNU binutils).
Please follow these steps to compile Tarantool:
tarantool $ git submodule update --init --recursive
To use a different release type, say, RelWithDebugInfo, use:
Additional build options can be set similarly:
tarantool $ cmake . -DCMAKE_BUILD_TYPE=RelWithDebugInfo -DENABLE_DOC=true # builds the docs
'make' creates 'tarantool' executable in directory src/.
There is 'make install' goal. One can also run Tarantool executable without
installation.
tarantool $ ./src/tarantool
This will start Tarantool in interactive mode.
To run Tarantool regression tests (test/test-run.py),
Simply type 'make test' to fire off the test coverage.
Konstantin Osipov
committed
Please report bugs at http://github.com/tarantool/tarantool/issues
We also warmly welcome your feedback in the discussion mailing
Thank you for your interest in Tarantool!