Я создаю модуль на сайте, который позволяет пользователям зарезервировать пространство на полчаса примерно в 10 разных местах. Они могут забронировать максимум шесть месяцев с текущей даты. Я пытаюсь выяснить, как наилучшим образом отслеживать, какие временные интервалы доступны для каждого места при создании оговорок.
Моя первоначальная логика заключалась в создании персонализированных метаданных сообщений (каждое пространство – это сообщение), так что, например, если пространство имеет 12 часов доступности в день, у него будет 24 сообщения мета-записей, каждый из которых будет структурирован так:
array( 'slot_1481258220' => //the slot's starting timestamp, prefixed array( 'slotStatus' => 'open', //open or filled 'slotUser' => 123, //ID of the user that reserved the slot 'ect' => //Other meta data as needed ) );
Но потом я подумал, сколько данных на самом деле есть, и я беспокоюсь о загромождении базы данных. Грубая математика, учитывая 10 пробелов, 12 часов в день, 7 дней в неделю, для твердых 6 месяцев – более 43 000 отдельных метаданных.
Несколько мыслей, которые у меня были:
Итак, мои вопросы, я не беспокоюсь ни о чем? Разве что много метаданных не очень важны? Если это серьезная сделка, которую я подозреваю, что является лучшим способом обработки чего-то подобного?