Tworzę aplikację internetową o dużej objętości, której częścią jest baza danych MySQL zawierająca wpisy w dyskusji, które będą musiały bezproblemowo urosnąć do ponad 20 milionów wierszy.
Początkowo planowałem użyć MyISAM dla tabel (dla wbudowanych funkcji wyszukiwania pełnotekstowego ), ale myśl o zablokowaniu całej tabeli z powodu jednej operacji zapisu sprawia, że jestem zamknięty. Blokady na poziomie wiersza mają o wiele więcej sensu (nie wspominając o innych zaletach szybkości InnoDB w przypadku dużych tabel). Z tego powodu jestem zdecydowany użyć InnoDB.
Problem w tym, że ... InnoDB nie ma wbudowanych możliwości wyszukiwania pełnotekstowego.
Czy powinienem skorzystać z systemu wyszukiwania innej firmy? Jak Lucene (C ++) / Sphinx ? Czy któryś z was, ninja baz danych, ma jakieś sugestie / wskazówki?Zoie na LinkedIn (oparte na Lucene) wygląda w tej chwili na najlepszą opcję... ponieważ został zbudowany w oparciu o możliwości czasu rzeczywistego (co jest bardzo ważne dla mojej aplikacji). Trochę się waham, czy zaangażować się bez wglądu ...
(FYI: będę na EC2 z platformami o dużej ilości pamięci, używając PHP do obsługi interfejsu)