Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Baza danych do wyszukiwania pełnotekstowego i ponad 200 mln rekordów

Uważam, że przechowywanie podstawowych rekordów w bazie danych SQL i powielanie ich do bazy danych noSQL jest bardzo powszechnym podejściem.

ElasticSearch ma bieżącą stronę statusu dotyczącą ich odporności . Nawet w najnowszej wersji ElasticSearch może utracić dane w wielu różnych sytuacje . Poważna zmiana w strukturze indeksu ElasticSearch (np. dodanie analizatorów) wymaga ponownie indeksuj wszystkie dokumenty. Ten proces jest bezpieczniejszy, jeśli masz inne źródło dokumentów. Podsumowując, ElasticSearch nie jest przeznaczony do spójnego przechowywania dokumentów — wybrałbym ElasticSearch jako podstawowy magazyn tylko w sytuacjach, w których okazjonalna utrata danych nie jest katastrofą.

W przeciwieństwie do ElasticSearch, MongoDB ma być odporny . Powinieneś być w stanie bezpiecznie przechowywać dokumenty w MongoDB. Odkryłem, że próby wyszukiwania pełnotekstowego w MongoDB mogą być trochę bolesne, przynajmniej w porównaniu z ElasticSearch. Moim zdaniem, jeśli chodzi o wyszukiwanie tekstowe, jedyną przewagą MongoDB nad PEŁNOTEKSTOWY jest to, że jest rozpowszechniany.

W tej chwili korzystamy z ElasticSearch i MySQL — a korzyści znacznie przewyższają kłopoty z dodatkową infrastrukturą i radzenie sobie z replikacją między nimi. Wcześniej próbowaliśmy użyć rozwiązania noSQL jako podstawowego magazynu danych, z katastrofalnymi skutkami. Uruchamianie ES w połączeniu z MySQL zapewnia to, co najlepsze z obu światów — spójność i bezpieczeństwo danych w SQL oraz skalowalne, efektywne wyszukiwanie pełnotekstowe w ES.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak automatycznie zaktualizować tabelę w MYSQL za pomocą TRIGGER?

  2. Importowanie schematu MySQL do Xcode jako CoreData Data Model

  3. Moduł Node.js MySQL - rzucaj błąd; // Ponowne zgłoszenie błędów innych niż MySQL;

  4. Rails 3.2 + MySQL:Błąd:Pole 'created_at' nie ma wartości domyślnej:INSERT INTO

  5. WYBRAĆ użytkowników z bazy danych MySQL według maski bitowej uprawnień?