Как сохранить данные чата? - PullRequest
4 голосов
/ 31 августа 2010

У меня есть любопытный вопрос ... Я хотел знать, как сохранить данные чата в базе данных. Я использую приложение php-mysql, которое хранит данные чата пользователей в базе данных.

Теперь мой вопрос заключается в том, что если данные чата увеличиваются, скажем, до нескольких миллионов записей, как их хранить? MySQL поддерживает это, или имеет какие-либо ограничения или бремя?

Возьмите пример чата Gmail. Я могу общаться без ограничений, а также могу восстановить все мои предыдущие данные чата. Как это возможно?

Кто-нибудь может ответить на этот типичный вопрос о моей?

Ответы [ 3 ]

5 голосов
/ 31 августа 2010

История чата не такая уж тяжелая.Если я вычислю около 100 байт на сообщение, 6 сообщений в минуту и ​​5 часов в день (хотя это очень разговорчивая болтовня), навсегда , в худшем случае, это даст около 61 МБ напользователь в год (!).Это означает, что с 1 миллионом разговорчивых собеседников ( очень непробиваемых) вам потребуется около 58 ТБ или хранилище данных.

Говоря, что это расчет в худшем случае, я бы начал с максимума1 ТБ хранилища, настройте базу данных и посмотрите, как идут дела.Очень молодой сервис очень быстро развивается так быстро.

Кроме того, я бы лично не рекомендовал использовать систему Windows для чего-то подобного, если вы не очень хорошо знаете, что делаете.MySQL в дистрибутиве Debian будет хранить миллиарды записей и, вероятно, сделает это быстрее из-за меньших ограничений на уровне ОС (подробности см. В документации MySQL, там должен быть раздел об ограничениях для Windows).

1 голос
/ 31 августа 2010

MySQL с радостью будет хранить миллионы, даже миллиарды записей;но некоторых числовых типов будет недостаточно: посмотрите максимумы числовых типов в этом .Как вы можете видеть, было бы лучше использовать BIGINT UNSIGNED для, например, автоинкрементных полей.

Производительность может стать проблемой для больших таблиц, но это в основном можно решить с помощью индексов (что означает «Я видел производительностьуменьшить где-то около отметки 100 ГБ в аналогичной ситуации ").

0 голосов
/ 31 августа 2010

У Google есть огромное количество пользовательских хранилищ, разработанных для его требований.Я предлагаю вам более конкретно определить свои требования и определить нужную платформу.

...