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