当前位置: 首页 > news >正文

西安建设高端网站开江住房和城乡建设部网站

西安建设高端网站,开江住房和城乡建设部网站,网站需求说明,校园网站建设的缺陷互联网及传统行业应用服务的关键数据一般存储在MySQL这类的关系型数据库中。如需缓解数据库访问压力#xff0c;可引入Redis等缓存系统承担热数据的查询#xff0c;以此提升查询效能。然而业务场景如果是在数据库上做随意多列组合索引查询或者like模糊匹配查询#xff0c;使…互联网及传统行业应用服务的关键数据一般存储在MySQL这类的关系型数据库中。如需缓解数据库访问压力可引入Redis等缓存系统承担热数据的查询以此提升查询效能。然而业务场景如果是在数据库上做随意多列组合索引查询或者like模糊匹配查询使用普通的KV缓存系统并不能完全承载住往往需要引入lua或者外部计算等额外的联合查询匹配过滤机制。TairSearch是一个实时全内存检索服务其核心的倒排索引机制既能满足词根的模糊匹配查询且可作为热数据存算一体加速任意多列组合索引的联合查询效率。本文将阐述TairSearch如何支持以上场景。 KV缓存在多列灵活查询场景的局限性 设计关系型数据库表时除可设置主键索引还可以设置多个二维索引以及多种联合索引。 使用KV缓存服务时以Redis为例一般使用Hash结构映射关系型数据库字段。 将数据库表中的行记录导入到Redis的Hash结构中以行中主键字段的值作为Redis hash的key其他字段名作为hash的field行字段的值作为hash的value。如果查询场景只涉及主键索引在Redis中可以直接通过hmget的方式获取到行中指定字段的信息。但在以下场景中则有明显的局限性 查询涉及二维索引Redis中并不支持按hash中的field内容来查询只能通过在Redis中再用Hash存储关系型数据库中的二维索引。不仅增加导入行数据的复杂程度也因为冗余数据造成内存空间的膨胀。查询涉及联合索引Redis中并不支持对Hash类型的多key联合查询用户侧只能在外部或者lua脚本中实现联合查询过滤规则涉及到了数据的读取和挪动。 下文以支撑流量洪峰时期的机票搜索服务为例讲述如何使用TairSearch加速任意多列组合索引的联合查询效率。 使用TairSearch加速多列组合索引的联合查询 以某机票搜索界面为模板可以看到精准搜索机票涉及到几个关键条件出发地、目的地、日期、经济/公务/头等舱、带儿童、带婴儿。查询结果带有多个航班信息。在暑期、国庆、春节等中长假期时间内对热门旅游度假区的航班查询容易造成流量洪峰。 TairSearch如何支持这类的热门航旅查询需求 TairSearch中存储所有待飞的航班信息已航班的出发地departure 、 目的地destination 拼接作为keydeparture_destination 。因为航班中多个出发地_目的地在搜索航班中并无关联关系所以key是相互独立的可直接使用Tair分布式的集群架构存储进一步提升并行查询能力。 出发地departure 、目的地destination 、日期date 、经济/公务/头等舱seat 、带儿童/带婴儿with 这几个字段建立索引。同时带有航班号flight_id 、价格price 、起飞时间departure_time 、降落destination_time 。如后期需要加字段可直接使用tft.updateindex 毫秒级添加索引字段业务无感知。 tft.createindex zhuhai_hangzhou {mappings:{properties:{departure:{type:keyword},destination:{type:keyword},date:{type:keyword},seat:{type:keyword},with:{type:keyword},flight_id:{type:keyword},price:{type:double},departure_time:{type:long},destination_time:{type:long}}} } 将航班信息按照以上字段整理成文档写入到TairSearch中。 tft.adddoc zhuhai_hangzhou {departure:zhuhai,destination:hangzhou,date:2022-09-01,seat:first,with:baby,flight_id:CZ1000,price:986.1,departure_time:1661991010,destination_time:1661998210 } 搜索头等舱的航班且按照航班的出发时间排序 tft.search zhuhai_hangzhou {sort:[departure_time],query:{bool:{must:[{term:{date:2022-09-01}},{term:{seat:first}}]}} } 使用带use_cache的方式访问可以开启query cache的功能query_cache的有效期是10s可以对热点航班自带查询结果的热点缓存功能。 模拟随机写入10天内zhuhai_hangzhou有80个航班且每个航班有6种配置的价格压测查询的性能数据 redis-benchmark -r 1 -n 500000 tft.search zhuhai_hangzhou {sort:[departure_time], query:{bool:{must:[{term:{date:2022-09-01}},{term:{seat:first}}]}}} 100.00% 3 milliseconds 20592.23 requests per second 开启query_cache redis-benchmark -r 1 -n 500000 tft.search zhuhai_hangzhou {sort:[departure_time], query:{bool:{must:[{term:{date:2022-09-01}},{term:{seat:first}}]}}} use_cache 100.00% 2 milliseconds 58920.57 requests per second 结语 TairSearch集缓存与计算于一体的全内存实时全文检索系统可加速传统关系型数据多列组合查询效率。欢迎大家使用TairSearch产品任何产品意见和更多的场景需求均可反馈给我们TairSearch产品技术服务仍在持续迭代完善期待您的参与。附TairSearch API文档 原文链接 本文为阿里云原创内容未经允许不得转载。
http://www.yutouwan.com/news/117172/

相关文章:

  • 网站建设个人建设wordpress的注册文件在哪儿
  • 网站开发类论文搜索引擎关键词怎么优化
  • 有偷菜餐厅城市建设的网站天津工程建设招标网站
  • 郴州网站建设制作wordpress自动重命名
  • 无锡崇安网站建设产品设计五个流程
  • 腾讯官方网站建设做电商需要准备什么
  • 国内好用的五款开源建站系统chinacd.wordpress.net
  • 西安专业网站建设服务好网站打开空白页
  • 九龙坡做网站怎么利用个人网站
  • 推荐扬中网站建设江门做网站设计
  • 炫酷个人网站php源码莆田专业网站制作
  • 北京建设教育协会网站首页佛山白坭网站建设
  • 模仿网站制作手机网站一年维护费
  • 网站建设销售销售流程网页qq空间登陆在线登录入口
  • 网站开发交易网站拓者室内设计官网拓者室内设计官网
  • 高端设计网站建设德清网站建设
  • wordpress网站模板下载失败如何做新闻自动采集网站
  • 莱芜泉网站建设谁告诉你j2ee是做网站的
  • 安全电子商务网站设计开发软件大全
  • 面包店网站建设规划书怎么免费建立自己网站
  • 做自己网站彩票安徽建站
  • 网站制作教程西安百度百科
  • 手机自助建站永久免费厦门php网站建设
  • 电子商务网站建设 填空题郑州建网站企业
  • 英文网站建设中百度浏览器入口
  • 兰州交通发展建设集团公司网站建设摩托车官网报价及图片
  • 做网站题材同步修改 wordpress
  • 公司网站转微信小程序做电商网站用什么语言
  • 瑞安网站四川省建设厅
  • 南京新标特企业网站哪家广告做的wordpress标签后缀名html