2020-07-13:es是去查id再根据id去查数据库这种方式好,还是所有数据都放es,直接去查es好?
福哥答案2020-07-13:
有人觉得第一种方法好,也有人觉得第二种方法好。
如果搜索字段远小于显示字段,比如搜索字段为3个,显示字段有20个,这个时候用第一种方法好。es+hbase,一般这样搭配。
如果搜索字段跟显示字段接近,或者一条【行记录】的数据量并不大,这个时候用第二种方法好。
回答1:
ES 的批量修改和并发控制比较头疼,不如直接用数据库来的舒服,但是如果用了数据库就要做数据同步。视具体场景而定吧。
回答2:
我们是第一种方法,ES 只放 ID+列表项+搜索项,列表是 ES 直出,详情 MySQL 根据 ID 查询。
回答3:
我们 2 种都有。场景:
1.搜索商品:全部存 ES,从 ES 出;商品信息相对固定,又搜索频率高,直接拿 ES 快速搜索。
2.搜索文章:文章内容存 ES,从 ES 检索出 ID,再捞一遍数据库,同时 with 当前用户数据(浏览量、点赞、收藏、热度等等);文章搜索频率比较低,又侧重不停变化的用户数据,需要拿数据库的最新数据。
回答4:
从 ES 中根据 name 和 age 去搜索,拿到的结果可能就 20 个 doc id,然后根据 doc id 到 HBase 里去查询每个 doc id 对应的完整的数据,给查出来,再返回给前端。
而写入 ES 的数据最好小于等于,或者是略微大于 ES 的 Filesystem Cache 的内存容量。
然后你从 ES 检索可能就花费 20ms,然后再根据 ES 返回的 id 去 HBase 里查询,查 20 条数据,可能也就耗费个 30ms。
如果你像原来那么玩儿,1T 数据都放 ES,可能会每次查询都是 5~10s,而现在性能就会很高,每次查询就是 50ms。
es我不熟悉,答案难免会出错,请直接评论。
2020-07-13:es是去查id再根据id去查数据库这种方式好,还是所有数据都放es,直接去查es好?的更多相关文章
- CAD在网页绘一个直线,得到直线id,再调该得到直线对象,然写扩展数据
		IMxDrawDatabase::ObjectIdToObject 实体id返回实体对象. 参数 说明 [in] LONGLONG lId 实体id JS代码,中绘一个直线,得到直线id,再调该得到直 ... 
- 2022 07 13 第一小组 田龙跃 Java再学习笔记
		1.类名命名规则: 只能由数字字母,下划线,美元符号组成(不能以数字开头,尽量不要用下划线开头) 2.注释(养成多写注释的好习惯) 单行注释 // ctrl+/ 多行注释 // ctrl+shirt+ ... 
- 多线程博文地址 http://www.cnblogs.com/nokiaguy/archive/2008/07/13/1241817.html
		http://www.cnblogs.com/nokiaguy/archive/2008/07/13/1241817.html 
- 利用预编译解决C/C++重复定义的错误 -2020.09.13
		利用预编译解决C/C++重复定义的错误 -2020.09.13 我们现在有main.c和function.h两个文件 main.c #include <stdio.h> #include ... 
- MySQL 中删除的数据都去哪儿了?
		不知道大家有没有想过下面这件事? 我们平时调用 DELETE 在 MySQL 中删除的数据都去哪儿了? 这还用问吗?当然是被删除了啊 那么这里又有个新的问题了,如果在 InnoDB 下,多事务并发的情 ... 
- 傻子都能懂的并查集题解——HDU1232畅通工程
		原题内容: Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都 ... 
- 搭建企业级实时数据融合平台难吗?Tapdata + ES + MongoDB 就能搞定
		摘要:如何打造一套企业级的实时数据融合平台?Tapdata 已经找到了最佳实践,下文将以 Tapdata 的零售行业客户为例,与您分享:基于 ES 和 MongoDB 来快速构建一套企业级的实时数 ... 
- @+id/和android:id的区别
		android:id="@+id/btn",表示在R.java文件里面新增一个id为btn的控件索引,最常用的一种声明控件id的方式.android:id="@andro ... 
- 根据群ID和用户Id查询 + string QueryQunByUserIdAndQunId(int userId, int qunId) V1.0
		#region 根据群ID和用户Id查询 + string QueryQunByUserIdAndQunId(int userId, int qunId) V1.0 /// <summary ... 
随机推荐
- Json对象,Json数组,Json字符串的区别
			Json对象: var str = {"姓名":"张三","性别":"男","年龄":"2 ... 
- Illegal instant due to time zone offset transition (Asia/Shanghai)_夏令时问题
			项目报错信息: Connot parse "1991-04-14",illegal instant due to time zone offset transition(Asia/ ... 
- xenomai内核解析之信号signal(一)---Linux信号机制
			版权声明:本文为本文为博主原创文章,转载请注明出处.如有错误,欢迎指正.博客地址:https://www.cnblogs.com/wsg1100/ 目录 1. Linux信号 1.1注册信号处理函数 ... 
- tk.mybatis selectByPrimaryKey无法正确识别主键
			selectByPrimaryKey无法正确识别主键,查看日志,发现报如下错误: ==> Preparing: SELECT username,password,name,age,sex,bir ... 
- [翻译]ASP.NET Core在 .NET 5 Preview 7的更新
			.NET 5 Preview 7现在可以用了,可以进行评估了.这是此版本中的新增功能: Blazor WebAssembly应用程序现在针对.NET 5 更新了Blazor WebAssembly的调 ... 
- java 多线程的售票问题
			java 多线程的售票问题 对票的库存进行操作 public class Tickets implements Runnable{ private int ticket = 100; public v ... 
- 学习2周C++的收获
			学习2周C++的收获 首先,C++是一种实用性很强的程序设计语言.它使用起来灵活.方便,运算符丰富,有结构化的层次…… 那么,我学习这个语言主要是为了参加信息学奥林匹克竞赛,这不仅要熟练地掌握一门语言 ... 
- React Native 适配Android物理返回键,实现连续两次点击退出
			一直使用iPhone作为测试机开发,提交给测试同事Android版本后发现很多适配问题,其中一个非常明显的是,弹出一个modal后,点击Android的返回键,modal不会消失,直接navigati ... 
- Mysql concat() group_concat()用法
			数据库表: 关键字:concat 功能:将多个字符串连接成一个字符串 使用:concat(column1, column2,...) 字段中间可以加连字符 结果:连接参数产生的字符串,如果有任何一个 ... 
- 2018年5月15日临下班前找的一个读取assets下数据库的例子
			网页 https://blog.csdn.net/li12412414/article/details/51958774 @Override protected void onCreate(Bun ... 
