随笔分类 -  淘宝网

摘要:随着信息化建设的不断深入,企业级的信息管理平台已经完成了从信息化建设到数据积累的职能转变,在一些信息化起步较早、系统建设较规范的行业,如通信、金融、大型生产制造等领域,海量数据的存储、分析需求的迫切性日益明显。以移动通信运营商为例,随着移动业务和用户规模的不断扩大,每天都产生海量的业务、计费以及网管数据,然而庞大的数据量使得传统的数据库存储已经无法满足存储和分析需求。主要面临的问题包括:数据库容量有限:关系型数据库并不是为海量数据而设计,设计之初并没有考虑到数据量能够庞大到PB级。为了继续支撑系统,不得不进行服务器升级和扩容,成本高昂,难以接受。并行取数困难:除了分区表可以并行取数外,其它情况 阅读全文
posted @ 2014-04-03 16:45 郑文亮 阅读(1866) 评论(0) 推荐(0) 编辑
摘要:Yonghong Z-Suite 除了提供优秀的前端BI工具之外,Yonghong Z-Suite让用户可以选购分布式数据集市来支持实时大数据分析。 对于这种百亿级的大数据案例,Yonghong Z-Suite有哪些技术可以保证大数据的实时响应呢?下面大致从技术上介绍下:库内计算(In-Database Computing) Z-Suite支持各种常见的汇总,还支持几乎全部的专业统计函数。得益于库内计算技术,Z-Suite数据分析引擎将找寻出最优化的计算方案,继而把所有开销较大的、昂贵的计算都移动到数据存储的地方直接计算,称之为库内计算(In-Database)。这一技术大大减少了数据移动,降 阅读全文
posted @ 2014-04-03 15:59 郑文亮 阅读(8300) 评论(0) 推荐(0) 编辑
摘要:HiveDB是一个用来横向切分mysql数据库的开源框架,构建一个高性能和可扩展的基于mysql的系统需要大量的系统设计经验和良好的代码的实现,一个比较好的策略是将你的数据横向切分在多个server上,HiveDB就是个不错的选择,它的发展情况和特点如下:1. HiveDB是在2007年5月"Bay Area Community Meetup"首次出现,底层基于Hibernate shards基础实现。Hibernate shards 则是 Google 的开发工程师在"20%工作时间可以干别的有兴趣事情"环境下开发出来的一个 Hibernate ext 阅读全文
posted @ 2014-04-03 14:42 郑文亮 阅读(1907) 评论(0) 推荐(0) 编辑
摘要:第1章引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的 互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层 已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台 机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用中读取 (Read)数据的速度和并发量。目前国内的大型互联网应用中,大量 阅读全文
posted @ 2014-04-03 13:39 郑文亮 阅读(837) 评论(0) 推荐(0) 编辑
摘要:大家平时都在用这个服务框架。简单阅读了下代码,了解其原理可以方便解决一些常见hsf的问题。限于篇幅,整个分析将分几个系列发布。第一篇将简单介绍Hsf的启动和各组件之间关系。一. Hsf总体架构这个图很经典,想必大家都了解,Consumer,Provider,中间通过ConfigServer联接。那么其内部是如何实现的呢?请看下文。二. 容器启动,jboss为例HSF使用基于equinox(OSGi框架的eclipse实现,http://www.eclipse.org/equinox/)的OSGi,启动流程1./opt/xxxx/jboss/server/default/conf/xmdesc/ 阅读全文
posted @ 2014-04-03 11:09 郑文亮 阅读(9673) 评论(0) 推荐(1) 编辑
摘要:淘宝HSF服务具体来说分三个应用:api接口,service服务,本地应用。 最基本的Api服务应该是十分干净的,不含方法,只有接口。它是要被打包(jar包的形式)到中央仓库去的。 service服务是api接口的实现,它是要被打包成(最常见的是war包)安装到远程tomcat,或jboss中,作为服务要随时等待各种应用的调用的。 本地应用自然是各种应用了。 接口部分的pom文件: 4.0.0 com.taobao.hsftest itest 1.0.0.SNAPSHOT 接口: package com.taobao.itest; public inte... 阅读全文
posted @ 2014-04-03 11:05 郑文亮 阅读(14278) 评论(1) 推荐(0) 编辑
摘要:http://www.360doc.com/content/13/1114/11/10504424_329109113.shtml 阅读全文
posted @ 2014-04-03 08:52 郑文亮 阅读(368) 评论(0) 推荐(0) 编辑
摘要:首先,NAS(Network Attached Storage,网络附加存储)全面改进了以前低效的DAS存储方式,它是采用独立于PC服务器,单独为网络数据存储而开发的一种文件服务器。 NAS服务器中集中连接了所有的网络数据存储设备(如各种磁盘阵列、磁带、光盘机等),存储容量可以较好地扩展,同时由于这种网络存储方式是NAS服务器独立承担的,所以,对原来的网络服务器性能基本上没什么影响,以确保整个网络性能不受影响。它提供了一个简单、高性价比、高可用性、高扩展性和低总拥有成本的网络存储解决方案。 其次,DAS(Direct Attached Storage,直接外挂存储)是存储方式的一种方案。这种. 阅读全文
posted @ 2014-04-03 08:48 郑文亮 阅读(4555) 评论(0) 推荐(0) 编辑
摘要:NAS是Network-Attached Storage的简称。中文一般称为“网络附加存储”,或者“网络连接存储”。但是再爱国的业内人士也不喜欢叫这个中文名,就像乡下阿伯也不喜欢把NBA叫做“国家篮球联盟”一样。我们可以顾名思义的把NAS理解成通过网络提供存储的设备。比如你在装了Linux的电脑上共享一个目录,让其他Linux客户能够通过NFS协议访问该目录,那这台电脑就是一定意义上的NAS。如果你在这台电脑上装些软件,让Windows用户(通过CIFS)和Linux用户(通过NFS)都能访问这台电脑上的共享目录,那这台电脑就成了完全意义的NAS。一般NAS支持CIFS和NFS等协议,有些甚至 阅读全文
posted @ 2014-04-03 08:44 郑文亮 阅读(23030) 评论(0) 推荐(1) 编辑
摘要:目前,国内自主研发的文件系统可谓凤毛麟角。淘宝在这一领域做了有效的探索和实践,Taobao File System(TFS)作为淘宝内部使用的分布式文件系统,针对海量小文件的随机读写访问性能做了特殊优化,承载着淘宝主站所有图片、商品描述等数据存储。本文揭秘了淘宝自主研发的文件系统TFS那些事儿。AD:51CTO学院:IT精品课程在线看!TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据。目前,国内自主研发的文件系统可谓凤毛麟角。淘宝在这一领域做了有效的探索和实践,Taobao File System(T 阅读全文
posted @ 2014-04-02 17:16 郑文亮 阅读(1308) 评论(0) 推荐(0) 编辑
摘要:8月27日下午,在IT168系统架构师大会存储与系统架构分论坛上,淘宝网技术委员会主席,淘宝网核心工程师章文嵩向我们详细介绍了淘宝网图片处理与存储系统的架构。章文嵩博士的演讲日程包括了淘宝的整个系统架构、淘宝图片存储系统架构,淘宝网独立开发的TFS集群文件系统,前端CDN系统以及淘宝网在节能服务器方面的应用和探索。LVS创始人,淘宝网技术委员会主席,淘宝网核心工程师章文嵩先生 本文侧重介绍淘宝网后台的图片存储系统架构、包括TFS集群文件系统,以及前端处理服务器架构。该系统前端CDN架构,以及淘宝网在节能服务器应用方面的探索,请参考: 淘宝商城286亿图片访问的CDN架构全解析 教你省钱!... 阅读全文
posted @ 2014-04-02 16:21 郑文亮 阅读(7507) 评论(0) 推荐(1) 编辑
摘要:一、定义无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息有状态服务(stateful service)则相反,它会在自身保存一些数据,先后的请求是有关联的二、优劣有状态服务常常用于实现事务(并不是唯一办法,下文有另外的方案)。举一个常见的例子,在商城里购买一件商品。需要经过放入购物车、确认订单、付款等多个步骤。由于HTTP协议本身是无状态的,所以为了实现有状态服务,就需要通过一些额外的方案。比如最常见的session,将用户挑选的商品(购 阅读全文
posted @ 2014-04-02 15:53 郑文亮 阅读(6015) 评论(0) 推荐(1) 编辑
摘要:上周六参加了一场由淘宝的架构师,曾宪杰先生主讲的淘宝网架构分享。然后马上就出差了,一直没来得及总结,今晚比较有空,把这次听到的比较有启发的观点记录一下一、为什么stateless比较有利于实现水平伸缩关于什么是stateless的扫盲,见这个贴:http://kyfxbl.iteye.com/blog/1831869一般有一个共识,就是把应用做成无状态的,会比较容易实现水平伸缩。但是以前一直有一个想法,就算应用是有状态的,也可以做成水平伸缩:只需要在负载均衡那里做一个session绑定就可以了,根据某种标识,把请求固定地发送到特定的server上但是相对于有状态,stateless是更好的,主 阅读全文
posted @ 2014-04-02 15:51 郑文亮 阅读(8703) 评论(2) 推荐(0) 编辑
摘要:本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(server)上。当然 阅读全文
posted @ 2014-04-02 14:59 郑文亮 阅读(991) 评论(0) 推荐(0) 编辑
摘要:数据库的sharding技术作为一个“新瓶装旧酒”的概念,在新的应用环境中被赋予了新的意义。随着云计算的发展,sharding在最近几年是越来越火热,越来越多的产品开始声称自己支持sharding功能。那么到底什么是sharding,sharding到底能为你的数据库应用带来哪些好处。另外最重要的,如何实现一个sharding系统,有哪些sharding算法可供选择。本文将为你解决这些问题。一.简介1.背景数据库的扩展是一个永恒的话题。对于传统的关系数据库,采用的是纵向扩展(Scale Up)的方式,即买更好的机器添加更多的资源来取得更好的性能(如硬件升级、更快更多的CPU、更大的内存、更多更 阅读全文
posted @ 2014-04-02 14:52 郑文亮 阅读(11561) 评论(0) 推荐(0) 编辑
摘要:导读:Scale Out(也就是Scale horizontally)横向扩展,向外扩展 Scale Up(也就是Scale vertically)纵向扩展,向上扩展 无论是Scale Out,Scale Up,Scale In,实际上就是一种架构的概念,这些概念用在存储上可以,用在数据库上,网络上一样可以。 简单比喻下ScScale Out(也就是Scale horizontally)横向扩展,向外扩展Scale Up(也就是Scale vertically)纵向扩展,向上扩展无论是Scale Out,Scale Up,Scale In,实际上就是一种架构的概念,这些概念用在存储上可以,用在 阅读全文
posted @ 2014-04-02 14:30 郑文亮 阅读(3295) 评论(0) 推荐(0) 编辑
摘要:时间过得很快,来淘宝已经两个月了,在这两个月的时间里,自己也感受颇深。下面就结合淘宝目前的一些底层技术框架以及自己的一些感触来说说如何构建一个可 伸缩,高性能,高可用性的分布式互联网应用。相关专题:淘宝双11背后高并发技术讨论一 应用无状态(淘宝session框架)俗话说,一个系 统的伸缩性的好坏取决于应用的状态如何管理。为什么这么说呢?咱们试想一下,假如我们在session中保存了大量与客户端的状态信 息的话,那么当保存状态信息的server宕机的时候,我们怎么办?通常来说,我们都是通过集群来解决这个问题,而通常所说的集群,不仅有负载均衡,更重要的是要有失效恢复failover,比如tomc 阅读全文
posted @ 2014-04-02 14:25 郑文亮 阅读(1828) 评论(0) 推荐(0) 编辑
摘要:江枫先给我们介绍一下自己,和你在这次淘宝“双十一”事件中所扮演的角色?大家好,我是淘宝技术保障部的江枫。目前主要负责数据库的稳定性这一块。双十一这一天,我主要是负责协调整个数据库团队和保障整个数据库在“双十一”过程中的稳定性不受任何影响。那给我们详细的谈一下淘宝网现在整个数据库整体的一个架构,包括它硬件的组成。淘宝的数据库发展到今天,已经是一个非常复杂的系统。我大概算了一下,淘宝目前所有的数据库服务器加起来可能已经超过800台。那在这么一个规模底下,淘宝的数据库团队这么多年也是随着淘宝的业务发展一起成长起来的,但淘宝数据库目前核心的数据库还在小型机和高端的存储上面,还有很多的数据库现在是用的是 阅读全文
posted @ 2014-04-02 14:01 郑文亮 阅读(7672) 评论(0) 推荐(0) 编辑