
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.02.2014, 14:22:45
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
Задача создать чат между юзерами. My SQL. Создаю 2 таблицы messages , users . users : Список юзеров messages : Сообщения между юзерами. Выходит что таблица messages в случае большой нагрузки будет ОГРОМНОЙ (все сообщения между юзерами будут в ней) Я чувствую что в структуре ошибка! Может есть решение, как правильней организовать структуру базы данных для этой задачи (чат между юзерами). Не создавать же новую таблицу сообщений для каждого нового юзера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 14:29:57
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
По ключу привязывать все данные между таблицами. Включая ID юзеров и их сообщения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 14:33:09
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
Я согласен, если юзеров 1000 (или больше) и все активные, на таблицу messages будет неимоверная нагрузка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 16:24:32
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
Клиенты чата обычно хранят историю переписки локально, так что на таблицу messages нагрузка будет исключительно write-only. Если каждый из тысячи пользователей будет посылать одно сообщение в секунду (что, с учётом скорости набора на клавиатуре означает сообщение из одного слова), то в таблицу будет идти вставка на скорости 1000 записей в секунду. "Неимоверной" такая нагрузка может называться только в случае если сервер крутится на какой-нибудь мобиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 17:10:43
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
Dimitry SibiryakovКлиенты чата обычно хранят историю переписки локально Если не трудно в общих чертах как это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 17:20:08
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDD, Ничего не надо делать, структура нормальная. Если таблица будет большой, то тут ничего не сделаешь, и ничего плохого в этом тоже нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 17:29:28
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
MasterZivFantasyDD, Ничего не надо делать, структура нормальная. Если таблица будет большой, то тут ничего не сделаешь, и ничего плохого в этом тоже нет. Просто у меня была подобная ситуация только с Firebird шли транзакции в одну (Все было в ней) таблицу с ~50 клиентов. Таблица за 2 дня раздувалась до пол гигобайта и начинала жутко тормозить. Я понимаю не оптимизировано. НО все равно страшно. Может для каждого юзера папка и историю хранить там в файле. В xml, JSON, или что-то подобное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 18:20:11
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
Очень хотелось бы услышать мнение. Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()" На сколько это безопасно и на что ляжет нагрузка на сервере. Правильное ли решение на ваш взгляд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 19:36:08
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDDMasterZivFantasyDD, Ничего не надо делать, структура нормальная. Если таблица будет большой, то тут ничего не сделаешь, и ничего плохого в этом тоже нет. Просто у меня была подобная ситуация только с Firebird шли транзакции в одну (Все было в ней) таблицу с ~50 клиентов. Таблица за 2 дня раздувалась до пол гигобайта и начинала жутко тормозить. Я понимаю не оптимизировано. НО все равно страшно. Может для каждого юзера папка и историю хранить там в файле. В xml, JSON, или что-то подобное. Таблицы меряют в количестве записей. Сколько записей у тебя было в старой и предполагается в новой бд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 19:36:56
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDDОчень хотелось бы услышать мнение. Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()" На сколько это безопасно и на что ляжет нагрузка на сервере. Правильное ли решение на ваш взгляд? Идиотское. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 19:40:41
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDDЕсли основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"А какая связь между MySQL и Sqlite ? Зачем использовать две СУБД ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 19:43:33
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
MasterZivFantasyDDОчень хотелось бы услышать мнение. Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()" На сколько это безопасно и на что ляжет нагрузка на сервере. Правильное ли решение на ваш взгляд? Идиотское. Обоснуйте ответ. Мое решение имеет основание. 1) В таком решении оптимизация не нужна. (дефрагментация.... базы ) 2) Выдержит практически любое количество юзеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 19:45:17
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDDMasterZivпропущено... Идиотское. Обоснуйте ответ. Мое решение имеет основание. 1) В таком решении оптимизация не нужна. (дефрагментация.... базы ) 2) Выдержит практически любые количество юзеров. Я тебе задал вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 19:59:23
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
MasterZiv, А какая связь между MySQL и Sqlite ? Зачем использовать две СУБД ? Я не очень разбираюсь в том что происходит по капотом у MySQL но постоянные транзакции к одной таблице я думаю будут сильно фрагментировать файл таблицы. Если создавать для каждого юзера свою таблицу. может стработать ограничение на юниксе (~ 11 000 одновременно открытых файлов) А так по любому персональные файлы фото... будут хранится в одноименной папке юзера, почему бы не сохранить там диалоги. Файл гарантировано не будет фрагментирован. Появляется возможность легко удалить юзера. И в общих чертах все выглядит понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 20:22:51
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
MasterZiv, Я тебе задал вопросы. Я ответил ели одна база то я буду вносить изменения в (большой возможно и 1G файл) А если две базы то я вношу за сессию изменения в несколько маленьких (думаю до 1М) В чем глупость? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 20:57:54
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDD, Сообщи размеры таблиц, бывший и предполагаемый. В количестве записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2014, 21:05:30
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
MasterZivFantasyDD, Сообщи размеры таблиц, бывший и предполагаемый. В количестве записей. В лучшем стечении обстоятельств (не нужно исключать что повезет) mamba.ru Аудитория проекта превысила 9 500 000 человек, более 60 000 пользователей единовременно находится онлайн ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2014, 00:12:33
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDD, Я спрашивал про размеры таблиц, а не кол-во пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2014, 00:15:00
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDDЯ не очень разбираюсь в том что происходит по капотом у MySQL но постоянные транзакции к одной таблице я думаю будут сильно фрагментировать файл таблицы. Если ты не очень разбираешься, то может не нужно фантазировать на тему "как будет лучше работать" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2014, 12:35:09
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
MasterZiv Может не стоит фантазировать на тему как мне дать замечание и терять зря свое время на бесполезный фулд. А если есть свое мнение высказаться конкретно по теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2014, 12:52:27
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDDМожет не стоит фантазировать на темуВам именно это и посоветовали. FantasyDDвысказаться конкретно по теметак ответьте уже на его вопрос, неоднократно заданный, кстати:MasterZivЯ спрашивал про размеры таблиц, а не кол-во пользователей MasterZivТаблицы меряют в количестве записей. Сколько записей у тебя было в старой и предполагается в новой бд? PS. И с чего вы взяли, что склайт-базёнки не будут фрагментироваться, если уж начать бредить в этом направлении? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2014, 13:09:01
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDDMasterZivпропущено... Идиотское. Обоснуйте ответ. Мое решение имеет основание. 1) В таком решении оптимизация не нужна. (дефрагментация.... базы ) 2) Выдержит практически любое количество юзеров. Обосновываю. Берём два утверждения. FantasyDDюзеров 1000 (или больше) и все активные FantasyDDдля каждого юзера создавать папку в ней хранить переписку в Sqlite файле Итог - несчастный SQLite жуёт 1к несвязанных баз, ему катастрофически нехватает ресурсов (в первую очередь памяти), хост неимоверно свопит, чат не отвечает, юзеры в тыщу глоток портят карму (censored) "архитектора"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2014, 13:13:21
|
|||
|---|---|---|---|
My SQL нормальная форма |
|||
|
#18+
FantasyDDMasterZiv Может не стоит фантазировать на тему как мне дать замечание и терять зря свое время на бесполезный фулд. А если есть свое мнение высказаться конкретно по теме. Феерично.... Не, ну хотел помочь человеку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2014, 13:46:21
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
MasterZiv С удовольствием выслушал бы ваше мнение. (Мнение профессионала) Но не то что я зря теряю время и что мне не надо делать то что я не умею или не знаю. Какое решение вы предлагаете? В чем будут проблемы в той структуре что я предложил (2 базы). Где ждать подводные камни в этом решении? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2014, 14:42:34
|
|||
|---|---|---|---|
|
|||
My SQL нормальная форма |
|||
|
#18+
И с чего вы взяли, что склайт-базёнки не будут фрагментироваться, если уж начать бредить в этом направлении? В одном фале последовательно сложить 500 текстовых сообщений, не удаляя нечего. Где фрагментация? В чем бред? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1835206]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 342ms |

| 0 / 0 |
