В настоящее время у меня мобильное приложение с высокой прочностью (90% чтения, 10% записи), которое обменивается данными с одним веб-сервером через php-вызовы и один MySQL-db. В db хранится информация профиля пользователя и сообщения, которые пользователи отправляют и получают. Мы получаем несколько сообщений в секунду, добавленных в db.фильтрация данных, хранящихся в Couchbase
Я занимаюсь масштабированием по горизонтали, балансировкой нагрузки и т. Д. Таким образом, у нас будет балансировка нагрузки перед кластером веб-серверов, а затем я планирую разместить слой узлов Couchbase поверх MySQL кластера, чтобы мы могли быстро получить доступ к информации профиля пользователя и информации о сообщениях. Мы будем хранить всю информацию о пользователе в Couchbase, но затем я хочу, чтобы memcache содержал только последние 24 часа сообщений в Couchbase, так как это временные рамки, в которых будет выполняться большая часть активности чтения.
Для данных сообщений, хранящихся в memcache, я хочу иметь возможность фильтровать сообщения на основе различных данных, найденных в полях сообщений, таких как страна, город, время и т. Д. Я знаю, что Couchbase использует подход KV, поэтому я не могу запрос, используя where clauses, как я бы с MySQL.
Есть ли способ сделать это? Отвечает ли Couchbase Views? Или я полностью лаем неправильное дерево с Couchbase?