2014-03-13 132 views
0

我的应用程序每小时接收并解析每个约1Kb的数千个小JSON片段。我想创建所有传入的JSON片段的备份。使用Elasticsearch作为备份存储

使用Elasticsearch在f.ex的索引中备份这个片段是否是一个好主意。 "number_of_replicas:" 4?永远不要读任何人使用Elasticsearch。

当我使用服务器和副本群集时,我的数据在Elasticsearch中是否安全,或者我应该更好地使用另一个存储用于此用例吗?

(它写入到本地文件系统是不是安全的,因为我们的硬盘崩溃频繁。首先,我曾想过使用HDFS,但这不是对小文件进行。)

回答

2

首先,你需要找到复制品和备份之间的区别

副本在运行time.It增加高可用性和故障转移支持数据的多个副本,它不会支持意外删除的数据。

备份是备份时的整个数据的副本。当系统崩溃时,它将用于恢复。

弹性搜索备份..其不好主意.. 弹性搜索是一个搜索引擎而不是DB。如果你没有仔细配置ES集群,那么你将最终丢失数据。

在我看来

所以, 要存储JSON对象,我们得到了很多的DBS的。例如MongoDB是一个NoSQL的db.We可以方便地与更多的replicas.It配置它意味着数据和故障转移support.As的高可用性你问它的开源和更可靠。 更多信息有关MongoDB的参考https://www.mongodb.org/

更新: 在elasticsearch如果创建更多碎片,它会之间nodes.If一个节点出现故障,则数据将在MongoDB中更多的节点lost.But分布指数意思是说,每个mongodb节点都包含它自己的数据副本。如果一个mongodb失败了,我们可以从副本mongodbs中检索出数据。我们需要更多地关注Elasticsearch中的副本设置和碎片分配。但是在mongoDB中,它也是更简单,更好的架构。

注意:我没有说在elasticsearch中存储数据是不安全的。我的意思是,与mongodb相比,在elasticsearch中配置副本和维护是困难的。

希望它有助于..!

+0

Thanx;我已经使用Elasticsearch来索引我的应用程序中的文本,所以我想我可以使用另一个Elasticsearch集群来进行备份,并使我的技术堆栈保持较小,而不需要其他数据库。但是也许你是对的,为此使用类似MongoDB的东西更好。但为什么Mongo中的数据比Elasticsearch更安全呢? – Sonson123

+0

我更新了我的答案.. – BlackPOP

+0

感谢您的回复,但我没有看到为什么在Elasticsearch中配置副本很困难。我觉得这很容易。 – Sonson123