6. Redis
• Данные в оперативной
памяти
• Хранение данных на диске
• Типы данных:
строки, числа, списки, хэши
• Выборка множества ключей
• Атомарность операций
• Динамическое потребение
памяти
10. Couchbase
• Объединение узлов
через VPN приводит к
потере данных
• Для работы в режиме
кластера каждый
клиент должен видеть
все узлы
11. Handler Socket Plugin
• Все плюсы MySQL
(репликации, работа с
данными через
ActiveRecord)
• Отсуствие парсинга SQL
запросов
• Скорость работы
12. Handler Socket Plugin
• Невозможность сборки
под некоторые версии
MySQL
• Несовместимость
пакетов в
репозиториях Ubuntu
• Проблемы при
компиляции
13. Выводы
• Redis – отлично подходит для проектов с
простой сетевой архитектурой.
• Couchbase – Хорошо подходит для создания
кластера данных, но ограничен в плане
работы с ключами.
• Handler Socket – отлично подходит для
существующего MySQLрешения
Я хочу расказать вам историю внедрение и смены нескольких NoSql хранилищ а так же об опыте реально их использвоания на продакшен серверах.
Перед нами встала задача порадовать наших клиентов красивыми отчетами о продажах.У каждого клиента есть магазины в системе, по магазина есть платежи. И все они в разной валюте. На тестовой базе все здорово – Графики красивые, отрисовка быстрая.В боевых услових печалька, чем крупней клиент тем печальнее выглядел его вход в систему.
Проблему надо было решать, и решать быстро поэтому первый метод был естественно – эволюционный, мы попытались улутшить скорость отрисовки средствами mysqlи Rails.
Скорость обработки выросла в 2 раза, но данный метод все равно был ограничен, ибо если клиент будет работать еще эффективней и заведет большее колчество магазинов ты мы получаем арифметическую прогресссию. Поэтому мы решили координальнос менить подход.
Обращение к чужому опыту показало, что большая часть времени при выборке из mysql базы данных по первичному ключу уходит на сам парсинг SQL запроса. Поэтмоу для подобных здач иделаьно подходят NoSQLрешения.
В результате анализа в качестве инструмента был выбран Redis.В жизненных условиях редас был разогнан до 20 000 оперция чтения записи в секунду. Никаких особоых нагрузок на камень и память не оказывал.Подкупил удобный руби клиент, реализованные методы работы с разными типами данных, очень удобно хранить массивы.Массовая выборка/удаление ключей по маске.
Что же произошло, 2 редис сервера работали в режиме мастер слэв. Мастер сервер должен был переехать на более производительную
Был развернут 2ой дата центр, полностью изолированный от первого. MySqlрепликация мастер мастер по выделенному VPN каналу. Репликация редиса нам не подходила и мы были вынуждены искать новое решение.