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

start [/forum/topic.php?fid=47&msg=38562420&tid=1835206]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 358ms |

| 0 / 0 |
