Estou desenvolvendo um aplicativo da web de alto volume, em que parte dele é um banco de dados MySQL de postagens de discussão que precisará crescer para mais de 20 milhões de linhas, sem problemas.
Eu estava planejando originalmente usar MyISAM para as tabelas (para os recursos de busca de texto completo embutidos ), mas o pensamento de toda a tabela sendo bloqueada devido a uma única operação de gravação me deixa louco. Os bloqueios de nível de linha fazem muito mais sentido (sem mencionar as outras vantagens de velocidade do InnoDB ao lidar com tabelas enormes). Portanto, por esse motivo, estou bastante determinado a usar o InnoDB.
O problema é ... O InnoDB não possui recursos integrados de pesquisa de texto completo.
Devo usar um sistema de pesquisa de terceiros? Gosta do Lucene (c ++) / Sphinx ? Algum de vocês ninjas do banco de dados tem alguma sugestão / orientação?Zoie do LinkedIn (baseada em Lucene) parece ser a melhor opção no momento... tendo sido construído em torno de recursos em tempo real (o que é muito crítico para minha aplicação). Estou um pouco hesitante em me comprometer ainda sem algum insight ...
(Para sua informação: estará no EC2 com rigs de alta memória, usando PHP para servir ao front-end)