Да, база данных, ориентированная на документы, такая как MongoDB, CouchDB или Solr, может сделать это.Каждый экземпляр формы или ответа формы может иметь потенциально различный набор полей.Вы также можете индексировать поля, и они помогут вам запрашивать документы, если они содержат это соответствующее поле.
Другое решение, которое я видел для реализации этого в базе данных SQL, - это решение, описанное в КакFriendFeed использует MySQL для хранения данных без схемы .
В основном, как ваша идея хранения полуструктурированных данных в сериализованном JSON, но затем также создает другую таблицу для каждого отдельного поля формы, которое вы хотите проиндексировать.Затем вы можете выполнить быстрый индексированный поиск и вернуться к строке, в которой сериализованные данные JSON содержат искомую пару поле / значение.