当前位置:首页 » 数据仓库 » 淘宝的具体数据库结构
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

淘宝的具体数据库结构

发布时间: 2022-09-19 02:25:35

⑴ 淘宝的数据库怎么搭建

我们也了解到,现在淘宝的整个的数据库团队在逐渐的把一些数据库从Oracle迁移到MySQL,然后呢,把一些服务器由小型机转到PC server,那你们整个转变的动机是什么?
主要是因为业务压力给了我们最大的动力。07年我来到淘宝的时候,当时只有三个主要的数据库,全部在小型机和存储上面。以当时的压力来看,它跑起来是非常顺利的,而且大家也知道小型机它从Unix操作系统到硬件,稳定性都会比PC server其实要高很多,当时的情况下淘宝用小型机是一个非常自然的选择。
从07年开始淘宝的业务量保持每年自然翻一番的增长,数据库质量感觉到非常大的压力。那么前端业务量增长一倍,在数据库上有可能增长是好几倍,它有一个放大效应在里边。当时我们第一步能够想到很自然的架构,就是把三个数据库拆成更多的数据库,或每一个数据库支持一个比较单一的业务。比如用户、商品和交易,都会分成独立的数据库,然后放到独立的小型计算中去,这是我们08年做的很大的事情就是垂直拆分,然后08年的业务我们就顶住了。
当时我们就预估09年、10年会有更大的压力增长,这个时候我们应该怎么办?当时我们从业界能看到很多的经验分享,包括eBay、亚马逊这些国外的大公司,他们的经验分享里面,水平拆分是我们数据库涨到一定程度后的架构选择。我们从Oracle到MySQL转移,主要是用水平拆分,这是我们未来的一个弱点,那水平拆分后机器、数据库的数量都会多很多,那Oracle它本身的成本也是我们考虑的一个重要因素,所以当时从成本考虑的话,那个时候我们自然会选择用MySQL数据库。
给我们再简单总结一下这几年,淘宝整个数据库的演变过程?
刚才说到08年我们做完垂直拆分以后,09年到今年我们主要做的工作其实就是水平拆分。今年在十月份之前我们全部完成了淘宝最核心的三个系统:交易数据库、商品数据库和用户数据库的水平拆分。所以到“双十一”之前,在我们内部采访中,我一直跟采访人员说,当时数据库情绪稳定。基本上我们没有做什么事情,只是在不停的看报表,看数据,然后很开心的看到交易曲线以超过45度的趋势往上涨。
那前期还是做了非常完善的准备。据我们了解在整个从小型机到PC server的迁移,包括从Oracle到MySQL数据库的迁移,你们在做这个事情的时候,都做过好几个月的压力测试。你讲讲这个背景和故事。
是这样的,今年我们年初决定,我们商品库从小型机迁到PC server上面去,这是淘宝压力最大的一个数据库,当时是用四台小型机加两个高端存储来支撑的。要把这么大一个数据库进行迁移,我们心里面也是没有底的,因为不知道要多少台PC server能够支撑,需要什么样的配置来支撑这个压力?当时我们能够想到一个很直观的想法就是模拟线上完全一样的压力,甚至加上几倍的压力来测它的极限值。
我们和开发团队、我们的性能测试团队,加上DBA团队和ops团队,成立了一个非常大的项目组,然后做了接近两个月的性能测试,在整个测试过程中发现了非常多的问题,包括我们给Oracle、MySQL等厂商都提交了很多Bug,有些Bug也得到厂商回应,进行修复。
那整体的转变的过程到现在进行到了什么样的程度?包括你在整个转变的过程中遇到哪些问题?
我们现在最核心的用户数据库今年已经彻底完成了从小型机、存储和Oracle切入到PC server加MySQL的架构。
我们内部有一个提法叫做去O、去I、去E,其实就是我们要从高端硬件Scale up模式到低端硬件的Scal out水平扩展的模式,这是淘宝内部最大最核心的系统,今年已经顺利完成了全部区的水平扩展。其他几个系统,比如说交易和商品已经完成了一部分,完成了水平拆分的一部分,但是没有达到我们希望的进度,这可能是明年我们需要做的事情。
在转型过程中主要遇到哪些问题?
让我们觉得比较大的问题就是我们从可靠的小型机迁移到大规模,大数据量的PC server上来,从架构上就对我们就是一个非常大的挑战。大家都知道,每一个PC server的稳定性肯定和单台小型机会有一定的差距,再加上我们一个机群有可能是32台或者64台PC server。每一台PC server即使有四个9的可用性,但如果我们整个系统合在一起,可能它最后的两个9的可用性都达不到。这就需要我们从软件层、架构层要做非常多的改进,能够要让单点的一些失效对整体的系统不造成任何影响,因为我们和架构部门、开发部门一起做了很多事情,才能保证我们的集群稳定上线。
其实“双十一”这个时间应该说是对过去的技术转变的检验,现在回头来看,这个检验的结果怎么样?
当时是有点提心吊胆的,之后又觉得相对来说今年我们做的很多事情还是非常成功的。但是现在再回头仔细想想还是有点后怕,“双十一”那天的凌晨零点不是有一次Ipad的秒杀吗,当天晚上我们都在线上观察数据,在零点的一瞬间,就看到所有数据库指标已经达到了以前正常时候最高峰的指标,有些甚至还超过了。
当天晚上睡觉的时候心里就有点在打鼓:才零点就这个样子了,明天下午明天晚上最高峰的时候我们应该怎么渡过?所以第二天早上八点多的时候我们一进到指挥部里面就看到所有的指标, 包括CDN的指标、各个业务线的指标、数据库的指标都是噌噌的往上涨,这时心里面其实是很忐忑不安的。
但是我们比较放心的是这三大核心系统,商品、用户和交易,在我们今年所有的水平扩展项目做完了以后,比如说商品功能做完了以后,从我们的机械压测里面它是有十倍的流量的,所以当天百分之一百,百分之两百的流量基本上对数据库没有造成太大的影响,所以当时还是很开心的看到这个指标快速的往上涨,希望交易能够通过10个亿、20个亿,我觉得都是能够承受的。
那对于整个数据库架构的演进下一步有什么打算?
下一步其实就是刚刚说的我们有几个核心系统还没有完全的做到这个水平扩展,加上“双十一”那天我们还是有一个小惊险:我们有一个数据库,跟交易核心有一点点联系的,但它还是放在小型机上面,当时已经提前为它准备了百分之一百的余量,就是说它可以承担平时最高压力的两倍。
但是那天已经达到平时最高压力的1.8倍左右的时候,把我们吓出了一身冷汗。如果当时淘宝的交易最高峰的流量再增长20%的话,有可能数据库就会到瓶颈了。所以我们明年是要把更多这种Scale up能够看到天花板的数据库全部要拆分成水平库存这种数据库。
那你刚才所提到的去Oracle,去小型机,去高端存储,这个“三去”的整体思路给淘宝网带来了哪些经济上的效应?
当时我们知道小型机和存储的价格是非常昂贵的,还是拿我们刚才说压力最大的商品数据库举个例子,当初我们数据库是用了四台高端的小型机,两套高端的存储,成本加起来起码都是三千万以上。那目前我们用的是32台PC server来搭建的一个机群,价格也就是300万~500万的级别。相对来说我们做完这个事情以后,解决了两三千万的硬件成本。
这样来讲,整体的经济效益还是非常不错的。但是其实刚才我们在前期沟通的时候也提到,你要从Oracle转到MySQL,包括从小型机转到PC server,其实里面还是会遇到蛮多问题的,包括它的不稳定性等等,那对于这一方面你有没有什么经验可谈?
在这一方面,我觉得有两个很重要的因素。第一个是我们需要和我们的开发前端应用架构部门能够紧密的合作,能够让我们的应用融入刚才说的整个机群的单点失效和容灾的问题。都需要我们和架构部门一起来考虑的;第二个比较大的经验就是目前我们在做的,深入研究MySQL的源代码。我们从研究和压力测试的过程中,发现MySQL它本身代码的一些缺陷,可能在高并发大压力下会有很多隐藏的Bug。
在我们最近的这次测试当中,我们还发现了Facebook发布的FlashCache二级缓存的软件,当时我们是测出它一个非常大的Bug:并发压力非常大的情况下,它会导致MySQL成为一个僵尸进程。我们发现了以后,很快反馈给Face book,然后Face book很快就修复了这个问题,这也是我们对使用开源软件带来更大的一个信心,就是开源能够在全球得到更多的支持,大家都能够从原代码层面来解决更深层次的一个问题。
我想这也可能是淘宝技术团队现在那么开放,那么注重开源的动力之一。那如果说想对MySQL的一些核心代码做编译,就需要对人才的储备,包括各方面资源整合的要求还是蛮大的,那你在这方面有没有什么感触?
说到人才这个话题,08年的时候,淘宝当时准备大规模的往MySQL方向上转,我们内部也是有一些置疑的声音。他们说淘宝DDA团队以前都是在Oracle方面比较专精,在业界来说,淘宝的DDA团队在Oracle方面更加有名气一些。所以我们内部有置疑的声音。就是说你们有MySQL专家吗,MySQL出问题了以后能很快的解决吗?所以从08年到现在,我们慢慢的一路走过来,内部培养了很多的MySQL的人才,包括这几年我们的应届生的成长,再加上我们从外部招到一些专家,我们对MySQL的理解已经越来越深。
刚才说到,我们已经能够给MySQL打Patch,已经能够给MySQL report这些Bug。到现在为止,我觉得MySQL的成长已经达到了非常高的一个程度,我们对MySQL已经越来越有信心,但是未来淘宝的MySQL肯定是要做得越来越大的,淘宝还有很多小型机上面扩展不太容易的系统需要迁移到可扩展的机群上面来,但我们也希望业界能够有更多的MySQL伙伴加入我们,和我们一起来做这么一件非常有意义的事情。
我想能够加入到淘宝的技术团队,去经历那么多有大交易量的技术实践还是非常宝贵的。另外一个问题就是虽然说现在我们用的越来越多的是MySQL,但是现在大家也知道MySQL已经被Oracle收购了,那对像淘宝这样的团队有什么影响呢?
大家都知道MySQL其实是基于GPL的协议来开源的软件,那淘宝在使用过程中,前期是已经考虑到一些风险。所以我们所有的MySQL都是自己来做编译做优化的,而且我想MySQL被Oracle收购了以后,现在看起来Oracle应该是给MySQL在开发这方面是提供了更大的帮助,像之前在Sun的时候,MySQL的版本相对来说是比较混乱的,包括我们现在在用的5.0和5.1的正式版本,最近还有包括开发方面就还有两个,一个6.0,一个5.4,这些特性会互相交织在一起,让我们选择的时候也有点不知道到底选哪个版本会更好一点。但现在Oracle收购MySQL以后,他把5.4跟6.0这些版本已经合成了一个比较规范的5.5的版本,并且为它制订了很好的一个milestone15:31,未来要怎么发展这个里程碑,M1、M2、M3、M4这种发展方向,而到现在为止这个5.5已经发展到5.6、5.7的版本,而且已经是IC版本了,很快就要GA了,那我想这对于MySQL来说应该是一个好消息。我们可以用到更多更稳定的新特性, 5.5版本里有几个新的特性是我们非常关注的,比如Google已经达到英文15:57这个pach,所以我们觉得对我们未来的这个MySQL这个系统非常有用的一个功能。那我们也等着Oracle的5.5这个版本能够尽快的GA出来。

⑵ 怎样分析淘宝网网站的结构和功能

1.建立网站的目标和业务分析。

淘宝网致力于成为全球最大的个人交易网站,是一个典型的C2C应用模式。他们的目标是成为世界上最大的个人交易网站。

做好最大的个人交易网站,我们必须提高网站的流量,淘宝投资很多钱,广告从车厢广告、报纸、户外广告、广播、电视、网络媒体等,最后赢得了平均每天6000万访客。

2.网站目标客户分析。

致力于打造全球最大的个人交易网站,所以,淘宝的目标客户,无疑是在网上开店的卖家,淘宝做的工作,就是吸引这些卖家的眼球,让他们开店,免费的一切费用,让他们无后顾之忧。

3.竞争对手分析。

当我在淘宝上开店的时候,我的公司已经在中国发展了好几年了。通过对icomany的调查和对中国国情的调查,淘宝网在三年内实施了免费政策,支持卖家,吸引更多卖家,使电子商务在中国能够顺利快速发展。

4.网站市场定位分析。

淘宝是由阿里巴巴投资4.5亿元建立的。公司定位为“全球最大的个人电子商务平台,致力于完善C2C电子商务平台”。

倡导安全、诚信、活波、高效的网络交易文化,淘宝会员在打造一个诚信、安全的交易平台的同时,还致力于营造一个温馨、舒适的购物环境,让您在购买的同时,还能交到更多的朋友。

5.内容更新和沟通。

淘宝的内容更新的很快,就像它的主页,有一元拍卖,荷兰式拍卖,二手的,新的商店,等等,这样的内容,几乎每天都在变,因为淘宝的拍卖中,根据时间排名,拍卖时间越短越接近前线。

还有公告栏,随时发布信息,让用户及时了解淘宝的一些活动和规则。此外,淘宝还有店主、客服,及时处理一些用户的问题、建议和投诉。

(2)淘宝的具体数据库结构扩展阅读:

注意事项:

1.淘宝结构

Aliwangwang:一个在线注册用户互相交流的即时通讯软件。Aliwangwang是淘宝官方推荐的交流工具。

淘宝店铺:所有淘宝卖家在使用淘宝旺铺或网店时,淘宝旺铺是比较常见的店铺,而每一家新店的诞生都是淘宝上的默认系统生成的店铺界面,常被称为普通店铺。

淘宝网铺(个性化店铺)服务是由淘宝提供给淘宝卖家的,允许卖家使用淘宝提供的电脑和网络技术,实现与淘宝一般店铺展示形式不同的个性化店铺页面展示功能。

淘宝索引:基于淘宝的免费数据查询平台。通过输入关键字,可以搜索淘宝市场细分市场的热点、交易趋势,定位消费者群体的趋势变化。

快乐淘宝:2009年12月,淘宝和湖南卫视“快乐淘宝,”合资公司,扩大市场,电视购物不仅推出了2010年4月在湖南卫视“快乐淘宝”项目,还在淘宝上创建一个“快乐淘宝”独立子区和外部网站,创建电子商务结合电视媒体品牌新的商业模式。

淘宝基金:2013年11月1日中午,淘宝基金融资渠道上线,泰达瑞丽、国泰航空、鹏华、富国银行等众多基金也将成为首支在淘宝商城上线的基金。

淘点点:淘宝推出“淘点点”,希望重新定义“吃”。2013年12月20日,淘宝宣布正式推出移动餐饮服务平台——淘点点。通过淘点点,消费者可以下订单,随时付款,留下送货地址和电话,10分钟后,外卖商家就会把新鲜出炉的食物送到家门口。

2.淘宝技术应用

(1)网站界面设计:淘宝网不断改进和创新,使网站的画面更加简洁。

(2)客户服务中心:一旦用户有不理解的问题,可以到客服中心的页面寻求解决方案。客户服务中心包括四个板块:帮助中心、淘友互助吧、淘宝大学、买/卖安全。

(3)虚拟社区:淘宝虚拟社区的成功促进了消费者的信任。在虚拟社区下,有建议厅、咨询台、支付宝学校、淘宝故事、体验等。

(4)淘宝网实名认证:一旦淘宝发现用户注册信息中的主要内容不真实,淘宝可以随时终止与用户的服务协议

(5)交易平台:为了解决C2C网站支付问题,淘宝搭建了“支付宝服务”技术平台。

⑶ 淘宝用的什么数据库

淘宝选择的是MySQL的MyISAM引擎作为底层的数据存储引擎。

且为了应对海量数据,他们设计了分布式MySQL集群的查询代理层-MyFOX

⑷ 淘宝网站建设中运用了哪些数据库技术

用的Oracle数据库,因为每年淘宝和阿里巴巴在大学招聘数据库人员的时候,考试都是要会Oracle技术的!!所以淘宝在数据库方面只定用的是Oracle
还有lz的问题问的也不严谨呀!
楼上的微笑,根本答的都不对
数据库分为
1. IBM 的DB2 2. Oracle 3. Informix 4. Sybase 5. SQL Server 6. PostgreSQL 7.mySQL 常用的就5.7把这2样学会就完全可以了

⑸ 淘宝用的什么数据库

淘宝选择的是MySQL的MyISAM引擎作为底层的数据存储引擎。
且为了应对海量数据,他们设计了分布式MySQL集群的查询代理层-MyFOX

⑹ 淘宝网采用的架构是b/s还是c/s

B/S

B/S(Browser/Server)结构即浏览器和服务器结构。通常说的网页。

C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。通常指的是软件。

⑺ 如何利用淘宝网数据库的结构,来提高自己的商品排名

你建个淘宝用户 用到的字段你都可以列出来 自己总结的好 分别放到不同的数据表下 建立主键及关系图 既然问这个级别的问题就多练习下吧

⑻ 淘宝的数据库怎么搭建

淘宝的整个的数据库团队在逐渐的把一些数据库从Oracle迁移到MySQL,然后呢,把一些服务器由小型机转到PC server,MySQL其实是基于GPL的协议来开源的软件,那淘宝在使用过程中,前期是已经考虑到一些风险。
MySQL的版本相对来说是比较混乱的,包括我们现在在用的5.0和5.1的正式版本,最近还有包括开发方面就还有两个,一个6.0,一个5.4,这些特性会互相交织在一起,让我们选择的时候也有点不知道到底选哪个版本会更好一点。
做网站的时候要找出性价比更高的合作伙伴,从价格,服务,技术等多方面考虑,而不是为做网站而做网站,不懂网站SEM的或只懂技术的最好别用,SEO的目的。

⑼ 淘宝网站分析

1、淘宝结构

阿里旺旺:一种即时通讯软件供网上注册的用户之间通讯,阿里旺旺是淘宝网官方推荐的沟通工具。

淘宝店铺:指所有淘宝卖家在淘宝所使用的旺铺或者店铺,淘宝旺铺是相对普通店铺而诞生的,每个在淘宝新开店的都是系统默认产生的店铺界面,就是常说的普通店铺。而淘宝旺铺(个性化店铺)服务是由淘宝提供给淘宝卖家,允许卖家使用淘宝提供的计算机和网络技术,实现区别于淘宝一般店铺展现形式的个性化店铺页面展现功能的服务。

淘宝指数:是一款基于淘宝的免费数据查询平台,可通过输入关键词搜索的方式,查看淘宝市场搜索热点、成交走势、定位消费人群在细分市场的趋势变化的工具。

快乐淘宝:2009年12月,淘宝和湖南卫视合作组建“快乐淘宝”公司,联手拓展电视网购新市场,不仅于2010年4月在湖南卫视推出“快乐淘宝”节目,还在淘宝网上开辟“快乐淘宝”子频道专区和外部独立网站,创建电子商务结合电视传媒的全新商业模式。

淘宝基金:2013年11月1日中午,淘宝基金理财频道上线,泰达瑞利、国泰、鹏华、富国等多只基金也将成为首批上线的基金淘宝店。

淘点点:淘宝推出“淘点点”,希望重新定义“吃”。2013年12月20日,淘宝宣布正式推出移动餐饮服务平台――淘点点。通过淘点点,消费者可以随时随地自助下单、付款,留下送货地址和电话,十几分钟后,外卖商户就把新鲜出炉的美食送上门。

2、淘宝功能

亚洲最大、最安全的网上交易平台,提供各类服饰、美容、家居、数码、话费/点卡充值==. 2亿优质特价商品,同时提供担保交易(先收货后付款)、先行赔付、假一赔三、七天无理由退换货、数码免费维修等安全交易保障服务。

3、淘宝技术运用

(1)网站界面设计。淘宝网不断地改进和创新,使得网站的画面更加简洁。

(2) 客服中心。一旦用户有什么不明白的问题,就可以到客服中心的页面下寻求解决,客服中心包括:帮助中心、淘友互助吧、淘宝大学和买/ 卖安全四大版块。

(3) 虚拟社区。淘宝的虚拟社区建立的成功,促进了消费者的信任。虚拟社区下设建议厅、询问处、支付宝学堂、淘宝里的故事、经验畅谈居等版块。

(4)淘宝网的实名认证。一旦淘宝发现用户注册资料中主要内容是虚假的,淘宝可以随时终止与该用户的服务协议

(5)交易平台。为了解决C2C 网站支付的难题,淘宝打造了“支付宝服务”技术平台。

(9)淘宝的具体数据库结构扩展阅读 :

安全制度

淘宝网也注重诚信安全方面的建设,引入了实名认证制,并区分了个人用户与商家用户认证,两种认证需要提交的资料不一样,个人用户认证只需提供身份证明,商家认证还需提供营业执照,且,一个人不能同时申请两种认证。淘宝同样引入了信用评价体系,点击还可查看该卖家以往所得到的信用评价。

对于买卖双方在支付环节上的交易安全问题,淘宝推出了名为"支付宝"的付款发货方式,以此来降低交易的风险。支付宝特别适用于电脑、手机、首饰及其它单价较高的物品交易或者一切希望对安全更有保障的交易。在淘宝使用支付宝目前是免费的。当用户用支付商品货款的时候,通过淘宝的工行接口付款,用户不用负担汇费。

购物尤其在购买大件商品的时候,注意看卖家是否同意使用支付宝,如果同意支付宝,那么保险系数更大一些。如果卖家在商品上没有同意使用支付宝的承诺,你可以和卖家联系。

参考资料来源:网络-淘宝网

⑽ 谁知道,淘宝在后台的数据库群集是个什么架构,想学习下。

大型的数据库,都是通过多台服务器连接架设的,他们是一个整体的系统,就是说 第一台服务器放哪些表,第二台服务器又放哪些表 etc..
做这些都是因为一台服务器无法负荷。