Tarantool: NoSQL СУБД для “быстрых” данных

advertisement
02 октября 2015 г., Москва
Конференция «Автоматика 2.0»
Tarantool: NoSQL СУБД для “быстрых” данных
Konstantin Osipov,
kostja@tarantool.org
http://try.tarantool.org
Tarantool как СУБД (1)
… или о том, как всё начиналось...
●
уникальное сочетание возможностей среди СУБД с
открытым исходным кодом:
➢
100% данных в оперативной памяти
➢
поддержка транзакций
➢
master-master репликация
= низкое время отклика + отказоустойчивость
Tarantool как СУБД (2)
●
современная архитектура
➢
➢
➢
гибкая модель данных на основе формата MsgPack
структуры данных оптимизированы для L1/L2 кэшей
отсутствие внутренних блокировок
Tarantool как СУБД (3)
●
Открытый исходный код и расширяемость
➢
➢
➢
➢
Открытое API индексации
Несколько подсистем хранения
Триггеры на события БД: новые соединения, изменения
данных
Поддержка внешней авторизации
Tarantool как сервер приложений
●
Свобода выбора архитектуры приложения:
➢
➢
➢
➢
Выполнение кода на стороне сервера
Зелёные потоки
Мгновенные запросы к БД из хранимых процедур
Скрипты для старта сервера
Tarantool как сервер приложений (2)
●
Простота и компактность реализации:
➢
➢
➢
➢
➢
libcoro, libeio, libevent, LuaJIT 2.0 FFI
ядро - 170k SLOC
множество расширений в виде модулей Lua
9 MB бинарный файл с debug info (2.2 MB stripped)
минимальные требования к памяти - 64 MB
Поддерживаемые платформы
●
ОС: Linux, FreeBSD, Mac
●
Hardware: i32/i64, Intel Atom,
ARM (начиная с 1.7)
Tarantool как сервер приложений (3)
●
Инструментарий, а не книга рецептов
➢
➢
➢
require('fiber'), require('ipc'), require('socket'),
json, yaml, msgpack, digest (md5, sha, etc) on board
net.tarantool, net.mysql, net.postgresql
Внешние модули: http, queued, memcached, expirationd, ...
Lua all the way down
Роль Tarantool в Internet of Things
●
координация взаимодейстующих устройств
●
нормализация и хранение данных
●
обработка событий и сообщений
Сообщество (1)
●
free as in freedom
лицензия BSD
➢ 100% открытость: нет платных расшширений
➢ http://github.com/tarantool
… разработка спонсируется Mail.Ru Group, Avito
➢
Сообщество (2)
●
Множество внедрений в Mail.Ru Group:
➢
замена memcache, redis, beanstalkd
= smart stateful first tier of the cloud
●
Badoo: хранение истории посещений
●
Sberbank Digital Ventures: определение фрода
●
Avito: поведенческий таргетинг
●
Wallarm: анализ взломов
●
NowTaxi: платформа резервирования и маршрутизации такси
Сообщество (3)
●
#tarantool at irc.freenode.net
●
tarantool@googlegroups.com
●
Онлайн-демо на http://try.tarantool.org
Вопросы?
Download