百分点内存数据库架构演变
【2014中国数据库技术大会】内存计算:百分点内存数据库架构演变
【IT168数据库大会现场报道】2014年4月10日-12日,第五届中国数据库技术大会(DTCC 2014)在北京五洲皇冠国际酒店拉开序幕。在为期三天的会议中,大会将围绕大数据应用、数据架构、数据管理、传统数据库软件等技术领域展开深入探讨,并将邀请一批国内顶尖的技术专家来进行分享。本届大会将在保留数据库软件应用实践这一传统主题的基础上,向大数据、数据结构、数据治理与分析、商业智能等领域进行拓展,以满足于广大从业人士和行业用户的迫切需要。
自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB、ChinaUnix两大技术社区,已经连续举办了四届中国数据库技术大会,每届大会与会规模超千人,大会云集了国内水平最高的数据架构师、数据库管理和运维工程师、数据库开发工程师、研发总监和IT经理等技术人群,是目前国内最受欢迎、人气最高的的数据库技术交流盛会。今年是中国数据库技术大会五周年,大会将继续秉承分享IT最佳应用实践的宗旨,围绕传统数据库和大数据两条技术主线,在目前IT技术和管理快速的大背景下,更加深入地探讨数据库技术的现状和未来的发展方向,以及我们在这个转型过程中的实践经验和教训。
今天是DTCC大会第二天,在专场3中,来自百分点的高级架构师武毅给我们带来了《百分点内存数据库架构演变》的精彩分享。
▲武毅:百分点高级架构师
如今数据不再昂贵,但从海量数据中获取价值变得昂贵,而要及时获取价值则更加昂贵,这正是大数据实时计算越来越流行的原因。在当今互联网时代,对海量数据的实时计算成为可能。
武毅谈到,现在内存计算的5大趋势:1、数据展现上,时间就是金钱。2、面临着处理海量的数据。3、磁盘IO成为并行计算的瓶颈。4、针对不同行业,应对各种业务需求,需要从不同的维度去处理,分析数据。5、对内存数据库的需求。
互联网公司数据金字塔
百分点推荐引擎中,需要在几百毫秒内,从海量的数据中获取针对当前用户的个性化的推荐结果。传统的RDB+memcache的方式显然已经无法满足,只有全内存计算才能如此高效。推荐引擎系统等应用极大的依赖内存数据库,对于内存数据库的数据可靠性,高可用性,数据一致性都有较高的要求。在不同的应用场景下对内存数据库的要求也会有较大差异。经历几次架构变迁之后,平台级内存数据库趋于稳定。
▲百分点推荐引擎BRE的框架原理
▲BRE实时计算:lambda架构示意
▲BRE基于内存数据库的实时计算
内存数据库是BRE的主存
1、数据实时更新:用户行为、用户偏好、商品资讯信息、推荐算法结果、集群监控数据…
2、海量数据:十几种类别、十亿量级条目数、TB量级存储量
3、高并发、高吞吐量:每秒十万量级读写次数、GB量级数据量
4、高可靠和高可用:数据固化、容灾、备份
▲百分点内存数据库演变,展现了应用技术的变化
BRE 0.x的内存数据库的局限:需要手工维护路由表、容易导致负载不均衡、人工成本高扩展性较差。
BRE 1.x的内存数据库的局限:
1、Memcached不能作为数据库:无法固化数据、无法枚举数据、无法很好的控制数据过期
2、读写分离导致系统复杂
3、简单的KV不能满足需求:大Value导致网卡瓶颈
数据序列化/反序列化消耗系统资源
4、扩容不易:虚结点的使用导致需要重新计算所有数据分布
BDM的内存数据库:最终一致性
1、读写异步模型(lambda架构)
2、Master 挂掉,此时还未同步到Slave的数据(从消息队列中回放数据恢复;算法数据再生,持续输出;Slave升级为Master,原Master恢复后作为Slave)
3、Slave挂掉,恢复后数据重新同步
小结:
百分点内存数据库包括了实时计算框架和数据查询框架,的系统架构、处理流程和应用。 重点介绍了百分点推荐引擎BRE的框架原理,BRE基于内存数据库的实时计算,在百分点公司在实时计算算法中常用的方法和技巧,框架的演进。通过不断的提高实时计算的数据规模和处理效率,帮助业务快速发展。
转载于:https://www.cnblogs.com/DjangoBlog/p/3791840.html
百分点内存数据库架构演变相关推荐
- 阿里云构建千万级别架构演变之路
阿里云构建千万级别架构演变之路 摘要: 随着云计算的到来,当前已经从IT时代向DT时代开始转型.在云端如何构建千万级架构,本文主要结合阿里云最佳实践经验,向大家分享如何从一个小型网站逐步演变到千万级架 ...
- 大型网站架构演变和知识体系
存爱好,作为收藏,原地址:http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html ,同时向原创致敬 之前也有一些介绍大型网站架构 ...
- 1亿级PV网站架构演变
作者:叶军 来自:http://www.yejun.cn/?p=1154 一个网站就像一个人,存在一个从小到大的过程.养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则.本文结 ...
- 以58帮帮为例看58同城典型技术架构演变
58同城作为中国最大的生活服务平台,涵盖了房产.招聘.二手.二手车.黄页等业务,在每一个业务类别里都能看到方便用户交流沟通的58帮帮.本文选取了58帮帮作为58同城典型技术架构的代表,详细讲述了58帮 ...
- 大型网站应用中MySQL的架构演变史
没有什么东西是一成不变的,包含我们的理想和生活!MySQL作为一个免费的开源的关系型数据库,深受大家喜爱,从最初的无人问津到当下的去IOE,都体现出了MySQL举足轻重的作用.今天我们就从淘宝的发展来 ...
- Mysql在大型网站的应用架构演变
原创文章,转载请注明: 转载自http://www.cnblogs.com/Creator/ 本文链接地址: Mysql在大型网站的应用架构演变 本文已经被多处转载,包括CSDN推荐以及码农周刊等等, ...
- 大型网站架构演变和知识体系--转
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的.ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不 ...
- 大型网站 linux,大型网站架构演变
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的.ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不 ...
- Fabric架构演变之路
Fabric架构演变之路 Hyperledger Fabric是目前主流的开源联盟链产品之一,自2016年5月12日开辟代码仓库之日起,已有快3年的时间了,产品趋于稳定,功能也越来越完善,正在适配不同 ...
最新文章
- CentOS 6.3 64bit上升级系统默认Python 2.6.6到2.7.10版本
- 关于NLPIR应用在KETTLE中的探索
- python开多少进程合适_python多进程基础
- count 多个字段_一句话实现字段拆分成多行
- 编写边界条件测试用例原则
- 我的2015羊年总结
- sql server 修改表字段
- java 异步调用webapi_Async Await异步调用WebApi
- STM32_Systick学习及例程改写
- 从主机名谈Hadoop集群管理
- 中彩分析家 v7.18 build 1203 怎么用
- 用FastStone Capture录屏如何发声
- xposed框架修改手机串号教程_xposed 入门之修改手机 IMEI
- 音频加速 foobar_如何使用Foobar2000将音频CD翻录到FLAC
- 王之泰201771010131《面向对象程序设计(java)》第十四周学习总结
- 程序媛字节裸辞后,都干了些什么....
- 公积金单位账号和个人账号
- 将csv格式转换为excel后缀为xlsx
- wifi mesh组网
- nacos启动报错解决方法
热门文章
- python可以实现哪些功能_Python学习究竟有多强大,Python代码能实现哪些功能
- eclipse让项目连接服务器失败,eclipse怎么链接服务器
- java课程设计日历记事本代码,已开源
- 【深度学习入门到精通系列】进化策略 (Evolution Strategy)
- host文件修改后无法保存的问题
- mysql1040_mysql Error 1040 too many connection解决办法
- 杭州市全国计算机等级考试报名时间,浙江省杭州市2017年3月全国计算机等级考试报名时间及方式...
- 10台客户机打印机文件服务器,Sever-U实现局域网打印机安全共享.doc
- 浅析建设企业网站的三大基本类型
- 如何提高蜘蛛对网站的爬取次数?