У меня есть стандартные таблицы, которые вы ожидаете, такие как «Комната», «Бронирование» и так далее. В настоящее время все находится в реляционной базе данных.
В таблице «Резервирование» хранятся такие элементы, как room_id, дата заезда и дата отъезда.
Теперь, проще говоря, при бронировании система сверяется с таблицей RoomPrice и получает зарезервированную стоимость каждой ночи (в зависимости от даты, занятости и т. Д.) - стоимость может быть разной для каждую ночь в зависимости от текущих цен.
Очевидно, что при бронировании цена каждой ночи является фиксированной. Таким образом, даже если цены на номера обновляются после факта, это бронирование остается по согласованной цене, как это было сделано до изменения цены.
У меня такой вопрос: как хранить эти индивидуальные, согласованные цены на каждую ночь при бронировании?
Я планирую использовать другую таблицу PriceForNight, в которой будут храниться идентификатор, цена и дата бронирования для каждой ночи бронирования.
Единственная возможная проблема, которую я вижу, это масштабируемость. Если средняя продолжительность бронирования составляет 5 ночей, это означает, что таблица PriceForNight будет расти примерно в 5 раз быстрее, чем таблица резервирования.
Будут ли лучше данные «PriceForNight» храниться в базе данных NoSQL или что-то подобное?
Еще один вариант, который рассматривается, заключается в сохранении цен на каждую ночь в виде строки с разделителями-запятыми в одном столбце также в строке таблицы «Резервирование», например: «150,00,175,00,175.00,200.00,150,00» для 5 Ночное бронирование.
Я мог бы обдумать это, поскольку реальная проблема могла бы существовать, только если бы она росла в 1000 раз быстрее, но мне нравится делать все правильно, поэтому я решила обратиться к сообществу.
Любой вклад приветствуется.