sql >> Databáze >  >> RDS >> Mysql

Databáze pro fulltextové vyhledávání a více než 200 milionů záznamů

Věřím, že udržování primárních záznamů v SQL databázi a jejich duplikování do noSQL databáze je velmi běžný přístup.

ElasticSearch má aktuální stavovou stránku o jejich odolnosti . I v nejnovější verzi může ElasticSearch ztratit data v řadě různých situace . Velká změna ve struktuře indexu ElasticSearch (jako je přidání analyzátorů) vyžaduje, abyste znovu indexovat všechny dokumenty. Tento proces je bezpečnější, pokud máte jiný zdroj dokumentů. ElasticSearch nakonec není navržen pro konzistentní ukládání dokumentů – ElasticSearch bych se rozhodl používat jako primární úložiště pouze v situacích, kdy příležitostná ztráta dat není katastrofou.

Na rozdíl od ElasticSearch je MongoDB navržen tak, aby byl odolný . Měli byste být schopni bezpečně ukládat dokumenty v MongoDB. Zjistil jsem, že pokus o fulltextové vyhledávání v MongoDB může být trochu bolestivý, alespoň ve srovnání s ElasticSearch. Podle mého názoru má MongoDB pro textové vyhledávání jedinou výhodu oproti MySQL FULLTEXT je, že je distribuován.

Právě teď používáme ElasticSearch a MySQL – a jejich výhody výrazně převažují nad potížemi s další infrastrukturou a řešením replikace mezi nimi. Již dříve jsme se pokoušeli použít řešení noSQL jako primární úložiště dat s katastrofálními výsledky. Spuštění ES ve spojení s MySQL vám poskytne to nejlepší z obou světů – konzistenci a bezpečnost dat v SQL, se škálovatelným a efektivním fulltextovým vyhledáváním v ES.



  1. Oracle PL/SQL:Příklad UTL_FILE.FCOPY

  2. Malá rada ohledně Cassandra vs. MySQL

  3. Jak používat funkce SQL Server AlwaysOn

  4. zobrazit hodnotu databáze v modálním rámci zobrazí pouze první záznam