簡體   English   中英

我應該使用Elastic Search作為我的數據存儲而不是MySQL嗎?

[英]Should I use Elastic Search as my data store instead of MySQL?

我即將重建我的Web應用程序以使用彈性搜索而不是mysql進行搜索,但我不確定如何這樣做。

我看了一個Laracon視頻,因為我的應用程序是在Laravel 4.2上構建的,我將使用這個包裝器來查詢: https//github.com/elasticsearch/elasticsearch

但是,我是否仍會使用MySQL數據庫來存儲數據,並進行ES搜索? 或者更好的是擁有ES並查詢數據。

如果我走第一條路線,我是否必須在雙方進行CRUD操作以保持更新?

ES可以處理MySQL可以承載的數據嗎? 意味着數億行?

開始整個事情,我只是非常怯懦。 我可以使用一點方向,非常感謝。 我從未使用過MySQL之外的任何搜索。

我建議將MySQL保留為記錄系統,並針對MySQL從您的應用程序執行所有CRUD操作。 然后啟動ElasticSearch機器並定期將數據從MySQL移動到ElasticSearch(僅需要搜索的數據)。

然后,如果ElasticSearch關閉,您只會丟失搜索功能 - 您的主數據存儲仍然可以。

ElasticSearch可以配置為群集,並且可以擴展得非常大,因此它將處理行數。

要將數據導入Elastic,您可以執行以下操作:

  1. 進行初始導入(非常慢,非常大),然后只使用進程復制差異。 您可能會考慮使用Mule ESB來移動數據( http://www.mulesoft.org/ )。

  2. 當您從應用程序中寫入數據時,您可以向MySQL寫一次,並將相同的數據寫入Elastic。 這提供了Elastic中的實時數據,但是當然如果第二次寫入Elastic失敗,那么你將丟失數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM