Tarantool/Silverbox
efficient in-memory storage
Юрий Востриков, Mail.Ru
26 октября 2010, HighLoad++
Высоконагруженные плоские таблицы
Примеры
sessions
passwd
Характерные особенности
select only by (primary) key
no joins
no complex wheres, no aggregates
sizeof(data) < 256B
высокая доступность
Скорость разных типов памяти
Tape is dead, disk is tape, RAM is disk.
Задержка произвольного доступа
RAM — 25 ns
HDD — 8’000’000 ns
Пропускная способность последовательного доступа
RAM — 6’400 MB/s
HDD — 170 MB/s
The Answer
Tarantool — framework
In-memory storage
Network IO
Persistence facilities
Hot Standby/Replication
SilverBox — Key-Value storage
Tuple storage
Native binary protocol
Memcached protocol emulation
Устройство SLAB аллокатора
Высокая скорость
Рассчитан на хранение множества мелких объектов
Низкие накладные расходы
Отсутствие внешней фрагментации
meta
alloc
free
. . .
free list
“phantom” pointers
4MB
Массаракш: код наизнанку
FSM, libev only
read1
read2
process
write1
loop
Fiber, libev+libcoro
read1
read2
process
write1
loop
Persistance
WAL
read
prepare
commit/rollback
reply
writer
Snapshot
main process
child
HDD
fork
Запись строго последовательная
Copy on Write
Hot Standby
Local
port
master beholder
Zero downtime апгрейд
Remote/Log Streaming
master replica1
replica2
Readonly реплики на
удаленных серверах
IProto/Silverbox binary protocol
async safe: каждый запрос маркирован sync числом
tuple storage
< key1, value1, key2, value2, . . . , valuen >
атомарные операции: +/−, and, or, xor
namespaces
индексы — u32 или string
несколько индексов в одном namespace
Эмуляция memcached
нет evictions
expire — отложенный, с помощью background fiber
Производительность
latency
цена сискола
пропускная способность дисков невелика
1 KB × 100000 rps = 1MB × 100rps = 100 MB/sec
u32 в два раза быстрее string key
Что дальше?
новый формат WAL
расширенная версия бинарного протокола
Lua
Эмуляция протокола redis
Open Source
http://opensource.mail.ru/
http://github.com/mailru/
opensource@corp.mail.ru
Спасибо!
Вопросы?

More Related Content

PDF
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...
PDF
Хранение данных на виниле / Константин Осипов (tarantool.org)
PDF
Механика DDoS (Александр Крижановский)
ODP
Red Hat Storage 3.0
PPTX
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
PDF
Kirill A Korinskiy Rit2010 No Sql Storage
PPTX
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
PPTX
Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...
Хранение данных на виниле / Константин Осипов (tarantool.org)
Механика DDoS (Александр Крижановский)
Red Hat Storage 3.0
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
Kirill A Korinskiy Rit2010 No Sql Storage
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)

What's hot (20)

PDF
Контейнерная виртуализация. Золушка в облаках
PDF
Обзор архитектуры [файловой] системы Ceph
PDF
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
PDF
Обзор файловой системы GlusterFS
PPTX
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
PPT
Распределенное хранилище Ceph. Обзор и практические способы использования
PDF
FreeBSD 2009 — живее всех живых
PDF
Containers in real world презентация
PDF
Обзор Btrfs
ODP
Ubuntu и другие OpenSource-продукты в компании «Яндекс»
PDF
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
PPTX
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
PDF
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
PPTX
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
PPTX
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
PPTX
Совместимы ли понятия SDS и производительность?
PPTX
HighLoad весна 2014 лекция 6
PDF
HighLoad весна 2014 лекция 5
PPT
Организация хранилища с Vast sky (Дмитрий Лоханский)
PPTX
HighLoad весна 2014 лекция 2
Контейнерная виртуализация. Золушка в облаках
Обзор архитектуры [файловой] системы Ceph
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
Обзор файловой системы GlusterFS
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Распределенное хранилище Ceph. Обзор и практические способы использования
FreeBSD 2009 — живее всех живых
Containers in real world презентация
Обзор Btrfs
Ubuntu и другие OpenSource-продукты в компании «Яндекс»
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
Совместимы ли понятия SDS и производительность?
HighLoad весна 2014 лекция 6
HighLoad весна 2014 лекция 5
Организация хранилища с Vast sky (Дмитрий Лоханский)
HighLoad весна 2014 лекция 2
Ad

Viewers also liked (20)

ODP
LinuxCon 2011: OpenVZ and Linux Kernel Testing
PDF
Containers in a File
PPTX
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
PPTX
Обратные фьючерсы в биткойнах
PDF
HaltDos DDoS Protection Solution
PDF
Skyforge rendering tech (KRI 2014)
PDF
Query expansion
PPTX
SSL/TLS: история уязвимостей
PDF
PyconRu 2016. Осторожно, DSL!
PDF
Электронная коммерция: от Hadoop к Spark Scala
PPTX
Parallels #RIW/16 Новые разработки от идеи до релиза
PDF
Решение суда о запрете сайтов о Bitcoin
PPTX
проект "РосПил". Отчет за 2011-2012 гг.
PDF
Value Objects, Full Throttle (to be updated for spring TC39 meetings)
PDF
Keynote, PNW Scala 2013
PDF
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
PDF
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
PDF
#MBLTdev: Современная аутентификация (PayPal)
PPTX
#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...
PPTX
Php internal architecture
LinuxCon 2011: OpenVZ and Linux Kernel Testing
Containers in a File
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Обратные фьючерсы в биткойнах
HaltDos DDoS Protection Solution
Skyforge rendering tech (KRI 2014)
Query expansion
SSL/TLS: история уязвимостей
PyconRu 2016. Осторожно, DSL!
Электронная коммерция: от Hadoop к Spark Scala
Parallels #RIW/16 Новые разработки от идеи до релиза
Решение суда о запрете сайтов о Bitcoin
проект "РосПил". Отчет за 2011-2012 гг.
Value Objects, Full Throttle (to be updated for spring TC39 meetings)
Keynote, PNW Scala 2013
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Современная аутентификация (PayPal)
#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...
Php internal architecture
Ad

Similar to Tarantool Silverbox, Юрий Востриков (7)

PPTX
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
PDF
Tarantool 1.6: NoSQL database and application server
PPTX
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
PDF
РИФ 2016, Tarantool – кейсы использования
PDF
Tarantool/Silverbox (Юрий Востриков)
PPTX
Tarantool
PPTX
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
Tarantool 1.6: NoSQL database and application server
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
РИФ 2016, Tarantool – кейсы использования
Tarantool/Silverbox (Юрий Востриков)
Tarantool
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...

More from Fuenteovejuna (20)

PDF
Facebook, Robert Johnson
PPT
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
PPTX
Shared Personalization Service - How To Scale to 15K RPS, Patrice Pelland
PPT
Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...
PPT
Практическое создание крупного масштабируемого web 20 c нуля, Дмитрий Бородин
PPTX
Social Monitoring Tool codename Looking Glass, Patrice Pelland
PDF
Профилирование памяти в приложениях на Python, Антон Грицай
PDF
Компиляция скриптов PHP. Алексей Романенко
PPTX
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
PPTX
Использование 0MQ для построения low latency распределёных систем, Андрей Охл...
PDF
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
PDF
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
PPTX
Динамика DDoS-атак в России, Александр Лямин
PPTX
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
PDF
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
PDF
Мониторинг XXI-век, Алиса Смирнова, Дима Никоненко
PDF
Native Client, Евгений Эльцин
PDF
Real time indexes in Sphinx, Yaroslav Vorozhko
PDF
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
PPT
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей Нековаль
Facebook, Robert Johnson
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Shared Personalization Service - How To Scale to 15K RPS, Patrice Pelland
Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...
Практическое создание крупного масштабируемого web 20 c нуля, Дмитрий Бородин
Social Monitoring Tool codename Looking Glass, Patrice Pelland
Профилирование памяти в приложениях на Python, Антон Грицай
Компиляция скриптов PHP. Алексей Романенко
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
Использование 0MQ для построения low latency распределёных систем, Андрей Охл...
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Динамика DDoS-атак в России, Александр Лямин
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Мониторинг XXI-век, Алиса Смирнова, Дима Никоненко
Native Client, Евгений Эльцин
Real time indexes in Sphinx, Yaroslav Vorozhko
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей Нековаль

Tarantool Silverbox, Юрий Востриков