Tarantool: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Добавлена информация о коннекторах которые поддерживаются для tarantool, а так же ссылка на определение шардирования(сегментирования)
 
(не показано 36 промежуточных версий 24 участников)
Строка 1: Строка 1:
{{Карточка программы
{{Карточка программы
| name = Tarantool
| name = Tarantool
| logo =
| logo = Logo-Tarantool-2023.png
| screenshot =
| screenshot =
| caption =
| caption =
| genre = [[NoSQL]]
| genre = [[NoSQL]]
| author = [[Mail.ru Group]]
| author = [[VK (компания)|VK Tech]]
| developer = [[Mail.ru Group]]
| developer = [[VK (компания)|VK Tech]]
| programming language = [[Си (язык программирования)|Си]]
| programming language = [[Си (язык программирования)|Си]]
| operating system = [[Linux]], [[FreeBSD]], [[OS X]]
| operating system = [[Linux]], [[FreeBSD]], [[macOS]]
| released = 2008
| released = 2008
| latest release version = 2.1.2
| latest release version = 3.1.0
| latest release date = 5 Апреля 2019
| latest release date = 2024-04-17
| license = [[Лицензия BSD|Упрощенная BSD]]
| license = [[Лицензия BSD|Упрощенная BSD]]
| website = {{URL|http://tarantool.io}}
| website = {{URL|https://www.tarantool.io/}}
}}
}}
'''Tarantool''' — платформа [[Резидентная база данных|in-memory]] вычислений с гибкой схемой данных для эффективного создания высоконагруженных приложений. Включает в себя [[База данных|базу данных]] и [[сервер приложений]] на [[Lua]].


Обладает высокой скоростью работы по сравнению с традиционными СУБД, обладая теми же свойствами: [[:en:Persistence (computer science)|персистентности]], [[транзакционность|транзакционности]] [[ACID]], [[Репликация (вычислительная техника)|репликации]] master-slave, master-master.
'''Tarantool''' представляет собой решение с открытым исходным кодом, совмещающее [[СУБД|систему управления базой данных]] и неблокирующий сервер приложений на [[Lua]].

База данных обладает высокой скоростью работы по сравнению с традиционными СУБД, обладая теми же свойствами: персистентности, транзакционности [[ACID]], репликации master-slave, master-master.


== Обзор ==
== Обзор ==


=== СУБД ===
=== База данных ===

Язык запросов:
Язык запросов:
Строка 31: Строка 29:
Технологии хранения данных:
Технологии хранения данных:


* memtx - хранение всех данных в оперативной памяти, с дисковыми снимками данных и логом транзакций
* memtx — хранение данных в оперативной памяти, с дисковыми снимками данных и логом транзакций.
* vinyl - хранение данных на жестком диске, с оптимизацией для быстрой вставки данных
* vinyl — хранение данных на жестком диске, с оптимизацией для быстрой вставки данных.


Для хранения данных используются таплы (кортежи). Это массив с данными, которые не типизированы. Кортежи или таплы объединяются в спейсы. Спейс – это аналог из мира SQL, таблица. Спейс это коллекция таплов, а тапл это коллекция полей.
Единицей хранения является кортеж (tuple или строка). Кортеж состоит из одного и более полей.


Поля могут быть одного из следующих типов:
Поля могут быть одного из следующих типов:
Строка 40: Строка 38:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Скалярный/составной !! тип MsgPack !! тип Lua !! Пример
! Скалярный/составной !! тип MsgPack !! тип Lua !! Пример
|-
|-
|скалярный || nil || «nil» || msgpack.NULL
|скалярный || nil || «nil» || msgpack.NULL
Строка 46: Строка 44:
|скалярный || булевый || «boolean» || true
|скалярный || булевый || «boolean» || true
|-
|-
|скалярный || строковый || «string» || "A B C"
|скалярный || строковый || «string» || «A B C»
|-
|-
|скалярный || целочисленный || «number» || 12345
|скалярный || целочисленный || «number» || 12345
Строка 52: Строка 50:
|скалярный || с плавающей точкой двойной точности || «number» || 1.2345
|скалярный || с плавающей точкой двойной точности || «number» || 1.2345
|-
|-
|составной || ассоциативный массив || «table» со строковыми ключами || {"a": 5, "b": 6}
|составной || ассоциативный массив || «table» со строковыми ключами || {«a»: 5, «b»: 6}
|-
|-
|составной || массив || «table» с числовыми ключами || [1, 2, 3, 4, 5]
|составной || массив || «table» с числовыми ключами || [1, 2, 3, 4, 5]
|-
|-
|составной || массив байт || «cdata» ||
|составной || массив байт || «cdata» ||
|}
|}


[[Кортеж (информатика)|Кортежи]] организованы в пространства (space или таблицы). Для каждого пространства указывается технология хранения (memtx или vinyl).


Пространство должно быть проиндексировано первичным ключом. Также поддерживаются неограниченное количество вторичных ключей.
Кортежи организованы в пространства (space или таблицы). Для каждого пространства указывается технология хранения (memtx или vinyl).

Пространство должно быть проиндексировано первичным ключом. Также поддерживаются неограниченное количество вторичных ключей.


Ключ может состоять из одного и более полей.
Ключ может состоять из одного и более полей.
Строка 68: Строка 65:
Поддерживаемые индексы:
Поддерживаемые индексы:


* TREE (дерево) — для быстрого поиска значений и возможности итерации.
* TREE (дерево) — для быстрого поиска значений и возможности итерации.
* HASH (хеш-таблица, только для memtx) — для еще более быстрого поиска значений.
* HASH (хеш-таблица, только для memtx) — для еще более быстрого поиска значений.
* BITSET (битовая маска, только для memtx) — возможность поиска по битовым маскам.
* BITSET (битовая маска, только для memtx) — возможность поиска по битовым маскам.
* RTREE (многомерное R*-дерево, только для memtx) — для быстрого поиска ближайших соседей (KNN) и точек в заданных многомерных параллелепипедах с заданными функциями расстояния между двумя точками.
* RTREE (многомерное R*-дерево, только для memtx) — для быстрого поиска ближайших соседей (KNN) и точек в заданных многомерных параллелепипедах с заданными функциями расстояния между двумя точками.


В качестве формата хранения и протокола передачи данных используется [[MessagePack]].
В качестве формата хранения и протокола передачи данных используется [[MessagePack]].


База данных поддерживает асинхронную репликацию. Репликация может быть выполнена в виде мастер-мастер.
База данных поддерживает асинхронную и синхронную репликацию. Репликация может быть выполнена в виде мастер-мастер.


Для разделения доступа используется традиционная модель [[ACL]]. У каждого объекта есть владелец имеющий неограниченный доступ. Владелец может предоставить доступ к объекту другим пользователям или ролям. Роль это в свою очередь группа пользователей.
Для разделения доступа используется традиционная модель [[ACL]]. У каждого объекта есть владелец имеющий неограниченный доступ. Владелец может предоставить доступ к объекту другим пользователям или ролям. Роль это в свою очередь группа пользователей.


Список разграниченных действий:
Список разграниченных действий:
* read
* read
* write
* write
* execute
* execute
Строка 87: Строка 84:
* drop
* drop


База данных поддерживает хранимые процедуры триггеры написанные на языке [[Lua]].
База данных поддерживает хранимые процедуры и триггеры написанные на языке [[Lua]].


Глобальный триггер
Глобальный триггер
* box_once - первый запуск бд (бутстрап)
* box_once — первый запуск базы данных (бутстрап).


Триггеры для пространств (таблиц):
Триггеры для пространств (таблиц):
* on_replace - триггер только для чтения на события вставка, обновления, удаления данных
* on_replace — триггер только для чтения на события вставка, обновления, удаления данных
* before_replace - триггер с возможностью модификации событий вставки, обновления, удаления данных
* before_replace — триггер с возможностью модификации событий вставки, обновления, удаления данных


=== Сервер приложений ===
=== Сервер приложений ===


Для написания бизнес-логики используется язык [[Lua]] и его компилятор [[LuaJIT]].
Для написания бизнес-логики используется язык [[Lua]] и его компилятор [[LuaJIT]].


Сервер приложений содержит высокоуровневое API для доступа к базе данных, файловой системе, сети.
Сервер приложений содержит высокоуровневый [[API]] для доступа к базе данных, файловой системе, сети.


Пользователь может динамически добавлять, удалять, модифицировать функции. Для одновременного выполнения кода используется кооперативная мультизадачность.
Пользователь может динамически добавлять, удалять, модифицировать функции. Для одновременного выполнения кода используется [[кооперативная многозадачность]].


Для расширения сервера приложений доступны [[Lua]] библиотеки как из репозитория tarantool/rocks так и собранные из исходников.
Для расширения сервера приложений доступны [[Lua]] библиотеки как из репозитория tarantool/rocks так и собранные из исходников.


Список стандартных модулей tarantool-а:
Список стандартных модулей tarantool-а:
* box - доступ к СУБД
* box — доступ к СУБД
* clock - системное время
* clock — системное время
* crypto - криптографические функции
* crypto — криптографические функции
* csv - работа с [[CSV]] форматом данных
* csv — работа с [[CSV]] форматом данных
* decimal — арифметика с десятичной плавающей точкой (например, денежная)
* digest - хеширование строк
* digest — хеширование строк
* errno - доступ к переменной системных ошибок *nix
* errno — доступ к переменной системных ошибок *nix
* fiber - многопоточность и инструменты синхронизации
* fiber — многопоточность и инструменты синхронизации
* fio - работа с файловой системой, ввод/вывод
* fio — работа с файловой системой, ввод/вывод
* fun - функциональное программирование
* fun — функциональное программирование
* iconv - работа с текстом в разных кодировках
* json - работа с [[JSON]] форматом данных
* iconv — работа с текстом в разных кодировках
* json — работа с [[JSON]] форматом данных
* log - логирование событий
* log — логирование событий
* msgpack - работа с MsgPack форматом данных
* msgpack — работа с MsgPack форматом данных
* net.box - модуль связи tarantool-ов между собой
* net.box — модуль связи tarantool-ов между собой
* os - небольшая часть основных команд операционной системы
* os — небольшая часть основных команд операционной системы
* pickle - сериализация/десериализация [[Lua]] структур
* pickle — сериализация/десериализация [[Lua]] структур
* socket - работа с сетью
* socket — работа с сетью
* string - утилиты для работы со строками
* string — утилиты для работы со строками
* tap - фреймворк для [[Модульное тестирование|модульного тестирования]]
* tap — фреймворк для [[Модульное тестирование|модульного тестирования]]
* uuid - работа с [[UUID]]
* uri - работа с форматом uri
* uuid — работа с [[UUID]]
* yaml - работа с [[YAML]] форматом данных
* uri — работа с форматом uri
* yaml — работа с [[YAML]] форматом данных


Модули доступные из репозитория tarantool/rocks:
Модули доступные из репозитория tarantool/rocks:
* vshard - шардирование и репликация данных для горизонтального масштабирования сервиса
* vshard — [[Сегментирование (базы данных)|шардирование]] и репликация данных для горизонтального масштабирования сервиса
* avro-schema - валидация и преобразование сложных структур данных
* avro-schema — валидация и преобразование сложных структур данных
* date - манипуляция с датой и временем
* date — манипуляция с датой и временем

* ldecnumber - арифметика с десятичной плавающей точкой (например, денежная)
== Коннекторы ==
Tarantool имеет [[API]] и официальные коннекторы для языков [[Си (язык программирования)|C]], [[Java]], [[Go]], [[Python]], а так же коннекторы для других языков, которые поддерживаются сообществом.


== История ==
== История ==


Mail.ru, крупная интернет-компания в России, начала проект в 2008 году c вложения средств и поиска программистов. В качестве руководителя проекта наняли бывшего технического директора из [[MySQL]].
[[Mail.ru]], крупная интернет-компания в России, начала проект в 2008 году с вложения средств и поиска программистов. В качестве руководителя проекта наняли бывшего [[технический директор|технического директора]] из [[MySQL]].
Tarantool стал частью самого портала Mail.ru и сейчас используется для динамического контента: сеансов пользователей, мгновенных сообщений и прочего, а также используется в качестве слоя кэширования для традиционных реляционных баз данных, таких как [[MySQL]] или [[PostgreSQL]].<ref>[http://vimeo.com/66713654 NoSQL matters Cologne 2013 Day2 Track3 05 Konstantin Osipov on Vimeo<!-- Заголовок добавлен ботом -->]</ref>


Tarantool стал частью самого портала Mail.ru и сейчас используется для динамического контента: сеансов пользователей, мгновенных сообщений и прочего, а также используется в качестве слоя кэширования для традиционных реляционных баз данных, таких как [[MySQL]] или [[PostgreSQL]].<ref>{{Cite web |url=http://vimeo.com/66713654 |title=NoSQL matters Cologne 2013 Day2 Track3 05 Konstantin Osipov |access-date=2018-05-18 |archive-date=2017-03-12 |archive-url=https://web.archive.org/web/20170312195343/https://vimeo.com/66713654 |deadlink=no }}</ref>
В 2014 году Tarantool также был принят социальными сетями [[Badoo]] и [[Одноклассники (социальная сеть)|Одноклассники]]. <ref>[https://www.youtube.com/watch?v=O-MGE3wHkqs Tarantool в Badoo: хранение истории посещений. Доклад Антона Поварова на Tarantool Meetup - YouTube<!-- Заголовок добавлен ботом -->]</ref>


В 2014 году Tarantool также был принят социальными сетями [[Badoo]] и [[Одноклассники (социальная сеть)|Одноклассники]].<ref>{{Cite web |url=https://www.youtube.com/watch?v=O-MGE3wHkqs |title=Tarantool в Badoo: хранение истории посещений. Доклад Антона Поварова на Tarantool Meetup |access-date=2018-05-18 |archive-date=2021-04-19 |archive-url=https://web.archive.org/web/20210419231857/https://www.youtube.com/watch?v=O-MGE3wHkqs |deadlink=no }}</ref>
В июне 2014 года исследователи из Политехнического института Коимбры и Университета Коимбры (Португалия) провели первый официальный независимый тест производительности систем [[NoSQL]], которые включали в том числе и Tarantool. Испытания использовали стандартный YCSB тест, а конкуренцию Tarantool составляли другие системы NoSQL: [[Cassandra]], [[HBase]], [[Oracle NoSQL]], [[Redis]], [[Voldemort]], [[Scalaris]], [[Elasticsearch]], [[MongoDB]] и [[OrientDB]].<ref>http://airccse.org/journal/ijdms/papers/6314ijdms01.pdf</ref>


В июне 2014 года исследователи из [[Политехнический институт Коимбры|Политехнического института Коимбры]] и [[Университет Коимбры|Университета Коимбры]] (Португалия) провели первый официальный независимый тест производительности систем [[NoSQL]], которые включали в том числе и Tarantool. Испытания использовали стандартный [[YCSB-тест]], а конкуренцию Tarantool составляли другие системы NoSQL: [[Cassandra]], [[HBase]], [[Oracle NoSQL]] ([[:en:Oracle NoSQL Database|англ.]]), [[Redis]], [[Voldemort]] ([[:en:Voldemort (distributed data store)|англ.]]), [[Scalaris]], [[Elasticsearch]], [[MongoDB]] и [[OrientDB]].<ref>{{Cite web |url=http://airccse.org/journal/ijdms/papers/6314ijdms01.pdf |title=Архивированная копия |access-date=2018-05-18 |archive-date=2018-05-16 |archive-url=https://web.archive.org/web/20180516160919/http://airccse.org/journal/ijdms/papers/6314ijdms01.pdf |deadlink=no }}</ref>
В 2018 году разработчик и основатель проекта Tarantool Константин Осипов стал лауреатом премии HighLoad++ Awards<ref>{{Cite web|url=https://habr.com/article/429962/|title=HighLoad++ Awards: награда, которую деплоили, деплоили и наконец задеплоили|publisher=habr.com|lang=ru|accessdate=2018-12-10}}</ref>

В 2018 году руководитель команды разработки ядра Tarantool Константин Осипов стал лауреатом премии [[HighLoad|HighLoad++ Awards]].<ref>{{Cite web|url=https://habr.com/article/429962/|title=HighLoad++ Awards: награда, которую деплоили, деплоили и наконец задеплоили|publisher=habr.com|lang=ru|accessdate=2018-12-10|archive-date=2018-12-09|archive-url=https://web.archive.org/web/20181209221811/https://habr.com/article/429962/|deadlink=no}}</ref> В сентябре 2019 года он покинул команду проекта в Mail.ru, создав собственную ветку разработки.<ref>{{Cite web|url=https://www.cnews.ru/news/top/2019-09-09_iz_mailru_ushel_sozdatel_samogo|title=Главный архитектор СУБД Tarantool ушел из Mail.ru и заявил о «распаде команды»|publisher=CNews.ru|accessdate=2020-01-01|archive-date=2020-01-01|archive-url=https://web.archive.org/web/20200101082615/https://www.cnews.ru/news/top/2019-09-09_iz_mailru_ushel_sozdatel_samogo|deadlink=no}}</ref>


== Примечания ==
== Примечания ==
Строка 151: Строка 152:


== Ссылки ==
== Ссылки ==
*[https://www.tarantool.io/ Официальный сайт]

* [http://tarantool.io/ Официальный сайт]
* [https://tarantool.io/en/doc/latest/book/connectors/index.html Список существующих клиентов для Tarantool]
* [https://tarantool.io/en/doc/latest/book/connectors/index.html Список существующих клиентов для Tarantool]
* [https://github.com/tarantool/tarantool Tarantool на Github]
* [https://github.com/tarantool/tarantool Tarantool на Github]
* [https://habr.com/company/oleg-bunin/blog/340062/ За счет чего Tarantool такой оптимальный]


{{СУБД}}
{{СУБД}}
{{Databases}}
{{Databases}}
{{Lua programming language}}
{{Lua programming language}}
{{VK}}


[[Категория:Документоориентированные СУБД]]
[[Категория:Документоориентированные СУБД]]

Текущая версия от 10:07, 18 июля 2024

Tarantool
Логотип программы Tarantool
Тип NoSQL
Автор VK Tech
Разработчик VK Tech
Написана на Си
Операционные системы Linux, FreeBSD, macOS
Первый выпуск 2008
Последняя версия 3.1.0 (2024-04-17)
Репозиторий github.com/tarantool/tar…
Лицензия Упрощенная BSD
Сайт tarantool.io

Tarantool — платформа in-memory вычислений с гибкой схемой данных для эффективного создания высоконагруженных приложений. Включает в себя базу данных и сервер приложений на Lua.

Обладает высокой скоростью работы по сравнению с традиционными СУБД, обладая теми же свойствами: персистентности, транзакционности ACID, репликации master-slave, master-master.

База данных

[править | править код]

Язык запросов:

  • SQL
  • документо-ориентированные запросы на языке Lua

Технологии хранения данных:

  • memtx — хранение данных в оперативной памяти, с дисковыми снимками данных и логом транзакций.
  • vinyl — хранение данных на жестком диске, с оптимизацией для быстрой вставки данных.

Для хранения данных используются таплы (кортежи). Это массив с данными, которые не типизированы. Кортежи или таплы объединяются в спейсы. Спейс – это аналог из мира SQL, таблица. Спейс это коллекция таплов, а тапл это коллекция полей.

Поля могут быть одного из следующих типов:

Скалярный/составной тип MsgPack тип Lua Пример
скалярный nil «nil» msgpack.NULL
скалярный булевый «boolean» true
скалярный строковый «string» «A B C»
скалярный целочисленный «number» 12345
скалярный с плавающей точкой двойной точности «number» 1.2345
составной ассоциативный массив «table» со строковыми ключами {«a»: 5, «b»: 6}
составной массив «table» с числовыми ключами [1, 2, 3, 4, 5]
составной массив байт «cdata»

Кортежи организованы в пространства (space или таблицы). Для каждого пространства указывается технология хранения (memtx или vinyl).

Пространство должно быть проиндексировано первичным ключом. Также поддерживаются неограниченное количество вторичных ключей.

Ключ может состоять из одного и более полей.

Поддерживаемые индексы:

  • TREE (дерево) — для быстрого поиска значений и возможности итерации.
  • HASH (хеш-таблица, только для memtx) — для еще более быстрого поиска значений.
  • BITSET (битовая маска, только для memtx) — возможность поиска по битовым маскам.
  • RTREE (многомерное R*-дерево, только для memtx) — для быстрого поиска ближайших соседей (KNN) и точек в заданных многомерных параллелепипедах с заданными функциями расстояния между двумя точками.

В качестве формата хранения и протокола передачи данных используется MessagePack.

База данных поддерживает асинхронную и синхронную репликацию. Репликация может быть выполнена в виде мастер-мастер.

Для разделения доступа используется традиционная модель ACL. У каждого объекта есть владелец имеющий неограниченный доступ. Владелец может предоставить доступ к объекту другим пользователям или ролям. Роль это в свою очередь группа пользователей.

Список разграниченных действий:

  • read
  • write
  • execute
  • create
  • alter
  • drop

База данных поддерживает хранимые процедуры и триггеры написанные на языке Lua.

Глобальный триггер

  • box_once — первый запуск базы данных (бутстрап).

Триггеры для пространств (таблиц):

  • on_replace — триггер только для чтения на события вставка, обновления, удаления данных
  • before_replace — триггер с возможностью модификации событий вставки, обновления, удаления данных

Сервер приложений

[править | править код]

Для написания бизнес-логики используется язык Lua и его компилятор LuaJIT.

Сервер приложений содержит высокоуровневый API для доступа к базе данных, файловой системе, сети.

Пользователь может динамически добавлять, удалять, модифицировать функции. Для одновременного выполнения кода используется кооперативная многозадачность.

Для расширения сервера приложений доступны Lua библиотеки как из репозитория tarantool/rocks так и собранные из исходников.

Список стандартных модулей tarantool-а:

  • box — доступ к СУБД
  • clock — системное время
  • crypto — криптографические функции
  • csv — работа с CSV форматом данных
  • decimal — арифметика с десятичной плавающей точкой (например, денежная)
  • digest — хеширование строк
  • errno — доступ к переменной системных ошибок *nix
  • fiber — многопоточность и инструменты синхронизации
  • fio — работа с файловой системой, ввод/вывод
  • fun — функциональное программирование
  • iconv — работа с текстом в разных кодировках
  • json — работа с JSON форматом данных
  • log — логирование событий
  • msgpack — работа с MsgPack форматом данных
  • net.box — модуль связи tarantool-ов между собой
  • os — небольшая часть основных команд операционной системы
  • pickle — сериализация/десериализация Lua структур
  • socket — работа с сетью
  • string — утилиты для работы со строками
  • tap — фреймворк для модульного тестирования
  • uuid — работа с UUID
  • uri — работа с форматом uri
  • yaml — работа с YAML форматом данных

Модули доступные из репозитория tarantool/rocks:

  • vshard — шардирование и репликация данных для горизонтального масштабирования сервиса
  • avro-schema — валидация и преобразование сложных структур данных
  • date — манипуляция с датой и временем

Коннекторы

[править | править код]

Tarantool имеет API и официальные коннекторы для языков C, Java, Go, Python, а так же коннекторы для других языков, которые поддерживаются сообществом.

Mail.ru, крупная интернет-компания в России, начала проект в 2008 году с вложения средств и поиска программистов. В качестве руководителя проекта наняли бывшего технического директора из MySQL.

Tarantool стал частью самого портала Mail.ru и сейчас используется для динамического контента: сеансов пользователей, мгновенных сообщений и прочего, а также используется в качестве слоя кэширования для традиционных реляционных баз данных, таких как MySQL или PostgreSQL.[1]

В 2014 году Tarantool также был принят социальными сетями Badoo и Одноклассники.[2]

В июне 2014 года исследователи из Политехнического института Коимбры и Университета Коимбры (Португалия) провели первый официальный независимый тест производительности систем NoSQL, которые включали в том числе и Tarantool. Испытания использовали стандартный YCSB-тест, а конкуренцию Tarantool составляли другие системы NoSQL: Cassandra, HBase, Oracle NoSQL (англ.), Redis, Voldemort (англ.), Scalaris, Elasticsearch, MongoDB и OrientDB.[3]

В 2018 году руководитель команды разработки ядра Tarantool Константин Осипов стал лауреатом премии HighLoad++ Awards.[4] В сентябре 2019 года он покинул команду проекта в Mail.ru, создав собственную ветку разработки.[5]

Примечания

[править | править код]
  1. NoSQL matters Cologne 2013 Day2 Track3 05 Konstantin Osipov. Дата обращения: 18 мая 2018. Архивировано 12 марта 2017 года.
  2. Tarantool в Badoo: хранение истории посещений. Доклад Антона Поварова на Tarantool Meetup. Дата обращения: 18 мая 2018. Архивировано 19 апреля 2021 года.
  3. Архивированная копия. Дата обращения: 18 мая 2018. Архивировано 16 мая 2018 года.
  4. HighLoad++ Awards: награда, которую деплоили, деплоили и наконец задеплоили. habr.com. Дата обращения: 10 декабря 2018. Архивировано 9 декабря 2018 года.
  5. Главный архитектор СУБД Tarantool ушел из Mail.ru и заявил о «распаде команды». CNews.ru. Дата обращения: 1 января 2020. Архивировано 1 января 2020 года.