Cassandra与Elasticsearch之间的差异
Apache Cassandra是一个开放源代码和免费分发的No-SQL 数据库管理系统,其开发和设计用于处理分布式商品服务器上的大规模数据。它支持跨平台的操作系统Cassandra数据库提供了高可用性和零单点故障。在可伸缩性的情况下,它也是赢家。
Apache Elasticsearch是一个基于Apache Lucene 的搜索引擎和NoSQL数据库系统,Elasticsearch是完全使用Java编程语言编写的。Elasticsearch为分布式全文本搜索引擎提供了无模式的JSON结构化文档。

Cassandra和Elasticsearch之间的主要区别
以下是要点列表,描述了Cassandra和Elasticsearch之间的主要区别:

Apache Cassandra由Apache软件基金会开发,该软件最初于2008年发布。Apache Elasticsearch由Elastic开发并获得Apache License 2.0许可。Cassandra由Shay Banon开发。
Cassandra a No SQL数据库的主要目标是诸如简单的设计结构,高可用性和水平扩展等。与关系数据库相比,No SQL数据库通过遵循ACID(原子性,一致性,隔离性和持久性)属性来支持强大的查询和事务。
Elasticsearch是基于REST(代表性状态转移)体系结构API的RESTful搜索,在基于文本的分析和从结构化或非结构化数据中过滤所需信息方面非常有用。
Apache Cassandra具有弹性的可伸缩性,快速的线性性能,易于分布的体系结构,更快的查询和事务支持,更快的读写功能。它最初是在Facebook上开发的,用于在Inbox中搜索消息,后来由Facebook开源。Cassandra有一种称为CQL的查询语言,它是Cassandra查询语言。
Elasticsearch在数据分析领域具有众多应用程序,可以在数据存储和索引编制方面与多种工具集成。通过安装和配置Elasticsearch,可以在Elastic搜索中创建索引并运行查询。它主要基于REST API。
Apache Cassandra具有主要的核心组件,例如节点,数据中心,内存表,集群,提交日志等,而Cassandra查询语言用于读写操作。Elasticsearch基于Lucene,将具有强大的索引搜索功能以及全文搜索功能。
Apache Cassandra节点在其中存储数据,其数据中心由所有节点组成,而Elasticsearch以HTTP GET方法的形式公开Java和HTTP API,从而以数据检索的形式提供搜索功能。
Apache Cassandra集群分布在不同的机器上,以处理故障并维护副本以保持操作和事务具有高可用性,而Elasticsearch通过使用API​​(应用程序编程接口)将数据作为文档发送来进行Restful分布式搜索。
Apache Cassandra具有一个复制因子,用于定义不同机器上的数据副本数,以接收多个数据副本,以维持容错能力和高可用性,而Elasticsearch则分布式文档存储,以面向JSON的文档平台为应用程序提供动力。
Apache Cassandra除了基于传统的关系数据库系统外,还具有随时随地添加列的功能,而Elasticsearch可以通过基于REST的API以JSON格式以文档形式添加数据,
Apache Cassandra处理非结构化数据,并具有灵活的架构来处理数据读写操作,而Elasticsearch处理基于JSON的文档格式数据。
Apache Cassandra是基于大数据技术和Dynamo DB数据库的基于列的广泛存储架构,而Elasticsearch是基于Apache Lucene的基于分布式和Restful的现代搜索引擎。
Apache Cassandra在数据库引擎排名方面的受欢迎程度和趋势得分较低,而Elasticsearch的排名则高于Cassandra。
Apache Cassandra最初于2008年2月发布,而Elasticsearch最初于2008年4月发布,并且Cassandra和Elasticsearch都是用Java编写的。
Apache Cassandra支持Linux,OS X,Windows,BSD操作系统,而Elasticsearch支持安装了Java虚拟机的所有操作系统。
Apache Cassandra支持大多数流行的面向对象的编程语言,例如C#,C ++,Java,Go,Erlang,JavaScript,Perl,PHP,Python,Ruby,Scala等,而Elasticsearch支持.NET,Groovy,Java,JavaScript ,Perl,PHP,Python。

结论
Apache Cassandra不是基于SQL的数据库系统,而Elasticsearch是搜索引擎,也不是基于SQL的数据库系统,就最新的面向对象而言,Elasticsearch显然是赢家,或者Apache的Lucene都不基于SQL数据库,这是一个很好的选择基于索引的搜索引擎。在性能可伸缩性和功能方面,如果要处理大量数据,则可以将Apache Cassandra视为最佳数据库。

在大多数情况下,Elasticsearch是No SQL数据库系统的最佳选择,因为与市场上其他No SQL数据库系统相比,Elasticsearch具有搜索引擎功能的附加功能。