elasticsearch - 是否建议使用 Elastic Search 作为应用程序的权威数据存储?
问题描述
我是使用弹性搜索的新手,我正在尝试为我们的应用程序找到一个数据存储区,我们还可以在其中添加一个用于分析的前端,在本例中是 Kibana。我计划将它们用作我们计费系统上的 dr/cr 交易的数据存储。
我阅读的大多数用例都是针对数据分析和搜索相关的。我没有看到将它用作应用程序的常规数据存储的用例。所以我担心我可能会在错误的用例上使用它。
我希望是否有人可以对此添加他们的见解。比如为什么或为什么不使用 Elastic Search 作为应用程序的权威/主要数据存储。
解决方案
您应该阅读elasticsearch 的官方博客,其中明确提到数据库必须是健壮的,并且除非您告诉这样做,否则不应停止工作。
来自同一博客的稳健性部分
数据库应该是健壮的,尤其是当它是您的权威记录系统时。理想情况下,应该可以取消代价高昂的查询,并且您当然不希望数据库停止工作,除非您告诉它这样做。
不幸的是,Elasticsearch(及其组成的组件)目前不能很好地处理 OutOfMemory 错误。我们在 Elasticsearch in Production, OutOfMemory-Caused Crashs 中更深入地介绍了这一点。为 Elasticsearch 提供足够的内存非常重要,并且在生产集群上运行具有未知内存需求的搜索之前要小心。
简而言之,您不应该将 Elasticsearch 用作无法丢失数据的主要数据存储。
推荐阅读
- python - 使用 Panda 每月平均每分钟的时间序列数据集
- javascript - 根据完成情况重复函数本身而不使用 setInterval
- python - 如何通过查找另一个数据框中的特定列来将一个数据框中的特定列相乘?
- android - 重复类 android.support.v4.All kind
- mysql - 在 LEFT JOIN 中传递参数
- sql-server - 如何使用节点 mssql 将 TVP 插入具有标识列的表中?
- javascript - 如何连接 React Native 和 PostgreSQL?
- angular - BehaviorSubject 不会立即改变值
- javascript - 错误无法在 d3-甘特图中读取 null 的属性“getBoundingClientRect”
- python - 如何修复python中的“列表索引超出范围”错误?