Я создаю приложение, которое позволяет людям отмечать, когда они доступны / недоступны, и позволяет другим записываться на встречи в течение этого времени.Однако у меня возникают проблемы с поиском хорошего метода для хранения и запроса доступности, когда кто-то выполняет поиск.
Например:
- Хост A доступен 1 октября,3-е и 8-е с 7:00 до 16:00 и 11-е с 9:00 до 10:00 и с 12:00 до 18:00.У них также назначена встреча (1 час) 1 октября в 12 часов
- Хост B доступен 1, 4, 6 и 8 октября с 9:00 до 20:00
- Пользователь C ищетлюбая доступность 6-8 октября с 16:00 до 18:00, поэтому должен видеть только хост B
- Пользователь D ищет любую доступность 9-12 октября с 9:00 до 13:00, поэтому должен видеть только хост A
- Пользователь E ищет доступность на хосте A 1 октября, поэтому должен иметь возможность записаться на 1 час в любое время с 7:00 до 11:00 и с 13:00 до 16:00
Какой эффективный способ хранения и запроса данных?
Другие примечания:
- Я использую эластичный поиск вв сочетании с DynamoDB для хранения и запроса данных
- Бронирования могут быть сделаны до года