Upload
ontico
View
2.274
Download
6
Embed Size (px)
DESCRIPTION
Citation preview
Tarantool: chats & comets
Константин Осипов
СУБД Tarantool: обзор• 100% данных в оперативной
памяти
• постоянная копия данных на диске
• гибкая модель данных
• есть репликация и бэкап
• хранимые процедуры на Lua
• memcached протокол и binary протокол
О чём этот доклад• о том, как сделать онлайн чат на Tarantool и Node.JS
• краткий обзор Tarantool
• возможности версии 1.4.4
• обзор 1.4.5
• описание системы дискового хранилища
Модель данных Tarantool• HASH, TREE индексы
• multipart, unique, non-unique индексы
• STRING, NUM, NUM64 типы
Tarantool: примерRedis Tarantool (Lua)
redis.set(key, value) box.insert(space, key, value)
redis.get(key) box.select(space, 0, key, value)
redis.getset(key, newkey) box.update(space, key, '=p', 0, newkey)
redis.incr(key) box.update(space, key, '+p', 1, 1)
redis.lpush(key, value) box.update(space, key, '!p', 1, value)
redis.rpush(key, value) You guess it...
Что нового в 1.4.4Скорость:
• 70+% ускорение INSERT, UPDATE, DELETE
• новый UPDATE O(n), n — количество полей → большие кортежи, быстро
• incremental rehash в HASH индексах
• более компактные TREE индексы
• hardware crc32 (Intel SSE 2.0)
Inc. Rehash: эффект
Память: 1 млн кортежей
Производительность
Что нового в 1.4.4 (2)Новые возможности:
• поддержка 64-бит чисел в Lua и индексах
• INSERT/DELETE/APPEND полей в кортеже
• .deb и .rpm пакеты
Tarantool в Debian “Sid”Спасибо Dmitry E. Oboukhov!
Мы ищем мейнтенеров дляSuSE и Fedora
It's going on in the kitchenНовые возможности 1.4.5:
• Darwin port (Mac OS X)
• HA кластер
• Транзакции
• множество улучшений текущих возможностей
• WebScale & DevNullScale
Планы на 1.5
• Дисковое хранилище
• Авторизация
• Master-master репликация
• Синхронная репликация
Disk store для хранения Comet
• Начало каждого кортежа хранится в памяти
• Хвост хранится в B-tree на диске, с использованием кэша
Преимущества:
• Гарантированное время ответа для актуальных данных
• Кэширование исторических данных
• В связке с nginx/node.js — система хранения чатов
Спасибо!