《5-1 超大规模图计算引擎在在线零售的应用.pdf》由会员分享,可在线阅读,更多相关《5-1 超大规模图计算引擎在在线零售的应用.pdf(21页珍藏版)》请在三个皮匠报告上搜索。
1、超大规模图计算引擎阿里巴巴 技术专家谷川Contents目录01背景介绍02Graph Compute 的能力及实现03周边系统建设04使用案例|Graph Compute 简介自助接入,数据托管、智能运维图存储与检索千亿节点,万亿边全量/单表千万qps秒级实时更新支持自研图查询语言&gremlin标准知识图谱管理系统认知图谱:用户实时行为基础数据用户全网曝光数据用户/商品/店铺/CPV关系数据OneID&Gprofile电商/全网/视频知识图谱应用场景:搜推广、安全TPPDIIWSearchGraphCompute ProxyTPPMainseCommonGraphCompute Searc
2、herZone1Zone2ZoneN全量/批量:ODPS实时增量:SwiftAuto-umarsAliyunConsoleAlibabaConsole3|业务场景图谱使用GraphCompute认知图谱生产2w+表数据用户表商品表品牌表i2is2i交易表c2i产品表SPU表演员表电影表主演表城市表推荐场景1广告场景搜索场景1Youku推荐场景用户认知图谱商品认知图谱用户实时行为表视频知识图谱全网知识图谱类目表特产表数据量:千亿访问量:千万qps平均延时:1.5ms场景性能数据量:千亿访问量:百万qps平均延时:1.8ms|Graph Compute的能力及实现2背景介绍1周边系统建设3Cont
3、entl 系统特点l 业务场景l 原生gremlin引擎l 全异步化架构业务介绍4|Gremlin是什么?6to graph/查询marko创作的软件的属性g.E(1).hasLabel(”created).inV().hasLabel(”software)=label:software,lang:java,name:lop,pk:3/查询marko创作的软件并返回路径信息g.V(“1”).hasLabel(“person”).outE().hasLabel(”created“).inV().hasLabel(“software”).path()/使用属性lang=java来查询软件g.V()
4、.by(software_index).indexQuery(match:lang:java)=label:software,lang:java,name:lop,pk:3=label:software,lang:java,name:ripple,pk:5高级使用特性随机游走 sample嵌套遍历 where()多路遍历 union局部变量 withSack/sack|Gremlin引擎-业界实现7TitanAzure CosmosAWS NeptuneIBM GraphBaidu HugeGraph华为EYWAGremlin ServerExternal Storage低效存储无法掌控计算下
5、沉难Java语言栈,GC适合分析型场景Gremlin100个算子嵌套Gremlin很难下沉|ParseParse&ValidateCacheExpressionPredicateStepCavaUtilitySerializeStrategyvertex,edgetraversermap,set StructureSession pool谓词下沉Optimizer路径优化列裁剪多表操作下沉Executor并行&异步框架ExecutorStrategyCacheKVStorageKKV 倒排向量原生Gremlin引擎Auto UmarsOPS|全异步化架构体系Local SSDLocal Opt
6、anePanguNVME更高IOPS存储计算分离高性能-kv/kkv/倒排/向量多种高效索引组织-io_uring及多级cache的磁盘访问模型高稳定-混合协程全异步框架-表切换磁盘cache渐进预热自适应-根据表流量周期,自适应选择存储介质降低至原先的1/81/9,异常抖动降级QPS趋近于0GremlinHybrid CoroutineAsync PrimitiveLazy(c+20 coroutine)UthreadLinux io_uringfuture litestorage|Graph Compute的能力及实现背景介绍1周边系统建设Contentl 系统特点l 业务场景l 原生gr