1
+ :fullwidth:
2
+
1
3
.. _concepts :
2
4
3
5
Concepts
4
6
========
5
7
6
- **Data model **
8
+ Data model
9
+ ----------
7
10
8
11
Tarantool is a NoSQL database. It stores data in :ref: `spaces <index-box_space >`,
9
12
which can be thought of as tables in a relational database, and :ref: `tuples <index-box_tuple >`,
@@ -18,19 +21,17 @@ Tarantool uses mechanisms like the write-ahead log (WAL) and snapshots.
18
21
19
22
For details, check the :ref: `Data model <box_data_model >` page.
20
23
21
- |br |
22
-
23
- **Fibers and cooperative multitasking **
24
+ Fibers and cooperative multitasking
25
+ -----------------------------------
24
26
25
27
Tarantool executes code in :ref: `fibers <concepts-coop_multitasking >` that are managed via
26
28
:ref: `cooperative multitasking <concepts-coop_multitasking >`.
27
29
Learn more about Tarantool's :ref: `thread model <thread_model >`.
28
30
29
31
For details, check the page :ref: `Fibers, yields, and cooperative multitasking <concepts-coop_multitasking >`.
30
32
31
- |br |
32
-
33
- **Transactions **
33
+ Transactions
34
+ ------------
34
35
35
36
Tarantool's ACID-compliant :ref: `transaction model <atomic-atomic_execution >` lets the user choose
36
37
between two modes of transactions.
@@ -44,11 +45,10 @@ This mode only works with the default in-memory :ref:`memtx <engines-chapter>` s
44
45
45
46
For details, check the :ref: `Transactions <atomic-atomic_execution >` page.
46
47
47
- |br |
48
-
49
48
.. _concepts-application_server :
50
49
51
- **Application server **
50
+ Application server
51
+ ------------------
52
52
53
53
Using Tarantool as an application server, you can write
54
54
applications in Lua, C, or C++. You can also create reusable :ref: `modules <concepts-modules >`.
@@ -66,24 +66,21 @@ For details on Tarantool's modular structure, check the :ref:`Modules <concepts-
66
66
67
67
To learn how to use Tarantool as an application server, refer to the :ref: `guides <how-to-app-server >` in the How-to section.
68
68
69
- |br |
70
-
71
- **Sharding **
69
+ Sharding
70
+ --------
72
71
73
72
Tarantool implements database sharding via the ``vshard `` module.
74
73
For details, go to the :ref: `Sharding <sharding >` page.
75
74
76
- |br |
77
-
78
- **Triggers **
75
+ Triggers
76
+ --------
79
77
80
78
Tarantool allows specifying callback functions that run upon certain database events.
81
79
They can be useful for resolving replication conflicts.
82
80
For details, go to the :ref: `Triggers <triggers >` page.
83
81
84
- |br |
85
-
86
- **Replication **
82
+ Replication
83
+ -----------
87
84
88
85
Replication allows keeping the data in copies of the same database for better reliability.
89
86
@@ -102,9 +99,8 @@ Synchronous replication in Tarantool is based on an :ref:`implementation of the
102
99
103
100
For details, check the :ref: `Replication <replication >` section.
104
101
105
- |br |
106
-
107
- **Storage engines **
102
+ Storage engines
103
+ ---------------
108
104
109
105
A storage engine is a set of low-level routines that store and
110
106
retrieve values. Tarantool offers a choice of two storage engines:
@@ -122,8 +118,8 @@ For details, check the :ref:`Storage engines <engines-chapter>` section.
122
118
coop_multitasking
123
119
atomic
124
120
modules
121
+ Tarantool Cartridge <https://tarantool.io/doc/latest/book/cartridge >
125
122
sharding/index
126
123
replication/index
127
- Tarantool Cartridge <https://tarantool.io/doc/latest/book/cartridge >
128
124
triggers
129
125
engines/index
0 commit comments