我有一个用Cassandra作为数据库的jhipster应用程序。此外,与Cassandra一起,我使用弹性搜索。目前,我正在将它用于所有搜索和数据获取机制。但最近我在某处读过,我们不应该使用弹性搜索来处理业务逻辑。因此,我应该仅将其用于搜索目的,还是使用弹性搜索来获取数据。 请注意我没有使用elasandra。 我们在Cassandra中存储数据以及在索引目的的弹性搜索中存储数据。
弹性搜索版本:5.6.3 Cassandra版本:3.0.2
答案 0 :(得分:1)
你的问题实际上有点误导,但你仍然有两个非常好的问题。主要的混淆来自于您对“业务逻辑”一词的使用,所以我想首先澄清一下,然后回答您的实际问题。
首先,业务逻辑(a.k.a。域逻辑)是一组规则,用于确定如何创建,存储和/或更改数据。在您的堆栈中,这将由Spring代码处理。所以,不,Elasticsearch不应该处理实际的业务逻辑。
但您要问的实际问题是Elasticsearch是否应该用于数据检索和搜索? Elasticsearch实际上创建了一个很棒的数据存储(尽管我强烈建议仅将其用作辅助数据存储并专注于基本搜索和提取)。使用Cassandra作为主要数据存储,然后使用Elasticsearch快速获取数据是一个很好的设计实践,所以继续!