淘宝的高性能可伸缩架构 --- 非结构数据存储

 哪些数据不放在数据库:

1.  比如一些配置文件,用户对应的动态,一次交易的快照等,一般不适合保存到rdbms,更符合一种key-value的结构

2.      另一类数据,数据量非常大,但实时性要求不高,此时这些数据也需要通过另外的一种存储方式进行存储

 一些静态文件,比如各个商品的图片,商品描述等信息,这些信息因为比较大,放入rdbms会引起读取性能问题,

    影响其它数据读取性能,也要和其它信息分开存储,一般的选择分布式文件系统,

  随 着互联网的发展,业界从08年 下半年开始逐渐流行了一个概念就是nosql。

    我们都知道根据cap理论,一致性,可用性和分区容错性3者 不能同时满足,最多只能同时满足两个

原理:          传统关系数据采用acid事务策略,更加讲究高一致性而降低了可用性的需求,

      但是互联网应用往往对可用性的要求要略高于一致性的需求,这时候就要避免采用数据的acid事务策略,

      转而采用base(基本可用性,事务软状态以及最终一致性)事务策略

 

时间: 2024-11-04 13:27:07

淘宝的高性能可伸缩架构 --- 非结构数据存储的相关文章

淘宝的高性能可伸缩架构---session处理

应用无状态 原来 假如在session 保存大量的客户端状态信息, 保存session的服务器宕机, 通过集群解决, 集群不仅有负载均衡, 更重要的是要恢复 failover 问题 tomcat 用集群节点广播复制, jboss用配对复制 等session状态复制策略有局限 会严重影响系统的伸缩性 因为集群节点间 session通信随着节点的增多而开销增大 解决1 因此要做到应用本身的伸缩性, 就要保证应用无状态 实现1 淘宝的session框架用clientcookie实现 将状态转移到coo

淘宝的高性能可伸缩架构 --- 应用拆分

方案: 将原来的系统 按一定的标准 分为不同的子系统 目标:  提高整个系统的可用性, 子系统耦合减低,  某个子系统出错, 整体系统还是可用 目标:  当某个子系统变大的时候, 可以对这个子系统水平扩展, 而不影响其他系统, 如同前端的组件化开发, 一个组件可以不断去丰富它的功能, 而不会影响到先用其他组件的功能和用法 拆分引发的问题: 子系统之间如何通讯 解决方法:高性能远程调用框架, 分为同步通讯 和 异步通讯

淘宝的高性能可伸缩架构 --- 监控、预警系统

背景:    大型分布式系统涉及各种设备,比如网络交换机,普通pc机,各种型号的网卡,硬盘,内存等等, 在数量非常多的时候,出现错误的概率也会变大,因此要时刻监控系统状态 分类: 监控有粒度的粗细之分 粒度粗一点,对整个应用系统进行监控,网络流量,内存利用率,io,cpu负载,服务访问压力,服务的响应时间 细粒度一点,对应用中的某个功能,某个url访问量

淘宝数据魔方技术架构解析(转)

淘宝网拥有国内最具商业价值的海量数据.截至当前(2011年8月),每天有超过30亿的店铺.商品浏览记录,10亿在线商品数,上千万的成交.收藏和评价数据.如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝.商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命. 为此,我们进行了一系列数据产品的研发,比如为大家所熟知的量子统计.数据魔方和淘宝指数等.尽管从业务层面来讲,数据产品的研发难度并不高:但在"海量"的限定下,数据产品的计算.存储和检索难度陡然上升.本

大型B2C网站高性能可伸缩架构技术探秘

大型B2C网站高性能可伸缩架构技术探秘 2010-07-21 08:51 狂放不羁 JavaEye 字号:T | T 向您介绍大型B2C网站高性能的网站架构技术,包括缓存的使用.应用程序和数据库的拆分.异步通信以及非结构化数据存储等. AD:WOT2014课程推荐:实战MSA:用开源软件搭建微服务系统 在<世界最大的PHP站点 Facebook后台技术探秘>一文中介绍了一个大型SNS网站的技术组成.今天我们继续大型网站探秘,一起来探秘大型B2C网站的架构技术.作为国内最大的B2C网站,其网站架

解密淘宝网的开源架构

解密淘宝网的开源架构 作者:曾宪杰.2002年毕业于浙江大学计算机系.先后在中科院下属企业.先锋电子(中国)就职.积累了丰富的Windows平台.企业级系统设计经验.现任淘宝网平台架构部架构师,主要研究方向为大规模集群环境下的消息中间件设计.分布式数据层和分布式系统. 淘宝网,是一个在线商品数量突破一亿,日均成交额超过两亿元人民币,注册用户接近八千万的大型电子商务网站,是亚洲最大的购物网站.那么对于淘宝 网这样大规模的一个网站,我猜想大家一定会非常关心整个网站都采用了什么样的技术.产品和架构,也

《淘宝数据魔方技术架构解析》----阅读

我们都知道淘宝,也都在使用淘宝.但让我们自己制作一个淘宝app很难,让我们想出关于淘宝的架构更难.最近阅读了<淘宝数据魔方技术架构解析>(https://mp.weixin.qq.com/s?__biz=MzAxNjAzMTQyMA==&mid=2648476063&idx=1&sn=882fb8584b82107d5af191af5b805d0e&chksm=83d3224cb4a4ab5a72e04dbaa6c6621cc866ab913bb7abb1aa8

Java中间件:淘宝网系统高性能利器

[TechTarget中国原创]淘宝网是亚太最大的网络零售商圈,其知名度毋庸置疑,吸引着越来越多的消费者从街头移步这里,成为其忠实粉丝.如此多的用户和交易量,也意味着海量的信息处理,其背后的IT架构的稳定性.可靠性也显得尤为重要.那么,他们是怎么办到的呢? 曾宪杰(花名花黎)是淘宝Java中间件团队成员,他认为大型网站就是要同时满足高访问量和高数据量的要求,核心是通过分布式系统解决数据的处理.存储及访问问题. 消息中间件Notify 早期,淘宝并没有Java中间件,其系统框架比较简单.下面我们就

《淘宝数据魔方技术架构解析》阅读心得

淘宝网拥有国内最具商业价值的海量数据.截至当前,每天有超过30亿的店铺.商品浏览记录,10亿在线商品数,上千万的成交.收藏和评价数据.如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝.商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命. 数据产品的一个最大特点是数据的非实时写入,正因为如此,我们可以认为,在一定的时间段内,整个系统的数据是只读的.这为我们设计缓存奠定了非常重要的基础. 关系型数据库(RDBMS)自20世纪70年代提出以来,在工业生产中得到了广泛