Har*_*wal 61 full-text-search search-engine nosql elasticsearch
我正在开发一个项目,需要提供一个通用的仪表板,用户可以在不同的领域进行不同类型的分组,过滤和深入分析.为此,我们正在寻找一个允许切片和数据切片的搜索商店.
将有多个数据源,并将其存储在搜索存储中.源数据可能需要一些预先计算,这可以由中间组件完成.
我查看了几个博客,了解ES是否也可以可靠地用作主数据存储区.它主要取决于我们正在寻找的用例.有关我们使用的用例的一些信息:
一些博客称它足够可靠,可用作主要数据存储 -
一些博客称ES没有什么限制 -
有没有人使用Elastic Search作为数据的唯一真相,而没有像PostgreSQL,DynamoDB或RDS这样的主存储?我已经查明ES存在某些问题,例如分裂大脑和索引损坏,其中可能存在数据丢失问题.所以,我想知道是否有人使用过ES并且遇到了数据方面的麻烦
谢谢.
Cor*_*ory 32
简短回答:这取决于您的使用案例,但您可能不希望将其用作主要商店.
更长的答案:您应该真正了解弹性和数据丢失可能出现的所有问题.Elastic在将这些问题用作主数据存储之前,您应该真正了解这些问题.此外,Aphyr关于该主题的帖子是一个很好的资源.
如果您了解您正在承担的风险,并且您认为这些风险是可以接受的(例如,因为您的应用程序不会出现小数据丢失问题),那么您应该随意尝试一下.
设计冗余数据存储解决方案通常是个好主意.例如,它可能是一种快速可靠的方法,首先将所有内容作为平面数据推送到静态存储,如s3,然后从那里获取ES拉取和索引数据.如果你需要更多的灵活性来利用一些ORM,你可以在它们之间有一个RDS或Redshift层.这样,数据总是可以在ES中重建.
这取决于您在冗余和灵活性/性能之间如何设置平衡的需求和要求.如果涉及大量数据,您可以静态存储原始数据,并通过ES索引其部分内容.
Amazon Lambda提供强大的功能:
许多开发人员在Amazon S3中存储对象,同时使用Amazon DynamoDB存储和索引对象元数据并启用高速搜索.每次从Amazon S3添加或更新对象时,AWS Lambda都可以通过运行函数自动更新Amazon DynamoDB中的索引,从而轻松实现所有内容的同步.
| 归档时间: | 
 | 
| 查看次数: | 24574 次 | 
| 最近记录: |