Я прочитал статью о базе данных без схемы, которая звучит круто. (http://bret.appspot.com/entry/how-friendfeed-uses-mysql)
Но что мне не понятно, так это как они выполняют поисковые запросы по этим данным? Поскольку данные представлены в формате JSON, как мы их ищем?
Для атрибутов, которые необходимы для фильтрации / поиска, они сначала индексируются с использованием отдельной таблицы. Это делает данные более прозрачными.
Позвольте мне процитировать, что говорит этот пост: http://bret.appspot.com/entry/how-friendfeed-uses-mysql
Индексы хранятся в отдельных таблицах. Чтобы создать новый индекс, мы создаем новую таблицу, в которой хранятся атрибуты, которые мы хотим индексировать для всех сегментов нашей базы данных.
Я бы предположил, что у них есть отдельная поисковая система с собственным индексом - вероятно, даже не в MySQL, что-то вроде Solr .
Они используют сфинкс для этого