Skip to content

Commit b97a4b0

Browse files
patiencedaurp7novveod32xuniqNickVolynkin
authored
Restructure docs, stage 1 (#3054)
* Update and restructure the Releases section * Remove irrelevant beta and rc release notes * Remove doubled text on index page * Add the Overview article, based on Mons Anderson's article on Habr * Create the new How-to section * Move 'Getting started/What's next' to the new How-to section * Add SQL Beginners' Guide to How-to * Add CRUD operations how-to guide * Fix links * Point to the Cartridge tutorial explicitly Part of #2805 Resolves #2487 Resolves #1467 Co-authored-by: Pavel Semyonov <[email protected]> Co-authored-by: Evgeniy Osintsev <[email protected]> Co-authored-by: Kseniia Antonova <[email protected]> Co-authored-by: Nick Volynkin <[email protected]>
1 parent cd6e436 commit b97a4b0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+352
-2953
lines changed

.gitignore

+2-2
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,6 @@ locale/*
7474

7575
# tntcxx submodule
7676

77-
/doc/getting_started/getting_started_cxx.rst
78-
/doc/getting_started/_includes/
77+
/doc/how-to/getting_started_cxx.rst
78+
/doc/how-to/_includes
7979
/doc/book/connectors/cxx/

build_submodules.sh

+4-4
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,12 @@ cp -rfv "${cartridge_kubernetes_root}" "${cartridge_kubernetes_dest}"
9898

9999
# Tarantool C++ connector
100100
tntcxx_root="${project_root}/modules/tntcxx"
101-
tntcxx_gs_dest="${project_root}/doc/getting_started"
101+
tntcxx_howto_dest="${project_root}/doc/how-to"
102102
tntcxx_api_dest="${project_root}/doc/book/connectors"
103103

104104
# Copy Tarantool C++ connector docs to the right places
105105
mkdir -p "${tntcxx_api_dest}/cxx/"
106-
mkdir -p "${tntcxx_gs_dest}/_includes"
107-
cp -rfv "${tntcxx_root}/doc/tntcxx_getting_started.rst" "${tntcxx_gs_dest}/getting_started_cxx.rst"
108-
cp -rfv "${tntcxx_root}/examples/" "${tntcxx_gs_dest}/_includes/examples/"
106+
mkdir -p "${tntcxx_howto_dest}/_includes"
107+
cp -rfv "${tntcxx_root}/doc/tntcxx_getting_started.rst" "${tntcxx_howto_dest}/getting_started_cxx.rst"
108+
cp -rfv "${tntcxx_root}/examples/" "${tntcxx_howto_dest}/_includes/examples/"
109109
cp -rfv "${tntcxx_root}/doc/tntcxx_api.rst" "${tntcxx_api_dest}/cxx/"

conf.py

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
'sphinx.ext.ifconfig',
2222
'sphinx.ext.intersphinx',
2323
'sphinx.ext.extlinks',
24+
'sphinx_panels',
2425
'sphinxcontrib.plantuml',
2526
'ext.custom',
2627
'ext.LuaDomain',

doc/book/intro.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ To get started, you can install and launch Tarantool using
1616
or the online Tarantool server at http://try.tarantool.org.
1717
Either way, as the first tryout, you can follow the introductory exercises
1818
from :ref:`Chapter 2 "Getting started" <getting_started>`.
19-
If you want more hands-on experience, proceed to :ref:`Tutorials <tutorials>`
19+
If you want more hands-on experience, proceed to :ref:`How-to guides <how-to>`
2020
after you are through with Chapter 2.
2121

2222
:ref:`Chapter 3 "Database" <database-chapter>` is about using Tarantool

doc/getting_started/index.rst

+4-1
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,7 @@ to write in/migrate to Tarantool.
3737
connecting_to_cluster
3838
change_schema_dynamically
3939
writing_cluster_code
40-
whats_next
40+
41+
To continue exploring Tarantool and its ecosystem, you might want to check out
42+
Tarantool :doc:`tutorials and guides <../how-to/index>`.
43+
The :ref:`Cartridge beginner tutorial <getting_started_cartridge>` can also be found there.

doc/getting_started/whats_next.rst

-14
This file was deleted.
File renamed without changes.

doc/how-to/app/index.rst

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Developing applications with Tarantool
2+
======================================
3+
4+
.. toctree::
5+
:maxdepth: 1
6+
7+
lua_tutorials
8+
c_tutorial
File renamed without changes.

doc/reference/reference_lua/box_space/examples.rst renamed to doc/how-to/crud.rst

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
.. _box_space_examples:
22

3-
===============================================================================
4-
Examples
5-
===============================================================================
3+
CRUD operation examples
4+
=======================
65

76
-------------------------------------------------------------------------------
87
Example: using box.space functions to read _space tuples

doc/getting_started/getting_started_connectors.rst renamed to doc/how-to/getting_started_connectors.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
Connecting from your favorite language
55
================================================================================
66

7-
In the :doc:`previous sections </getting_started/getting_started_db>`,
7+
In the :ref:`previous sections <getting_started_db>`,
88
you have learned how to create a Tarantool database.
99
Now let's see how to connect to the database from different programming
1010
languages, such as Python, PHP, Go, and C++, and

doc/how-to/index.rst

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
:noindex:
2+
:fullwidth:
3+
4+
.. _tutorials:
5+
.. _how-to:
6+
7+
How-to guides
8+
=============
9+
10+
This chapter contains practical examples as well as
11+
tutorials for those who would like to dig deeper into Tarantool usage.
12+
13+
If you are new to Tarantool, please see our
14+
:ref:`Getting Started guides <getting_started>` first.
15+
16+
.. toctree::
17+
:maxdepth: 2
18+
19+
Basic Tarantool tutorial <getting_started_db>
20+
getting_started_connectors
21+
getting_started_cartridge
22+
crud
23+
app/index
24+
sql/index
25+
other/index

doc/how-to/other/index.rst

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
More guides
2+
===========
3+
4+
.. toctree::
5+
:maxdepth: 1
6+
7+
libslave
File renamed without changes.

doc/how-to/sql/index.rst

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
SQL guides
2+
==========
3+
4+
This section contains hands-on SQL guides.
5+
You might also want to read the in-depth :ref:`SQL reference <reference_sql>`.
6+
7+
.. toctree::
8+
:maxdepth: 1
9+
10+
sql_beginners_guide
11+
sql_tutorial
12+
improving_mysql

doc/reference/reference_sql/sql_beginners_guide.rst renamed to doc/how-to/sql/sql_beginners_guide.rst

+2
Original file line numberDiff line numberDiff line change
@@ -788,3 +788,5 @@ The rules state that it should be impossible to use a low-level language to bypa
788788
integrity as defined in the relational-level language.
789789
In Tarantool's case, this is not true, for example one can execute a request
790790
with Tarantool's NoSQL to violate a foreign-key constraint that was defined with Tarantool's SQL.
791+
792+
To learn more about SQL in Tarantool, check the :ref:`reference <reference_sql>`.
File renamed without changes.
File renamed without changes.

doc/index.rst

+3-19
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,11 @@
99
Tarantool -- Documentation
1010
-------------------------------------------------------------------------------
1111

12-
.. wp_section::
13-
:class: documentation-main-page-header
14-
15-
.. container:: documentation-main-page-header-path
16-
17-
|nbsp|
18-
1912
.. wp_section::
2013
:class: b-documentation-toc
2114

2215
.. container:: documentation-main-page
2316

24-
.. container:: documentation-main-page-title
25-
26-
Tarantool documentation
27-
28-
.. container:: documentation-main-page-description
29-
30-
This manual embraces all aspects of using Tarantool: from introductory
31-
information and exercises for beginners -- to advanced instructions and
32-
detailed references for power users and contributors.
33-
3417
.. container:: documentation-main-page-content
3518

3619
.. ifconfig:: language == 'ru'
@@ -64,10 +47,12 @@
6447
</a>
6548
</div>
6649

67-
.. toctree::
50+
.. toctree::
6851
:maxdepth: 1
6952

53+
overview
7054
getting_started/index
55+
how-to/index
7156
book/box/data_model
7257
CRUD operations <reference/reference_lua/box_space>
7358
book/box/indexes
@@ -82,6 +67,5 @@
8267
book/box/engines/index
8368
book/connectors
8469
reference/index
85-
tutorials/index
8670
contributing/index
8771
release/index

doc/overview.rst

+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
Overview
2+
========
3+
4+
What is Tarantool?
5+
------------------
6+
7+
Tarantool combines an in-memory DBMS and a Lua server in a single platform
8+
providing ACID-compliant storage. It comes in two :ref:`editions <overview-editions>`:
9+
Community and Enterprise.
10+
The :ref:`use cases <overview-use_cases>` for Tarantool vary from ultra-fast cache
11+
to product data marts and smart queue services.
12+
13+
Here are some of Tarantool's key characteristics:
14+
15+
* **Easy handling of OLTP workloads**: processes hundreds of thousands RPS
16+
17+
* **Data integrity**: write-ahead log (WAL) and data snapshots
18+
19+
* **Cooperative multitasking**: transactions are performed in lightweight coroutines with no interthread locking
20+
21+
* **Advanced indexing**: composite indexes, locale support, indexing by nested fields and arrays
22+
23+
* **Compute close to data**: Lua server and Just-In-Time compiler on board
24+
25+
* **Durable distributed storage**: multiple failover modes and RAFT-based synchronous replication available
26+
27+
28+
Tarantool allows executing code alongside data, which helps increase the speed of operations.
29+
Developers can implement any business logic with Lua,
30+
and a single Tarantool instance can also receive SQL requests.
31+
32+
Tarantool has a variety of compatible `modules <https://www.tarantool.io/en/download/rocks>`__ (Lua rocks).
33+
You can pick the ones that you need and install them manually.
34+
35+
Tarantool runs on Linux (x86_64, aarch64), Mac OS X (x86_64, M1), and FreeBSD (x86_64).
36+
37+
You can use Tarantool with a programming language you're familiar with.
38+
For this purpose, a number of :ref:`connectors <getting_started_connectors>` are provided.
39+
40+
.. _overview-editions:
41+
42+
Editions
43+
--------
44+
45+
Tarantool comes in two editions: the open-source **Community Edition (CE)**
46+
and the commercial **Enterprise Edition (EE)**.
47+
48+
**Tarantool CE** lets you develop applications and speed up a system in operation.
49+
It features :ref:`synchronous replication <repl_sync>`, affords easy :ref:`scalability <sharding>`,
50+
and includes tools to develop efficient :ref:`applications <app_server>`.
51+
The `Tarantool community <https://t.me/tarantool>`__ helps with any practical questions
52+
regarding the Community Edition.
53+
54+
**Tarantool EE** `provides advanced tools <https://www.tarantool.io/en/compare/>`__ for
55+
administration, deployment, and security management, along with premium support services.
56+
This edition includes all the Community Edition features
57+
and is more predictable in terms of solution cost and maintenance.
58+
The Enterprise Edition is shipped as an SDK and includes a number of closed-source modules.
59+
See the `documentation for Tarantool EE <https://www.tarantool.io/en/enterprise_doc/>`__.
60+
61+
.. _overview-use_cases:
62+
63+
Use cases
64+
---------
65+
66+
Fast first-class storage
67+
~~~~~~~~~~~~~~~~~~~~~~~~
68+
69+
* Primary storage
70+
71+
- No secondary storage required
72+
73+
* Tolerance to high write loads
74+
* Support of relational approaches
75+
* Composite secondary indexes
76+
77+
- Data access, data slices
78+
79+
* Predictable request latency
80+
81+
Advanced cache
82+
~~~~~~~~~~~~~~
83+
84+
* Write-behind caching
85+
* Secondary index support
86+
* Complex invalidation algorithm support
87+
88+
Smart queue
89+
~~~~~~~~~~~
90+
91+
* Support of various identification techniques
92+
* Advanced task lifecycle management
93+
94+
- Task scheduling
95+
- Archiving of completed tasks
96+
97+
Data-centric applications
98+
~~~~~~~~~~~~~~~~~~~~~~~~~
99+
100+
* Arbitrary data flows from many sources
101+
* Incoming data processing
102+
* Storage
103+
* Background cycle processing
104+
105+
- Scheduling support

doc/reference/reference_lua/box_space.rst

+2-4
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ Below is a list of all ``box.space`` functions and members.
2525
* - Name
2626
- Use
2727

28-
* - :doc:`./box_space/examples`
29-
- Some useful examples
30-
3128
* - :doc:`./box_schema/space_create`
3229
- Create a space
3330

@@ -172,10 +169,11 @@ Below is a list of all ``box.space`` functions and members.
172169
* - :doc:`./box_space/_session_settings`
173170
- (Metadata) List of settings affecting behavior of the current session
174171

172+
To see examples, visit the :ref:`how-to guide on CRUD operations <box_space_examples>`.
173+
175174
.. toctree::
176175
:hidden:
177176

178-
box_space/examples
179177
box_schema/space_create
180178
box_space/alter
181179
box_space/auto_increment

doc/reference/reference_rock/vshard/vshard_admin.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ To install the module, execute the following command:
2020
.. NOTE::
2121

2222
The ``vshard`` module requires Tarantool of the version 1.10.1 or higher,
23-
`Tarantool development package <https://www.tarantool.io/en/doc/latest/tutorials/c_tutorial/#c-stored-procedures>`_,
23+
:ref:`Tarantool development package <f_c_tutorial-c_stored_procedures>`,
2424
``git``, ``cmake`` and ``gcc`` packages installed.
2525

2626
.. _vshard-config-cluster:

doc/reference/reference_sql/index.rst

-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ This reference covers all the SQL statements and clauses supported by Tarantool.
1414
:numbered: 0
1515

1616
sql
17-
sql_beginners_guide
1817
sql_user_guide
1918
sql_statements_and_clauses
2019
sql_plus_lua

doc/reference/reference_sql/sql.rst

+3-2
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ rather than starting with a NoSQL DBMS and adding syntax to it.
5050
What Tarantool's SQL manual delivers
5151
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5252

53-
The following five parts of this document are: |br|
54-
The :ref:`SQL Beginners' Guide <sql_beginners_guide>` explains the basics of relational database management and SQL in particular. |br|
53+
The following parts of this document are: |br|
5554
The :ref:`SQL User Guide <sql_user_guide>` explains "How to get Started" and explains the terms and the syntax elements that
5655
apply for all SQL statements. |br|
5756
The :ref:`SQL Statements and Clauses <sql_statements_and_clauses>` guide explains, for each SQL statement, the format and the rules
@@ -61,3 +60,5 @@ and using the same database objects in both SQL and Lua. |br|
6160
The :ref:`SQL Features <sql>` list shows how the product conforms with the mandatory features of the SQL standard.
6261

6362
Users are expected to know what databases are, and experience with other SQL DBMSs would be an advantage.
63+
To learn about the basics of relational database management and SQL in particular,
64+
check the :ref:`SQL Beginners' Guide <sql_beginners_guide>` in the :ref:`How-to guides <how-to>` section.

doc/release/1.10_series.rst

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
2+
1.10.x (LTS)
3+
======
4+
5+
Tarantool 1.10 LTS series includes the following releases:
6+
7+
.. toctree::
8+
:maxdepth: 1
9+
10+
1.10.14
11+
1.10.13
12+
1.10.12
13+
1.10.11
14+
1.10.10
15+
1.10.9
16+
1.10.8
17+
1.10.7
18+
1.10.6
19+
1.10.5
20+
Tarantool 1.10.0–1.10.4 <1.10>

0 commit comments

Comments
 (0)