Skip to content

Restructure docs, stage 1 #3054

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 40 commits into from
Aug 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
465cfcb
Update the Releases section
patiencedaur Jul 26, 2022
1881aea
Remove redundant text on index page
patiencedaur Jul 27, 2022
8661a49
Add the Overview article draft
patiencedaur Jul 29, 2022
499fa38
Attempt to fix panels
patiencedaur Jul 29, 2022
c08bd92
Apply suggestions from initial review
patiencedaur Aug 2, 2022
a3e6c4f
Remove panels
patiencedaur Aug 4, 2022
8678491
Create the new How-to section
patiencedaur Aug 5, 2022
8ada89c
Create the new How-to section structure
patiencedaur Aug 5, 2022
922021d
Move 'Getting started/What's next' to the new section
patiencedaur Aug 5, 2022
051b23c
Fix some links
patiencedaur Aug 5, 2022
191a0bd
Move Tarantool CXX connector guide
patiencedaur Aug 5, 2022
051edef
Add SQL Beginners' Guide to How-to
patiencedaur Aug 5, 2022
a7cf740
Add CRUD operations how-to guide
patiencedaur Aug 8, 2022
0f3b9e4
Clarify link between number and cdata (#3050)
patiencedaur Jul 27, 2022
9796161
Add a note about recipes in tarantool/examples (#3055)
patiencedaur Jul 28, 2022
8e2dc96
Add tt check, logrotate, connect (#3051)
p7nov Aug 3, 2022
9520131
Add a new section for the datetime module with the description of its…
veod32 Aug 3, 2022
422b352
Correct description of applying data schema on the Code tab in the sc…
veod32 Aug 4, 2022
3ef39ff
Fix EOL date for 2.8.2 (#3066)
patiencedaur Aug 5, 2022
8998b83
Document the watchers and built-in events (#2858)
xuniq Aug 5, 2022
61424f9
Fix build warnings (#3068)
patiencedaur Aug 5, 2022
e72d6c5
Document IPROTO watchers (#3044)
xuniq Aug 5, 2022
de2b091
Fix small issues (#3069)
patiencedaur Aug 5, 2022
d9c772c
Add default timeout in module http (#3076)
xuniq Aug 9, 2022
c19f517
Fix typo in box.watch example (#3078)
xuniq Aug 9, 2022
b119f51
Add 2.10.1 release notes (#3073)
p7nov Aug 10, 2022
a6adf96
Add 1.10.14 LTS release notes (#3075)
p7nov Aug 10, 2022
b6d29e1
Add missing quotes in an example (#3081)
patiencedaur Aug 10, 2022
e0855ba
Use strict error handling in bash scripts (#3083)
NickVolynkin Aug 10, 2022
3c6894c
Restore links to new RNs
p7nov Aug 11, 2022
ecae120
Use strict error handling in bash scripts (#3083)
NickVolynkin Aug 10, 2022
de54cf1
Update the Releases section
patiencedaur Jul 26, 2022
a075bc0
Update the Releases section
patiencedaur Jul 26, 2022
1924a94
Merge branch 'latest' into restructure-docs-1
p7nov Aug 11, 2022
28493fa
Fix releases page TOC
p7nov Aug 11, 2022
48c34c0
Restructure the releases section
p7nov Aug 11, 2022
c7d9b43
Remove irrelevant beta and rc release notes
p7nov Aug 12, 2022
0dacdef
Point to the Cartridge tutorial explicitly
patiencedaur Aug 15, 2022
69f3ed3
Merge branch 'latest' into restructure-docs-1
patiencedaur Aug 18, 2022
140516b
Move the How-to section up the menu
patiencedaur Aug 19, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,6 @@ locale/*

# tntcxx submodule

/doc/getting_started/getting_started_cxx.rst
/doc/getting_started/_includes/
/doc/how-to/getting_started_cxx.rst
/doc/how-to/_includes
/doc/book/connectors/cxx/
8 changes: 4 additions & 4 deletions build_submodules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -98,12 +98,12 @@ cp -rfv "${cartridge_kubernetes_root}" "${cartridge_kubernetes_dest}"

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

# Copy Tarantool C++ connector docs to the right places
mkdir -p "${tntcxx_api_dest}/cxx/"
mkdir -p "${tntcxx_gs_dest}/_includes"
cp -rfv "${tntcxx_root}/doc/tntcxx_getting_started.rst" "${tntcxx_gs_dest}/getting_started_cxx.rst"
cp -rfv "${tntcxx_root}/examples/" "${tntcxx_gs_dest}/_includes/examples/"
mkdir -p "${tntcxx_howto_dest}/_includes"
cp -rfv "${tntcxx_root}/doc/tntcxx_getting_started.rst" "${tntcxx_howto_dest}/getting_started_cxx.rst"
cp -rfv "${tntcxx_root}/examples/" "${tntcxx_howto_dest}/_includes/examples/"
cp -rfv "${tntcxx_root}/doc/tntcxx_api.rst" "${tntcxx_api_dest}/cxx/"
1 change: 1 addition & 0 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
'sphinx.ext.ifconfig',
'sphinx.ext.intersphinx',
'sphinx.ext.extlinks',
'sphinx_panels',
'sphinxcontrib.plantuml',
'ext.custom',
'ext.LuaDomain',
Expand Down
2 changes: 1 addition & 1 deletion doc/book/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ To get started, you can install and launch Tarantool using
or the online Tarantool server at http://try.tarantool.org.
Either way, as the first tryout, you can follow the introductory exercises
from :ref:`Chapter 2 "Getting started" <getting_started>`.
If you want more hands-on experience, proceed to :ref:`Tutorials <tutorials>`
If you want more hands-on experience, proceed to :ref:`How-to guides <how-to>`
after you are through with Chapter 2.

:ref:`Chapter 3 "Database" <database-chapter>` is about using Tarantool
Expand Down
5 changes: 4 additions & 1 deletion doc/getting_started/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,7 @@ to write in/migrate to Tarantool.
connecting_to_cluster
change_schema_dynamically
writing_cluster_code
whats_next

To continue exploring Tarantool and its ecosystem, you might want to check out
Tarantool :doc:`tutorials and guides <../how-to/index>`.
The :ref:`Cartridge beginner tutorial <getting_started_cartridge>` can also be found there.
14 changes: 0 additions & 14 deletions doc/getting_started/whats_next.rst

This file was deleted.

File renamed without changes.
8 changes: 8 additions & 0 deletions doc/how-to/app/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Developing applications with Tarantool
======================================

.. toctree::
:maxdepth: 1

lua_tutorials
c_tutorial
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
.. _box_space_examples:

===============================================================================
Examples
===============================================================================
CRUD operation examples
=======================

-------------------------------------------------------------------------------
Example: using box.space functions to read _space tuples
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Connecting from your favorite language
================================================================================

In the :doc:`previous sections </getting_started/getting_started_db>`,
In the :ref:`previous sections <getting_started_db>`,
you have learned how to create a Tarantool database.
Now let's see how to connect to the database from different programming
languages, such as Python, PHP, Go, and C++, and
Expand Down
25 changes: 25 additions & 0 deletions doc/how-to/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
:noindex:
:fullwidth:

.. _tutorials:
.. _how-to:

How-to guides
=============

This chapter contains practical examples as well as
tutorials for those who would like to dig deeper into Tarantool usage.

If you are new to Tarantool, please see our
:ref:`Getting Started guides <getting_started>` first.

.. toctree::
:maxdepth: 2

Basic Tarantool tutorial <getting_started_db>
getting_started_connectors
getting_started_cartridge
crud
app/index
sql/index
other/index
7 changes: 7 additions & 0 deletions doc/how-to/other/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
More guides
===========

.. toctree::
:maxdepth: 1

libslave
File renamed without changes.
File renamed without changes.
12 changes: 12 additions & 0 deletions doc/how-to/sql/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
SQL guides
==========

This section contains hands-on SQL guides.
You might also want to read the in-depth :ref:`SQL reference <reference_sql>`.

.. toctree::
:maxdepth: 1

sql_beginners_guide
sql_tutorial
improving_mysql
Original file line number Diff line number Diff line change
Expand Up @@ -788,3 +788,5 @@ The rules state that it should be impossible to use a low-level language to bypa
integrity as defined in the relational-level language.
In Tarantool's case, this is not true, for example one can execute a request
with Tarantool's NoSQL to violate a foreign-key constraint that was defined with Tarantool's SQL.

To learn more about SQL in Tarantool, check the :ref:`reference <reference_sql>`.
File renamed without changes.
File renamed without changes.
22 changes: 3 additions & 19 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,11 @@
Tarantool -- Documentation
-------------------------------------------------------------------------------

.. wp_section::
:class: documentation-main-page-header

.. container:: documentation-main-page-header-path

|nbsp|

.. wp_section::
:class: b-documentation-toc

.. container:: documentation-main-page

.. container:: documentation-main-page-title

Tarantool documentation

.. container:: documentation-main-page-description

This manual embraces all aspects of using Tarantool: from introductory
information and exercises for beginners -- to advanced instructions and
detailed references for power users and contributors.

.. container:: documentation-main-page-content

.. ifconfig:: language == 'ru'
Expand Down Expand Up @@ -64,10 +47,12 @@
</a>
</div>

.. toctree::
.. toctree::
:maxdepth: 1

overview
getting_started/index
how-to/index
book/box/data_model
CRUD operations <reference/reference_lua/box_space>
book/box/indexes
Expand All @@ -82,6 +67,5 @@
book/box/engines/index
book/connectors
reference/index
tutorials/index
contributing/index
release/index
105 changes: 105 additions & 0 deletions doc/overview.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
Overview
========

What is Tarantool?
------------------

Tarantool combines an in-memory DBMS and a Lua server in a single platform
providing ACID-compliant storage. It comes in two :ref:`editions <overview-editions>`:
Community and Enterprise.
The :ref:`use cases <overview-use_cases>` for Tarantool vary from ultra-fast cache
to product data marts and smart queue services.

Here are some of Tarantool's key characteristics:

* **Easy handling of OLTP workloads**: processes hundreds of thousands RPS

* **Data integrity**: write-ahead log (WAL) and data snapshots

* **Cooperative multitasking**: transactions are performed in lightweight coroutines with no interthread locking

* **Advanced indexing**: composite indexes, locale support, indexing by nested fields and arrays

* **Compute close to data**: Lua server and Just-In-Time compiler on board

* **Durable distributed storage**: multiple failover modes and RAFT-based synchronous replication available


Tarantool allows executing code alongside data, which helps increase the speed of operations.
Developers can implement any business logic with Lua,
and a single Tarantool instance can also receive SQL requests.

Tarantool has a variety of compatible `modules <https://www.tarantool.io/en/download/rocks>`__ (Lua rocks).
You can pick the ones that you need and install them manually.

Tarantool runs on Linux (x86_64, aarch64), Mac OS X (x86_64, M1), and FreeBSD (x86_64).

You can use Tarantool with a programming language you're familiar with.
For this purpose, a number of :ref:`connectors <getting_started_connectors>` are provided.

.. _overview-editions:

Editions
--------

Tarantool comes in two editions: the open-source **Community Edition (CE)**
and the commercial **Enterprise Edition (EE)**.

**Tarantool CE** lets you develop applications and speed up a system in operation.
It features :ref:`synchronous replication <repl_sync>`, affords easy :ref:`scalability <sharding>`,
and includes tools to develop efficient :ref:`applications <app_server>`.
The `Tarantool community <https://t.me/tarantool>`__ helps with any practical questions
regarding the Community Edition.

**Tarantool EE** `provides advanced tools <https://www.tarantool.io/en/compare/>`__ for
administration, deployment, and security management, along with premium support services.
This edition includes all the Community Edition features
and is more predictable in terms of solution cost and maintenance.
The Enterprise Edition is shipped as an SDK and includes a number of closed-source modules.
See the `documentation for Tarantool EE <https://www.tarantool.io/en/enterprise_doc/>`__.

.. _overview-use_cases:

Use cases
---------

Fast first-class storage
~~~~~~~~~~~~~~~~~~~~~~~~

* Primary storage

- No secondary storage required

* Tolerance to high write loads
* Support of relational approaches
* Composite secondary indexes

- Data access, data slices

* Predictable request latency

Advanced cache
~~~~~~~~~~~~~~

* Write-behind caching
* Secondary index support
* Complex invalidation algorithm support

Smart queue
~~~~~~~~~~~

* Support of various identification techniques
* Advanced task lifecycle management

- Task scheduling
- Archiving of completed tasks

Data-centric applications
~~~~~~~~~~~~~~~~~~~~~~~~~

* Arbitrary data flows from many sources
* Incoming data processing
* Storage
* Background cycle processing

- Scheduling support
6 changes: 2 additions & 4 deletions doc/reference/reference_lua/box_space.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ Below is a list of all ``box.space`` functions and members.
* - Name
- Use

* - :doc:`./box_space/examples`
- Some useful examples

* - :doc:`./box_schema/space_create`
- Create a space

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

To see examples, visit the :ref:`how-to guide on CRUD operations <box_space_examples>`.

.. toctree::
:hidden:

box_space/examples
box_schema/space_create
box_space/alter
box_space/auto_increment
Expand Down
2 changes: 1 addition & 1 deletion doc/reference/reference_rock/vshard/vshard_admin.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To install the module, execute the following command:
.. NOTE::

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

.. _vshard-config-cluster:
Expand Down
1 change: 0 additions & 1 deletion doc/reference/reference_sql/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ This reference covers all the SQL statements and clauses supported by Tarantool.
:numbered: 0

sql
sql_beginners_guide
sql_user_guide
sql_statements_and_clauses
sql_plus_lua
Expand Down
5 changes: 3 additions & 2 deletions doc/reference/reference_sql/sql.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ rather than starting with a NoSQL DBMS and adding syntax to it.
What Tarantool's SQL manual delivers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Users are expected to know what databases are, and experience with other SQL DBMSs would be an advantage.
To learn about the basics of relational database management and SQL in particular,
check the :ref:`SQL Beginners' Guide <sql_beginners_guide>` in the :ref:`How-to guides <how-to>` section.
20 changes: 20 additions & 0 deletions doc/release/1.10_series.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

1.10.x (LTS)
======

Tarantool 1.10 LTS series includes the following releases:

.. toctree::
:maxdepth: 1

1.10.14
1.10.13
1.10.12
1.10.11
1.10.10
1.10.9
1.10.8
1.10.7
1.10.6
1.10.5
Tarantool 1.10.0–1.10.4 <1.10>
Loading