ES与传统数据库的比较

ES与传统数据库的比较,第1张

1结构名称不同

2ES分布式搜索,传统数据遍历式搜索

3ES采用倒排索引,传统数据库采用B+树索引

4ES没有用户验证和权限控制

5ES没有事务的概念,不支持回滚,误删不能恢复

6ES免费,完全开源;传统数据库部分免费

有关更详细的比较内容,可以到黑马程序员官网找到社区技术文章,找不到可以对话框问一下。里面还有结合工作的举例。

分析

现在导致数据被删除的情况应该是a表和b表的主键id重复,es默认mysql中的 id 为主键 并且document 的_id 和id保持一致, 导致a表中的数据被删除掉了(替换掉了)

三、解决方案

新建一个字段保存数据库的id 主键数据, 查询的时候使用uuid作为id的数据

注意

es20以后就不支持修改_id映射为其他字段了,es也不支持联合主键之类的。

如果您输入的ES查询语句正确但是没有返回值,可能存在以下几种原因:

1 数据库中不存在满足查询条件的文档:请检查您输入的查询条件是否正确,并确认数据库中是否存在满足查询条件的文档。您可以使用Kibana或其他ES管理工具进行数据检索,也可以手动查找数据存储位置,以确定是否存在符合条件的文档。

2 查询语句错误:虽然您认为查询语句正确,但仍有可能存在语法错误或逻辑错误等问题导致无法返回结果,请仔细检查查询语句,特别是查询条件和聚合条件等。

3 ES集群状态异常:如果ES集群出现了异常状态,如节点宕机、分片故障等情况,可能会导致查询请求无法正常处理,从而无法获取查询结果。请检查ES集群状态是否正常。

4 网络连接异常:如果网络连接不稳定或中断,也可能导致查询请求无法正常发送或接收,从而无法返回结果。请检查网络连接是否正常并重试查询 *** 作。

如果以上方法无法解决问题,请尝试通过更多调试方式(如日志分析、性能监控等)来排除问题,或联系相关技术支持人员寻求帮助。

以上就是关于ES与传统数据库的比较全部的内容,包括:ES与传统数据库的比较、es导入数据,数据变少、es查询语句正确,但是没有返回值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9622734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存