Questions tagged [tarantool]

Tarantool is a Lua application server with a built-in database. It's best to think of as a Redis or Memcached with high level of customization. Alternatively, it's Node.JS with object persistency and master-master replication.

Tarantool is a Lua application server with a built-in database.

The key idea is in a new way of building Web applications - a data grid approach, when the database serves as the application backend as well, and there are many database instances running in parallel, to scale up and out.

Tarantool features:

  • a 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
  • Lua packages for non-blocking I/O, fibers and HTTP
  • document data model with secondary keys
  • two data engines: 100% in-memory with optional persistence and a 2-level disk-based B-tree, to use with large data sets
  • iteration over data in forward and reverse order
  • asynchronous master-master replication
  • authentication and access control
218 questions
2
votes
1 answer

Why does my Tarantool Cartridge retrieve data from router instance sometimes?

I wonder why my tarantool cartridge cluster is not woring as it should. I have a cartridge cluster running on kubernetes and cartridge image is generated from cartridge cli cartridge pack, and no changes were made to the those generated…
2
votes
3 answers

How to get query timing in Tarantool like in other DBMS

In MySQL/PostgreSQL/Oracle/MSSQL there's always duration in every query executed "Query completed in 0.23ms" or "Elapsed 0.001s" or at least when "EXPLAIN" or "EXPLAIN ANALYZE" the timings are shown. How to do this in tarantool client? (tarantoolctl…
Kokizzu
  • 24,974
  • 37
  • 137
  • 233
2
votes
1 answer

How to call C functions from SQL in Tarantool?

How can I call a C-function from SQL in Tarantool? Documentation says: C functions are imported from .so files But where shall I specify the reference to my .so file? It would be great to see an example.
Mike Siomkin
  • 667
  • 8
  • 15
2
votes
1 answer

What is the good practice to use graylog with tarantool?

Currently our application uses tarantool provided log module, but was looking for a way to collect the logs into graylog. What is the best way to do so?
2
votes
1 answer

Tarantool WAL vs Redis AOF

Redis with the AOF (append only file) parameter enabled can only lose a second of data. I know that Tarantool has wal_move='write' by default, as this mode provides data persistence for vinyl and memtx, and in what case can this result in data loss…
Andrew Nodermann
  • 610
  • 8
  • 13
2
votes
1 answer

Can there be any problems deleting records when iterating over them in Tarantool?

Capture this: for _, t in box.space.session.index.user:pairs({uid}) do local session_id = t[F.session.id] box.space.session:delete({session_id}) end Can there be any performance or correctness problems? Tarantool 1.9
asnelzin
  • 174
  • 2
  • 11
2
votes
1 answer

All allocated Tarantool 2.3 space memtx is occupied

Today the allocated space for memxt tarantool is over - memtx_memory = 5GB, the RAM was really busy at 5GB, after restarting tarantool more than 4GB was freed. What could be clogged with RAM? What settings can this be related to? …
Tata
  • 71
  • 4
2
votes
1 answer

old instances in box.info.vclock

Good afternoon, I can’t clean old instaces in box.info.vclock. Now I have cluster (master id = 3 / slave id = 4) and in box.info.vclock contains old instences (id = 1 and id = 2) which I deleted a long time ago (removed from the box.space._cluster…
2
votes
1 answer

Tarantool load balancing with master-master configuration

I had cluster with two master nodes in replica set. I call vshard.router.callrw api, but request sent always only to first (leader) master. How should I send request to all masters with load balancing?
Gennady
  • 352
  • 2
  • 12
2
votes
1 answer

Tarantool master-master replication

I had cluster with two nodes in replica set (master and replica). How should I configure replication master-master? I tried change flag read_only on replica, but it isn't work.
Gennady
  • 352
  • 2
  • 12
2
votes
2 answers

How to avoid the registration of box.once('init', function ...) when the init function fails?

I want to implement an init function under box.once() to be executed only once in Tarantool, however, this is useful to me only if init has been executed successfully. Question: How can I make the "onceinit" record valid only if init has run…
racherb
  • 335
  • 1
  • 10
2
votes
3 answers

How I can make select from database WHRE in Array

I need to make a database query that includes several WHERE conditions. The problem is that I cannot correctly pass the $messages array into the request. public function Controller(Request $request) { $firstDate =…
2
votes
2 answers

Set trigger on box.info fields changed in tarantool?

I need to catch changing box.info.status from "loading" to "ready". So i can enable my triggers after WAL read, but before replication sync. My trigger function on box.space.myspace: local function before_replace(old, new) -- collision resolving…
Vasil
  • 45
  • 5
2
votes
3 answers

Conflict resolution in Tarantool (how to fix replication in master-master mode in case of conflicts)

How can I implement resolution of conflicts when I use Tarantool in multi master scenario? I'm developing a service which should be highly available, so decided to use nginx as a load balancer (with backup directive) for two nodes of tarantool (with…
2
votes
1 answer

Tarantool readahead limit is reached warning

Why there are too much warnings in logs (tarantool-1.10.3-0-g0b7078a): readahead limit is reached How to eliminate them?
1 2
3
14 15