Тарантоол - Tarantool
Оригинальный автор (ы) | Mail.Ru Group |
---|---|
изначальный выпуск | 2008 |
Стабильный выпуск | 2.4.2 / 17 июля 2020 г. |
Репозиторий | |
Написано в | C |
Операционная система | Linux, FreeBSD, macOS |
Доступно в | английский |
Тип | NoSQL |
Лицензия | Упрощенный BSD |
Интернет сайт | www |
Тарантоол является Открытый исходный код NoSQL система управления базами данных и Lua сервер приложений. Он поддерживает базы данных в памяти и обеспечивает устойчивость к сбоям с помощью ведение журнала с упреждающей записью. Он включает в себя интерпретатор Lua и интерактивную консоль, но также принимает соединения от программ на нескольких других языках.
История
Mail.Ru, одна из крупнейших интернет-компаний России, запустила проект в 2008 году в рамках развития социальной сети «Мой мир». В 2010 году на должность руководителя проекта наняли бывшего технического руководителя из MySQL. Участники с открытым исходным кодом были активны, особенно в области коннекторов внешних языков для C, Perl, PHP, Python, Рубин, и node.js
Tarantool стал частью магистрали Mail.Ru, используемой для динамического контента, такого как сеансы пользователей, неотправленные мгновенные сообщения, очереди задач и уровень кеширования для традиционных реляционных баз данных, таких как MySQL или PostgreSQL.[1][2]
К 2014 году Tarantool также внедрили сервисы социальных сетей. Badoo и Одноклассники (последний аффилирован с Mail.Ru с 2010 года).[3][4]
Характеристики
Все данные хранятся в памяти (RAM), при этом постоянство данных обеспечивается ведение журнала с упреждающей записью и снимок, и по этим причинам некоторые отраслевые обозреватели сравнили Tarantool с Membase.[5] Репликация является асинхронной, и переключение на резерв (переключение одного сервера Tarantool на другой) возможно либо с сервера-реплики, либо с сервера «горячего резерва».
Замков нет. Tarantool использует сопрограммы в стиле Lua и асинхронный ввод / вывод. В результате прикладные программы или хранимые процедуры должны быть написаны с использованием совместная многозадачность в виду, а не более популярную вытесняющую многозадачность.
Для хранения базы данных основной единицей является кортеж. Кортежи в наборах кортежей выполняют ту же роль, что и строки в таблицах для реляционных баз данных, но кортежи имеют произвольное количество полей, а имена полей не требуются. Каждый кортеж в базе данных имеет один (уникальный не нулевой) первичный ключ и один или несколько вторичных ключей, которые доступны для немедленного поиска через индексы. Поддерживаемые типы индексов: B-дерево, хэш, растровое изображение и R-дерево (пространственный). Поля в кортеже не зависят от типа или могут иметь определенные числовые или строковые типы данных. Пользователи могут вставлять, обновлять, удалять или выбирать, если им предоставлены соответствующие привилегии.[6]
Tarantool в 2017 году представил опциональную дисковую механизм хранения что позволяет базам данных больше, чем размер памяти. [7]
Tarantool в 2019 году представил дополнительный SQL интерфейс, который соответствует большинству обязательных функций официального стандарта SQL.[8]
Распределение
Tarantool входит в состав официальных дистрибутивов некоторых дистрибутивов Linux, таких как Debian, Fedora или же Ubuntu.[9][10][11] Организация Tarantool также предоставляет загрузки для других дистрибутивов Linux, OS X и FreeBSD. Tarantool можно расширять модулями, установленными с помощью LuaRocks, и он включает в себя собственный выбор пород расширения.[12]
Рекомендации
- ^ Горный, Александр. «Tarantool 1.6: NoSQL база данных и сервер приложений в одном флаконе». Mail.Ru Group.
- ^ Осипов, Константин. "Постоянные очереди в памяти Tarantool". NoSQL имеет значение.
- ^ Поваров, Антон. "Tarantool в Badoo: хранение истории посещений". Badoo Development.
- ^ «DST завершает покупку Odnoklassniki.ru, выходит из Nasza-Klasa.pl». TechCrunch. 31 августа 2010 г.
- ^ Попеску, Алекс; Бакалу, Ана-Мария. «Tarantool / Silverbox: еще одно хранилище ключей в памяти от Mail.Ru». MyNoSQL.
- ^ «Руководство пользователя Tarantool».
- ^ «Хранение данных с помощью винила». Tarantool.
- ^ «Руководство пользователя / SQL». Tarantool.
- ^ «Пакет: Tarantool». Debian.
- ^ «Пакет: база данных tarantool в памяти с сервером приложений Lua». Fedora.
- ^ «Пакет: база данных tarantool в памяти с сервером приложений Lua». Ubuntu.
- ^ "Тарантуловые скалы". Тарантоол. Получено 30 декабря 2016.