信息化 频道

百度SimpleDB高性能在线数据服务系统

  【IT168 现场报道】2017年5月11日-13日,2017中国数据库技术大会于北京国际会议中心盛大开幕。作为国内最受关注的数据库技术大会,本届大会以“数据驱动·价值发现”为主题,汇集多个领域的百余位专家,与大家共同打造一场以数据为驱动力,为企业进行价值创造的技术盛会。

  在12日下午的NoSQL技术进展专场中,来自百度大数据部的在线数据服务团队架构师杨嘉义为大家带来了主题演讲《百度在线用户数据服务系统》。杨嘉义从应用背景、系统架构、主要技术点、应用效果四个方面进行了分享。

百度SimpleDB高性能在线数据服务系统

  第一部分应用背景,杨嘉义从超高并发、超低延迟的在线数据读写,多地域数据写入、数据完整一致、服务高可用,同时需要访问实时和批量数据,访问权限控制,有复杂的业务计算逻辑,方便快速迭代的业务需求;从Session、用户属性、动态网页等存储场景 分布式cache、id-mapping服务 RTB、实时反作弊等实时辅助决策场景 其他同时需要低延迟、海量数据存储的在线场景;以及设计目标三个点进行了分享。

  第二部分杨嘉义展示了系统架构(如下图)

百度SimpleDB高性能在线数据服务系统

  杨嘉义分享的第三部分是最重要的也是主要技术点:高性能、高可用、最终一致性、实时批量数据融合、复杂业务计算服务、权限控制。在讲到故障处理方案的时候,他说道网络不稳定时避免集群频繁调整,时间窗口中消息丢失比例,指定周期的开始才做集群调整,例行升级重启、bin服务故障:重建索引,恢复数据,索引存在共享内存可加速重启;DC内节点磁盘故障:数据主从切换,rebalance到其他nodes,同步差异数据DC内及DC间网络分割:继续写网内数据,日志堆积在本地,恢复后异步批量同步数据。在说到高可用运维实践,预定义各业务优先级,异常时有所取舍,紧急降级开关,裁剪非关键数据,数据紧急恢复采取Real-time first,Latest first 数据线上线下一致性。

  说到高可用的异地多活,用于灾备恢复,系统持续可用,每个DC都有数据读写,多点写入相互同步,也可单点写入。任意一个DC故障时,流量可以切到其他临近DC,挑战就是延迟几十ms、数据同步与合并正确性以及一致性;对于数据异步同步,DC内部主从同步: 数据分master/replicas, 故障时可切换 read/write到master,异步同步replicas 跨DC数据同步: chain, active-passive, active-active, star等 选chain, A->B->C, 减少跨地域网络带宽。

  最后,杨嘉义展示了应用效果,如下图。

百度SimpleDB高性能在线数据服务系统

0
相关文章