Лучшая система баз данных для поиска по нескольким тегам

0

Я занимался системами тегов раньше в MySql для простого блога с таблицей Tag таблицей TagMap таблицей Post, но, на мой взгляд, это очень запутанный способ хранения тегов и связывания их с сообщениями. Запрос на получение сообщений по тегу был равномерно запутан.

Теперь, когда я делаю проект в Node.js, я ищу новый способ хранения моих данных и новой системы баз данных. Я просмотрел CouchDB, но, похоже, у вас проблемы с поиском нескольких тегов, и концепция просмотров кажется слишком сложной для того, что я пытаюсь выполнить.

Есть ли система баз данных, предпочтительно такая, которая имеет библиотеку/клиент для node.js, которая эффективна и что делает целое тегирование-испытание кажущимся интуитивным?

Теги:
database
database-design
couchdb

2 ответа

2

В этом случае я не думаю, что вы сможете сделать лучше, чем реляционная база данных.

Если вам нужны синонимы тегов, взгляните сюда на некоторые идеи (но обратите внимание, что EXISTS следует переписать как еще один JOIN из-за недостатков в оптимизаторе запросов MySQL). Без синонимов эта модель может быть еще более упрощена.

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

0

Наборы Redis, вероятно, будут работать хорошо: создайте набор с ключом по почте, состоящий из тегов или идентификаторов тегов, и набор, назначенный тегом (или идентификатором тега), состоящим из почтовых идентификаторов. Затем вы можете использовать redis встроенный набор пересечения и объединения операторов для быстрого поиска на основе нескольких тегов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню