1、Elasticsearch?在腾讯问卷的应samqiu 邱锦森腾讯CDC中国开发者会2023 samqiu?邱锦森?产品研发团队腾讯CDC中国开发者会2023认识 Elasticsearch 中国开发者会2023Agenda应场景Schema 设计性能优化中国开发者会2023由腾讯CDC根据多年问卷调查研究经验主开发的在线问卷调查平台,该平台前身是腾讯内部户、市场、产品研究的重要具,于2015年正式对外开放。为1900万户回收24.7亿份问卷 中国开发者会2023腾讯问卷 Elasticsearch 应场景与部署情况演进物理机部署Nginx 志监控物理机部署Nginx 志监控业务志监控 户为分
2、析腾讯云 CVM 部署Nginx 志监控业务志监控户为分析离线业务数据分析腾讯云 Elasticsearch Service 部署Nginx 志监控业务志监控户为分析离线业务数据分析在线产品功能集成2016.2017年2018年2019年2020.2021年中国开发者会2023核应场景 复杂条件搜索+统计分析Part 1:核应场景 复杂条件搜索+统计分析Part 1:中国开发者会2023中国开发者会2023核场景:与业务融合复杂条件搜索+统计分析1.编辑问题3.浏览答案&分析字段数量不固定数据类型不固定字段数量不固定数据类型不固定数不固定,上千万 频写字段数量不固定数据类型不固定数不固定,上千
3、万 复杂搜索条件 实时分析2.投放与回收答案中国开发者会2023挑战动态字段数量&动态数据类型复杂搜索条件实时分析千万级数据数据可更新中国开发者会2023存储选型挑战-动态数据结构的存储与搜索分析考察点ElasticsearchMySQLClickhouseMongoDBCassandraHBaseHive内存计算缓存功能&性能实时读写 实时分析分析功能丰富程度中搜索分布式 成熟度易运维腾讯云 PaaS使泛存储系统考察,功能与性能是其中部分社区活跃度、公司/团队内的使情况、许可友好、运维难度等均需要考虑需要个搜索与分析能强的OLAP型数据库备注:Elasticsearch 也不完美,在压缩率、
4、亿级/亿级分析性能不如 ClickHouse、写速度慢中国开发者会2023Schema 设计 动态数据结构的搜索与分析Part 2:中国开发者会2023动态数据类型动态数据结构的存储与搜索分析题类型词本KeywordText不同的题类型如何存储?提取产品需求计数搜索忽略分类Elasticsearch 数据类型中国开发者会2023动态字段数量动态数据结构的存储与搜索分析q001.keywordq001.textMapping 映射计算q002.keywordq002.textq003.keywordq003.textMapping 映射q004.keywordq004.text题变更题1题2题3
5、新增新增新增删除题4分配标字段字段复字段保留中国开发者会2023Elasticsearch 的特性如何解决需求需求动态题数量动态题类型答案筛选选项过滤、本过滤、时间范围统计分析交叉分析筛选后再分析Elasticsearch 特性灵活的字段,可有可字段类型多,可以为数组随意搜索,不需要添加索引模糊搜索、精确匹配、范围匹配聚合聚合再聚合过滤后再聚合中国开发者会2023搜索Filter TermsFilter RangeFilter RangeFilter Terms中国开发者会2023统计Terms AggregationHistogram AggregationDate Histogram Ag
6、gregation中国开发者会2023性能优化 使 Elasticsearch 作为级索引的性能优化Part 3:中国开发者会2023性能优化-为 access pattern 设计 Schema如何理解 access pattern?通过设计数据结构,使频的读取可以使简单的查询语法简单的查询语法能更快完成空间换时间将多个表合并为张超宽的 ES 表减少 join 等操作多个问卷合个索引,复字段选择适合业务场景的数据类型(Keyword、Text)Elasticsearch 索引的 schema 设计重要性等同于 MySQL 的 schema 设计如何设计 Schema 就是如何使 Elasti