当前位置: 首页 > 面试题库 >

Elasticsearch与Cassandra对比Elasticsearch与Cassandra

郁吉星
2023-03-14
问题内容

我正在学习NoSQL,并正在为客户的需求之一寻找不同的选择。在提出这个问题之前,我已经遍历了各种资源(对NoSQL不太了解的人)

  • 我需要以更快的速度存储数据并读取数据。
  • 完全故障安全且易于扩展。
  • 能够搜索数据以获取Google Analytics(分析)。

最后我列出了以下内容: Cassandra and Elasticsearch

我所了解的是,Cassandra对我来说是一个完美的NoSQL存储解决方案,因为我可以使用索引写入数据和读取数据。它失败或可能失败的地方在Google
Analytics(分析)上。将来,如果我想从中获取数据from_date to to_date,或者想以更多方式获取数据进行分析,如果我没有适当地设计数据模型或保持长期的眼光,那么在不断变化的世界中这可能很难。

While Elastic Search最擅长建立索引(由Lucene支持),并且可以通过抛出一些随机文本来随机搜索数据。但是即使我想检索数据,它是否也一样工作from_date to to_date(我希望是这样)。但是真正的问题是,它是搜索引擎还是像Cassandra这样的完美NoSQL数据存储?如果是,为什么我们仍然需要Cassandra?

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


问题答案:

我们的应用程序之一使用存储在Cassandra和ElasticSearch中的数据。我们会尽可能地使用Cassandra访问这些记录,并将数据复制到查询表中,这些查询表旨在遵守特定的应用程序端请求。为了提供比我们的查询表所允许的更为宽松的搜索,ElasticSearch可以很好地执行该功能

我们(我们自己)也曾问过同样的问题……“为什么我们不从ElastsicSearch中得到一切?”

答案是ElasticSearch被设计为搜索引擎,而不是持久性数据存储。有时ElasticSearch丢失写入。如果不浪费一切并重新加载,则在ElasticSearch中很难进行模式更改。为此,我编写了旨在使ElasticSearch与我们的Cassandra集群保持同步的作业。最近在Quora上有关该主题的讨论也很相似。

话虽如此,ElasticSearch可以 很好地 用作搜索引擎。而且Cassandra可以 很好地 用作可扩展的高性能数据存储。但是 查询
数据不同于 搜索 数据。有时我们需要一个或另一个,并且两者的结合对于我们的应用程序非常有效。它可能(或可能不)适合您的产品。

至于分析,我在使用Cassandra Spark连接器来服务更复杂的OLAP查询方面取得了一些成功。希望能有所帮助。



 类似资料:
  • 我正在学习NoSQL,并为我的客户的一个需求寻找不同的选择。在提出这个问题之前,我已经查阅了各种资源(一个对NoSQL一知半解的人) null 而最擅长索引(由Lucene支持),可以通过抛出一些随机文本来随机搜索数据。但是,即使我想检索的数据,它的工作是否也一样(我预计可能是这样)。但真正的问题是,它是一个搜索引擎,还是像Cassandra一样完美的NoSQL数据存储?如果是,为什么我们还需要卡

  • 问题内容: 我在Elasticsearch中使用Pyspark。我注意到,当您创建RDD时,不会在任何收集,计数或任何其他“最终”操作之前执行该RDD。 当我将转换后的RDD的结果用于其他事情时,是否还有执行和缓存转换后的RDD的方法。 问题答案: 就像我在评论部分所说的那样, Spark中的所有转换都是 惰性的 ,因为它们不会立即计算出结果。相反,他们只记得应用于某些基本数据集(例如文件)的转换

  • 问题内容: 对于其他Elasticsearch开发人员来说,这可能是一个非常简单(愚蠢的问题),这两者之间有什么区别? 我正在从Java Web应用程序连接到远程Elasticsearch服务器,到目前为止,我一直在使用TransportClient,但是我想知道是否可以使用NodeBuilder,或者应该仅将NodeBuilder用于嵌入式客户端? 如果可以将两者中的任何一个用于连接到远程ES服

  • 下表说明了Cassandra和HBase之间的主要区别: HBase Cassandra HBase是基于Bigtable(Google) Cassandra基于DynamoDB(亚马逊)。 它最初是由前亚马逊工程师在Facebook开发的。 这是Cassandra支持多数据中心的原因之一。 HBase使用Hadoop基础架构(Zookeeper,NameNode,HDFS)。 部署Hadoop的

  • 我有一个spring boot 2.2.5应用程序,并计划使用AWS elasticsearch,其版本为7.4。有人能告诉我是使用Spring数据elasticsearch还是elasticsearch库吗?我在SO上看到一些帖子谈到了这一点,但它们都很老了,并且谈到restHighLevel客户端不受支持,而现在spring data elasticsearch 4中的情况并非如此。x、 无论

  • 我正在使用Spring boot和AWS elasticsearch服务。AWS Elasticsearch服务,仅提供REST接口。 Elasticsearch Rest客户端在这里。 简单地说,是否可以将REST客户端与Spring Data Elasticsearch一起使用? 换句话说,Spring Data Elasticsearch是否与Elasticsearch Rest客户端配合使