Недавно мне пришла в голову идея создать приложение, которое помогло бы саморазвитию и позволяло бы пользователю вставить ссылку на полезный ресурс и пометить его тегами 1-n.
Тогда пользователи смогут искатьэти ресурсы также по 1-n тегам.
И вот мой вопрос, какую базу данных использовать для обработки запросов такого типа?
Я знаю, что могу использоватьSQL, создайте таблицу для тегов и ресурсов, а затем создайте другую таблицу для их связи.
Я также могу использовать MongoDB, поскольку он может индексировать массивы и хранить теги в документе ресурса, затемзапрос по нему.Или сохраняйте коллекцию для тегов, где каждый тег будет иметь массив с идентификаторами ресурсов и запрашивать его таким образом.
Наилучший способ - использовать какой-то механизм индексирования (например, Elastic Search).
Примечания:
- Поскольку я хотел бы оставить его без сервера, вероятно, в облаке AWS, nosql был бы наилучшим способом, но мог бы Монго бытьузкое место, если количество ресурсов и тегов будет значительно расти?(Я думаю, что Mongo Atlas дешевле, чем сервис AWS Elastic, поэтому я об этом думаю)
- Является ли Elastic Search наиболее оптимальным (или предпочтительным) способом?