您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[巨益科技]:阿里云SelectDB在巨益科技电商中台的实践和探索 - 发现报告

阿里云SelectDB在巨益科技电商中台的实践和探索

信息技术2024-04-24库洛巨益科技
阿里云SelectDB在巨益科技电商中台的实践和探索

库洛 分享嘉宾-巨益科技 库洛-架构师 湖南师范大学-计算机科学与技术十多年电商行业开发与架构经验,目前主要负责公司中间件及底层代码设计与优化 目录 巨益全渠道中台介绍01 为什么选用阿里云SelectDB02 阿里云SelectDB在巨益全渠道中台的应用03 未来规划和展望04 01巨益全渠道中台介绍 深圳巨益科技是国内专业领先的电商全渠道中台数字化服务商,专注为中大型零售品牌企业提供前后端一体化打通解决方案,已助力1000+KA品牌成功实现全渠道数字化经营转型,并先后荣获“年度十佳服务商”、“京卓越金奖”、“最具落地性中台”等来自平台以及客户自发认可并颁发的荣誉奖项。截止目前,巨益科技服务的行业领域涵盖服饰/内衣、科技数码、食品零售、百货家居、运动户外、美妆个护、新锐潮牌、母婴孕童、宠物/医疗等25个电商品类,并连续十年保持30%的增长率。 客户案例 行业头部 截止目前,巨益科技已助力1000+KA品牌成功上线巨益全渠道业务中台,凭借过硬的产品实力和服务口碑,赢得了客户的一致认可,未来,巨益科技还将不断提升和完善产品创新能力和客户服务标准,助力更多的KA品牌持续增长,实现全渠道数字化经营转型。 为什么选用阿里云SelectDB 巨益日志分析系统早期架构 1.Logback收集日志,通过ESLogAppender写入ES,然后通过ESDSLAPI查询日志 2.Logback收集日志,通过SLSLogAppender写入SLS,然后通过SLSAPI查询日志 早期痛点问题 占用空间大 阿里云SelectDB特点 阿里云SelectDB特性一:云原生存算分离架构带来极致性价比和灵活弹性 存算分离与弹性计算 •计算:分钟级弹性,多集群物理隔离•缓存:通过云盘缓存加速,秒级扩容•存储:对象存储,数据共享,按需实时弹性 极致性价比 •存储:数据分片单副本,相比存算一体用量降低66%~;对象存储单价相比云盘低80%+•计算:单副本消除冗余数据写入、合并开销,结合弹性,计算资源可降低50%~ 阿里云SelectDB特性二:超强查询性能表现 阿里云SelectDB特性三:开放生态,高兼容性,低开发成本 基于ApacheDoris构建,保持开源兼容 •与ApacheDoris存储格式兼容,支持SelectDB与ApacheDoris随时切换•与ApacheDoris使用接口一致,兼容ApacheDoris所有开源生态 实现MySQL的连接协议和SQL方言,兼容MySQL生态 •支持MySQLClient、JDBC、ODBC等的连接•支持Navicat、DBeaver等工具连接•各类对接MySQL的BI工具都可以连接SelectDB 像开放数据湖一样,与周边生态互通数据 •提供高吞吐读写SelectDB存储数据的开放数据API•与数据库生态集成,支持一键从MySQL、MongoDB、RDS等实时同步数据•与大数据生态集成,支持无缝对接Spark、Flink、Kafka、DW、QuickBI等系统 日志场景分析业务特点 日志业务的特点 改造风险低 数据量大,业务持续产生。以写为主、读为辅,需处理大量存储空间,高吞吐实时写入,并定期进行清理机制;业务需要支持实时检索和聚合分析。 日志在日常场景中对业务流转影响较低,改造起来相对风险较低。 阿里云SelectDB高性价比日志分析能力 日志分析场景:SelectDB较Elasticsearch 10X以上性价比提升 •SelectDB写入速度是Elasticsearch的5倍,达到550MB/s•SelectDB写入后的数据压缩比接近1:10、较ES存储空间节省超80%,•查询耗时下降57%、查询性能是Elasticsearch的2.3倍。•SelectDB基于倒排索引覆盖全文检索能力 SelectDB使用倒排索引后,并发查询性能提升5-90倍 Elasticsearch官方性能BenchmarkRally的HTTPLogs测试集对比测试 阿里云SelectDB助力巨益中台 数据表设计 模型选择:Duplicate模型(明细模型) 表结构说明: 1.常用查询字段建字倒排索引;2.需要模糊搜索的字段需要使用分词,并使用MATCH_ANY或MATCH_ALL进行SQL搜索;3.按天分区,日志量较大按天分区查询效率会更高;4.日志自动清理设置start参数为90则保留90天;5.create_history_partiton创建历史90分区,迁移历史数据使用。 代码演示 使用注意事项: 1.使用StreamLoad写入会比JDBC写入快很多 2.在使用StreamLoad导入时需要注意:如果是json数组需要传入strip_alter_array参数为true 写入速度数据展示 本地测试日志写入43000条/秒,1分钟写入大于240万条 基于阿里云SelectDB的日志平台架构 Logback收集日志,通过SelectDBLogAppender写入SelectDB,然后通过JDBC查询日志 集群部署 根据实际负载情况,巨益OMS日志采用双实例、6集群的部署。 近500个写入端,如果使用单实例,写入端太多,数据不集中会导致大量的数据合并消耗CPU资源。所以我们采用以上部署方式。 日志系统迁移到阿里云SelectDB后节约~88%存储空间,成本减少75% 迁移前后数据占用空间大小对比 •迁移前:109937.76(GB)•迁移后:12095(GB)•差异量:97842.67(GB) •数据占用空间减少9倍,•空间达到1:9的压缩比•成本减少3-4倍 迁移到阿里云SelectDB后平均查询速度保持在毫秒级 迁移后查询耗时基本保持在几十毫秒内,用户查询日志响应极快。 未来规划和展望 收集K8S日志 多表物化视图 提升查询性能 优化数据整合 通过多表物化视图,将复杂查询的结果预先计算和存储,显著提升查询性能。 多表物化视图可以整合多个表的数据,实现数据的高效整合和统一管理。 ThanksforWatching!