powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / My SQL нормальная форма
25 сообщений из 39, страница 1 из 2
My SQL нормальная форма
    #38562230
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача создать чат между юзерами. My SQL.
Создаю 2 таблицы messages , users .
users : Список юзеров
messages : Сообщения между юзерами.

Выходит что таблица messages в случае большой нагрузки будет ОГРОМНОЙ (все сообщения между юзерами будут в ней)
Я чувствую что в структуре ошибка! Может есть решение, как правильней организовать структуру базы данных для этой задачи (чат между юзерами).
Не создавать же новую таблицу сообщений для каждого нового юзера.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562234
Urukhayy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По ключу привязывать все данные между таблицами. Включая ID юзеров и их сообщения.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562235
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я согласен, если юзеров 1000 (или больше) и все активные, на таблицу messages будет неимоверная нагрузка.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562300
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клиенты чата обычно хранят историю переписки локально, так что на таблицу messages нагрузка будет исключительно write-only. Если каждый из тысячи пользователей будет посылать одно сообщение в секунду (что, с учётом скорости набора на клавиатуре означает сообщение из одного слова), то в таблицу будет идти вставка на скорости 1000 записей в секунду. "Неимоверной" такая нагрузка может называться только в случае если сервер крутится на какой-нибудь мобиле.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562332
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovКлиенты чата обычно хранят историю переписки локально
Если не трудно в общих чертах как это.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562340
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDD,

Ничего не надо делать, структура нормальная. Если таблица будет большой, то тут ничего не сделаешь, и ничего плохого в этом тоже нет.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562344
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivFantasyDD,
Ничего не надо делать, структура нормальная. Если таблица будет большой, то тут ничего не сделаешь, и ничего плохого в этом тоже нет.

Просто у меня была подобная ситуация только с Firebird шли транзакции в одну (Все было в ней) таблицу с ~50 клиентов. Таблица за 2 дня раздувалась до пол гигобайта и начинала жутко тормозить. Я понимаю не оптимизировано. НО все равно страшно.
Может для каждого юзера папка и историю хранить там в файле. В xml, JSON, или что-то подобное.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562376
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень хотелось бы услышать мнение.
Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"
На сколько это безопасно и на что ляжет нагрузка на сервере.
Правильное ли решение на ваш взгляд?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562420
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDMasterZivFantasyDD,
Ничего не надо делать, структура нормальная. Если таблица будет большой, то тут ничего не сделаешь, и ничего плохого в этом тоже нет.

Просто у меня была подобная ситуация только с Firebird шли транзакции в одну (Все было в ней) таблицу с ~50 клиентов. Таблица за 2 дня раздувалась до пол гигобайта и начинала жутко тормозить. Я понимаю не оптимизировано. НО все равно страшно.
Может для каждого юзера папка и историю хранить там в файле. В xml, JSON, или что-то подобное.

Таблицы меряют в количестве записей. Сколько записей у тебя было в старой и предполагается в новой бд?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562422
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDОчень хотелось бы услышать мнение.
Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"
На сколько это безопасно и на что ляжет нагрузка на сервере.
Правильное ли решение на ваш взгляд?

Идиотское.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562428
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDЕсли основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"А какая связь между MySQL и Sqlite ? Зачем использовать две СУБД ?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562429
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivFantasyDDОчень хотелось бы услышать мнение.
Если основную таблицу юзеров хранить в MySQL базе и для каждого юзера создавать папку в ней хранить переписку в Sqlite файле "sqlite_open()"
На сколько это безопасно и на что ляжет нагрузка на сервере.
Правильное ли решение на ваш взгляд?
Идиотское.
Обоснуйте ответ.
Мое решение имеет основание.
1) В таком решении оптимизация не нужна. (дефрагментация.... базы )
2) Выдержит практически любое количество юзеров.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562430
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDMasterZivпропущено...

Идиотское.
Обоснуйте ответ.
Мое решение имеет основание.
1) В таком решении оптимизация не нужна. (дефрагментация.... базы )
2) Выдержит практически любые количество юзеров.


Я тебе задал вопросы.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562441
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,
А какая связь между MySQL и Sqlite ? Зачем использовать две СУБД ?
Я не очень разбираюсь в том что происходит по капотом у MySQL но постоянные транзакции к одной таблице я думаю будут сильно фрагментировать файл таблицы.
Если создавать для каждого юзера свою таблицу. может стработать ограничение на юниксе (~ 11 000 одновременно открытых файлов)

А так по любому персональные файлы фото... будут хранится в одноименной папке юзера, почему бы не сохранить там диалоги. Файл гарантировано не будет фрагментирован. Появляется возможность легко удалить юзера. И в общих чертах все выглядит понятно.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562456
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv, Я тебе задал вопросы.
Я ответил ели одна база то я буду вносить изменения в (большой возможно и 1G файл)
А если две базы то я вношу за сессию изменения в несколько маленьких (думаю до 1М)
В чем глупость?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562466
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDD,

Сообщи размеры таблиц, бывший и предполагаемый. В количестве записей.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562469
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivFantasyDD,

Сообщи размеры таблиц, бывший и предполагаемый. В количестве записей.

В лучшем стечении обстоятельств (не нужно исключать что повезет) mamba.ru
Аудитория проекта превысила 9 500 000 человек, более 60 000 пользователей единовременно находится онлайн
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562542
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDD,

Я спрашивал про размеры таблиц, а не кол-во пользователей.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562544
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDЯ не очень разбираюсь в том что происходит по капотом у MySQL но постоянные транзакции к одной таблице я думаю будут сильно фрагментировать файл таблицы.


Если ты не очень разбираешься, то может не нужно фантазировать на тему "как будет лучше работать" ?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562823
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv Может не стоит фантазировать на тему как мне дать замечание и терять зря свое время на бесполезный фулд.
А если есть свое мнение высказаться конкретно по теме.
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562844
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDМожет не стоит фантазировать на темуВам именно это и посоветовали.
FantasyDDвысказаться конкретно по теметак ответьте уже на его вопрос, неоднократно заданный, кстати:MasterZivЯ спрашивал про размеры таблиц, а не кол-во пользователей
MasterZivТаблицы меряют в количестве записей. Сколько записей у тебя было в старой и предполагается в новой бд?
PS. И с чего вы взяли, что склайт-базёнки не будут фрагментироваться, если уж начать бредить в этом направлении?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562867
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDMasterZivпропущено...

Идиотское.
Обоснуйте ответ.
Мое решение имеет основание.
1) В таком решении оптимизация не нужна. (дефрагментация.... базы )
2) Выдержит практически любое количество юзеров.
Обосновываю.

Берём два утверждения.

FantasyDDюзеров 1000 (или больше) и все активные
FantasyDDдля каждого юзера создавать папку в ней хранить переписку в Sqlite файле

Итог - несчастный SQLite жуёт 1к несвязанных баз, ему катастрофически нехватает ресурсов (в первую очередь памяти), хост неимоверно свопит, чат не отвечает, юзеры в тыщу глоток портят карму (censored) "архитектора"...
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562876
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantasyDDMasterZiv Может не стоит фантазировать на тему как мне дать замечание и терять зря свое время на бесполезный фулд.
А если есть свое мнение высказаться конкретно по теме.


Феерично....
Не, ну хотел помочь человеку...
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38562956
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv С удовольствием выслушал бы ваше мнение. (Мнение профессионала)
Но не то что я зря теряю время и что мне не надо делать то что я не умею или не знаю.
Какое решение вы предлагаете? В чем будут проблемы в той структуре что я предложил (2 базы).
Где ждать подводные камни в этом решении?
...
Рейтинг: 0 / 0
My SQL нормальная форма
    #38563054
FantasyDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И с чего вы взяли, что склайт-базёнки не будут фрагментироваться, если уж начать бредить в этом направлении?

В одном фале последовательно сложить 500 текстовых сообщений, не удаляя нечего. Где фрагментация? В чем бред?
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / My SQL нормальная форма
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]