Название: БД для хранения сообщений Отправлено: evgenm27 от Май 22, 2018, 19:01 Доброго дня. Ребят, пилю чат на qt, нужно хранить всю историю сообщений, т.е. я нажимаю на имя человека и должна подтягиваться вся переписка в окно. Уперся в пару вопросов. Какую бд будет правильней выбрать для хранения сообщений с разными пользователями и из каких столбцов будет правильней построить таблицу, не подскажите?
Название: Re: БД для хранения сообщений Отправлено: RedDog от Май 22, 2018, 19:53 SQLite, если у каждого юзера своя история сообщений.
Одной таблицы хватит: ID юзера | Сообщение | InOut (true/false) Название: Re: БД для хранения сообщений Отправлено: vic57 от Май 22, 2018, 19:56 еще datetime добавить
Название: Re: БД для хранения сообщений Отправлено: Пантер от Май 22, 2018, 20:36 еще datetime добавить Лучше в unixtimeНазвание: Re: БД для хранения сообщений Отправлено: qate от Май 23, 2018, 11:50 SQLite, если у каждого юзера своя история сообщений. если чат имеет сервер, то лучше на сервере и хранить, а на клиента подтягивать бд конечно постгрес Название: Re: БД для хранения сообщений Отправлено: evgenm27 от Май 23, 2018, 17:45 Спасибо за советы. А если будет совсем уж длинная история сообщений, проблемы с пересылкой от сервера к клиенту могут возникнуть с целостностью или производительностью? Может альтернатива есть?
Название: Re: БД для хранения сообщений Отправлено: RedDog от Май 23, 2018, 18:54 А если будет совсем уж длинная история сообщений, проблемы с пересылкой от сервера к клиенту могут возникнуть с целостностью или производительностью? В крайнем случае можно сжать бинарные данные, перед высылкой в сеть.Название: Re: БД для хранения сообщений Отправлено: qate от Май 24, 2018, 08:27 Спасибо за советы. А если будет совсем уж длинная история сообщений, проблемы с пересылкой от сервера к клиенту могут возникнуть с целостностью или производительностью? Может альтернатива есть? взялся писать чат, и не посмотрел как уже сделано в telegram, skype и т.п. ? история там подгружается по мере надобности бери исходники телеграма - вот тебе и клиент уже есть, сервер только написать осталось или бери клиента и сервера jabber - все уже есть opensource Название: Re: БД для хранения сообщений Отправлено: evgenm27 от Май 24, 2018, 18:40 взялся писать чат, и не посмотрел как уже сделано в telegram, skype и т.п. ? история там подгружается по мере надобности бери исходники телеграма - вот тебе и клиент уже есть, сервер только написать осталось или бери клиента и сервера jabber - все уже есть opensource Название: Re: БД для хранения сообщений Отправлено: RedDog от Май 24, 2018, 19:22 У модели есть QAbstractItemModel::fetchMore(const QModelIndex &parent) можно из него сигналить на подтягивание данных (допустим 5-ти записей) с датой от parent-а и меньше.
|