Архитектура разговоров / сообщений улья в Flutter

#flutter #dart #flutter-hive

Вопрос:

Я хотел бы использовать hive в своем приложении Flutter для локального сохранения разговоров и сообщений разговоров для текущего пользователя.

При этом я особенно хотел бы получить все сообщения для конкретного разговора.

Должен ли я создавать поля conversation_id с именем as для хранения сообщений ?
Если я прав, это создаст 1 файл на коробку, так правильно ли иметь для этого, возможно, сотни файлов ? Звучит ли это разумно ?

Каков был бы наилучший выход в этой ситуации ?

Пока у меня есть только два поля Messages , и Conversations , поскольку мы не можем «запрашивать», если я хочу загрузить сообщения для определенного разговора, мне нужно загрузить ВСЕ сообщения ВСЕХ разговоров, а затем отфильтровать в dart, что в конечном итоге может привести к Ouf Of Memory сбою.

Я протестировал его со 100 тысячами сообщений, чтобы получить ООМ, но, конечно, я вижу это в долгосрочной перспективе, так как пользователь не получит 100 тысяч сообщений в течение очень долгого времени, но в любом случае это улучшит производительность.

Заранее спасибо