gluck59
@gluck59
Виртуальный глюк

Ну и как теперь будем хранить чаты?

Вопрос много раз изжеванный, но время вносит свои коррективы. По новому законодательству, если на ресурсе используется user-generated-content, владелец обязан хранить его полгода. Это данность и она не обсуждается.

Сервачок так себе, слабенький. Некоммерческий проект, понтоваться из своего кармана дорого.
Движок на PHP+MySQL (в реальной жизни классика всегда выигрывает).
Главная InnoDB таблица чата содержит все строки в куче:
id // primary
id_channel // приватные или групповые каналы
id_from 
id_to // если канал приватный
text
timestamp

Доступ к нужным строкам — where "id_from | id_to", они оба в индексах.

Таблица заполняется в реалтайме аяксом, тут же обновляется текст чата на клиенте.
Юзеров — 10 000. Сколько текста они нагенерят за полгода — одному аллаху известно.
Нагрузочного тестирования пока не было — чат только-только прикручивается. Но что-то мне подсказывает, что тысячу одновременных хитов эта конструкция не выдержит, а их может быть и больше...

Что делать, бразы?
Делить таблицу на приватные/групповые?
Время от времени скидывать таблицу в архив?
...а эту тем временем держать в MEMORY?
Создавать таблицу-прокладку для скорейшего доступа?

Еще что-то упустил?
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы