![](/img/trans.png)
[英]What datatype should I use to store time() in MySQL for my application?
[英]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,您可以执行以下操作:
进行初始导入(非常慢,非常大),然后只使用进程复制差异。 您可能会考虑使用Mule ESB来移动数据( http://www.mulesoft.org/ )。
当您从应用程序中写入数据时,您可以向MySQL写一次,并将相同的数据写入Elastic。 这提供了Elastic中的实时数据,但是当然如果第二次写入Elastic失败,那么你将丢失数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.