Я бы взглянул на Lucene (и связанные с ним проекты, такие как Solr и ElasticSearch) или Sphinx, то есть на поисковые системы текста, а не на то, что вы обычно называете базой данных.
Эти механизмы предназначены для индексации документов - больших двоичных объектов текста, разбивая их на множество мелких компонентов («токенизация»). Проблема, которую вы описываете - хранение большого двоичного объекта и длинного списка тегов - находится в этом домене.