Хороший дизайн базы данных для хранения данных по дате - PullRequest
0 голосов
/ 18 мая 2019

Я хочу создать приложение для управления капиталом, цель состоит в том, чтобы отслеживать расходы и доходы, я не уверен, как спроектировать базу данных, я должен поместить все transactions в один и тот же путь или использовать приведенный ниже пример?

screenshot

Этот подход эффективен, потому что я легко могу определить, какие данные извлечь из БД, например, в этом году, проверяя путь между 20190101 и 20191231.

В прошлом месяце будет 20190401 / 20190428, недостатком является то, что в некоторых месяцах нет точного количества дней, но я не верю, что это вызовет проблему, номер пути всегда будет ниже 31.

Он добавляет еще один узел из-за уникального идентификатора, поэтому на стороне клиента данные будут вложены два раза для выполнения сложных вычислений.

Как я могу легко найти некоторые данные, основанные на дате? Я думаю, что это самый важный параметр в этом приложении, если мне нужно собрать 10000 транзакций, чтобы найти изменение за последний месяц или баланс текущей недели, что означает, что немногие пользователи могут потреблять много ресурсов, я уверен, что это быстро, я пробовал, но это плохая производительность. Я ищу что-то, что может масштабироваться без большой загрузки ресурсов.

PS: это Firebase, база данных NOSQL. Есть несколько кошельков, мне, вероятно, понадобится текущий общий баланс или общее изменение в какой-то момент. У каждой транзакции есть категория.

1 Ответ

0 голосов
/ 24 мая 2019

Я закончил, используя подход, продемонстрированный в приведенном выше вопросе, он очень надежный и прекрасно работает даже с NOSQL.Реализация отношений между узлами была бы сложной задачей, но мы посмотрим, как это будет происходить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...