Je développe une application Web à haut volume, dont une partie est une base de données MySQL de messages de discussion qui devront passer à plus de 20 millions de lignes, en douceur.
J'avais initialement prévu d'utiliser MyISAM pour les tables (pour les capacités de recherche de texte intégral intégrées ), mais l'idée que la table entière soit verrouillée en raison d'une seule opération d'écriture me fait fermer. Les verrous au niveau des lignes ont tellement plus de sens (sans parler des autres avantages de vitesse d'InnoDB lorsqu'il s'agit de tables énormes). Donc, pour cette raison, je suis assez déterminé à utiliser InnoDB.
Le problème est ... InnoDB n'a pas de capacités de recherche plein texte intégrées.
Dois-je utiliser un système de recherche tiers? Comme Lucene (c ++) / Sphinx ? L'un de vous ninjas de la base de données a-t-il des suggestions / conseils?Le zoie de LinkedIn (basé sur Lucene) semble être la meilleure option pour le moment... ayant été construit autour de capacités temps réel (ce qui est assez critique pour mon application.) J'hésite un peu à m'engager mais sans une certaine perspicacité ...
(FYI: va être sur EC2 avec des rigs à haute mémoire, en utilisant PHP pour servir le frontend)