Elasticsearch VS卡桑德拉VS Elasticsearch与卡桑德拉 [英] Elasticsearch vs Cassandra vs Elasticsearch with Cassandra

查看:611
本文介绍了Elasticsearch VS卡桑德拉VS Elasticsearch与卡桑德拉的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我学习的NoSQL,看着为我的客户的要求之一不同的选择。我通过各种资源,搭建了这个问题(在NoSQL的小知识的人)去之前

I am learning NoSQL and looking at different options for one of my client's requirements. I have gone through various resources before putting up this question (a person with little knowledge in NoSQL)


  • 我需要以更快的速率将数据存储和读取数据。

  • 全故障安全和易于扩展。

  • 能够通过数据分析进行查询。

我结束了的短名单:卡桑德拉和Elasticsearch

I ended up with a short list of: Cassandra and Elasticsearch

我所理解的是Cassandra是对我来说是完美的NoSQL存储解决方案,因为我可以写数据,并使用索引读取数据。凡失败,也可能是失败的分析。在未来,如果我想从FROM_DATE获取数据为to_date,或多种方式来获取分析数据,如果我不不断变化的世界设计数据模型正确,或保持长期的视线,这可能是挺难的。

What I do understand is Cassandra is a perfect NoSQL storage solution for me, as I can write data and read data using indexes. Where it fails or it could fail is on Analytics. In the future, if I want to get data from from_date to to_date, or more ways to get data for analytics, if I don't design the Data model properly or keeping longterm sight, which might be quite hard in ever changing world.

虽然弹性搜索是最好在索引(由Lucene的后端),并且可以通过抛出一些随机文本随机查询的数据。但是,它的工作原理相同,即使我想要检索的数据FROM_DATE为to_date(我希望它可能是)。但真正的问题是,它是一个搜索引擎,或者像卡桑德拉完美的NoSQL数据存储?如果是的话,为什么我们还需要卡桑德拉?

While Elastic Search is best at indexing (backend by Lucene), and can search the data randomly by throwing some random text. But does it work the same for even if I want to retrieve data from_date to to_date (I expect it might be). But the real question is, is it a Search Engine, or perfect NoSQL data storage like Cassandra? If yes, why do we still need Cassandra?

如果这两个都在不同的世界,请解释!我们如何将它们结合起来,以获得更有效的解决方案?

If both of these are in different world, please explain that! How do we combine them to get a more effective solution?

推荐答案

我们的一个应用程序使用存储到两个卡桑德拉和ElasticSearch数据。我们使用卡桑德拉只要我们能访问这些记录,并复制到设计要坚持具体应用端请求的查询表中的数据。对于更宽松的搜索比我们的查询表可以允许ElasticSearch执行该功能很好。

One of our applications uses data that is stored into both Cassandra and ElasticSearch. We use Cassandra to access those records whenever we can, and have data duplicated into query tables designed to adhere to specific application-side requests. For a more liberal search than our query tables can allow, ElasticSearch performs that functionality nicely.

我们都问同样的问题(我们的)......为什么我们不能单从ElastsicSearch搞定一切?

We have asked that same question (of ourselves)..."Why don't we just get everything from ElastsicSearch?"

答案是ElasticSearch被设计为一个搜索引擎,而不是一个持久数据存储。有时ElasticSearch失去写入。架构更改很难在ElasticSearch做吹不走的一切并重装。为此,我写了旨在保持ElasticSearch在同步与我们的卡桑德拉集群作业。还有一个这个话题在Quora上相当最近的讨论,即产生了相似点。

The answer is that ElasticSearch was designed to be a search engine, and not a persistent data store. Sometimes ElasticSearch loses writes. Schema changes are difficult to do in ElasticSearch without blowing everything away and reloading. For that purpose, I have written jobs that are designed to keep ElasticSearch in-sync with our Cassandra cluster. There was also a fairly recent discussion on Quora about this topic, that yielded similar points.

话虽这么说,ElasticSearch工作的伟大的作为搜索引擎。和卡桑德拉工作的伟大的作为一个可扩展的,高性能的数据存储。但是的查询的数据是从的搜索的数据不同。还有,我们需要一个或另一个,并且两个很适合我们的应用程序的组合倍。它可能(也可能不会)为你的工作。

That being said, ElasticSearch works great as a search engine. And Cassandra works great as a scalable, high-performance datastore. But querying data is different from searching for data. There are times that we need one or the other, and a combination of the two works well for our application. It may (or it may not) work well for yours.

至于分析,我曾在使用卡桑德拉星火连接器,服务于更复杂的OLAP查询了一些成功。希望有所帮助。

As for analytics, I have had some success in using the Cassandra Spark connector, to serve more complex OLAP queries. Hope that helps.

这篇关于Elasticsearch VS卡桑德拉VS Elasticsearch与卡桑德拉的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆