ホームページ データベース mysql チュートリアル 淘宝数据库负责人介绍淘宝数据库设计

淘宝数据库负责人介绍淘宝数据库设计

Jun 07, 2016 pm 03:56 PM
データベース タオバオ

江枫先给我们介绍一下自己,和你在这次淘宝“双十一”事件中所扮演的角色? 大家好,我是淘宝技术保障部的江枫。目前主要负责数据库的稳定性这一块。双十一这一天,我主要是负责协调整个数据库团队和保障整个数据库在“双十一”过程中的稳定性不受任何影响。

江枫先给我们介绍一下自己,和你在这次淘宝“双十一”事件中所扮演的角色? \大家好,我是淘宝技术保障部的江枫。目前主要负责数据库的稳定性这一块。双十一这一天,我主要是负责协调整个数据库团队和保障整个数据库在“双十一”过程中的稳定性不受任何影响

那给我们详细的谈一下淘宝网现在整个数据库整体的一个架构,包括它硬件的组成。 \
淘宝的数据库发展到今天,已经是一个非常复杂的系统。我大概算了一下,淘宝目前所有的数据库服务器加起来可能已经超过800台。那在这么一个规模底下,淘宝的数据库团队这么多年也是随着淘宝的业务发展一起成长起来的,但淘宝数据库目前核心的数据库还在小型机和高端的存储上面,还有很多的数据库现在是用的是MySQL,我们逐步在从Oracle到MySQL这个方向在转移,所以我们MySQL PC server硬件也是非常多的了。

我们也了解到,现在淘宝的整个的数据库团队在逐渐的把一些数据库从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出来。

更多相关教程请访问 MySQL视频教程

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

タオバオの無料赤い封筒 2024 を入手する方法 タオバオの無料赤い封筒 2024 を入手する方法 May 09, 2024 pm 03:22 PM

2024年のタオバオ無料注文イベントは1日3回開催され、誰もが対応する時間に対応する量の商品を注文し、支払う必要があります。無料注文金額は同額の赤い封筒の形で配布されます。次に、2024 年に淘宝網の無料注文の赤い封筒を受け取る方法を紹介します。それを入手します。無料のユーザーの場合、赤い封筒の資格は、アクティベーション状態にあるカードとクーポンのパッケージに発行されます。タオバオのウェブ版には現在カードとクーポンのパッケージがなく、無料注文イベントの当選記録のみが表示されます。カードとクーポンのパッケージは [淘宝網 APP - 私の淘宝網 - 私の権利 - 赤い封筒] にあります。淘宝網の無料赤い封筒を入手する方法 20241. 無料の注文を獲得したユーザーには、有効化を待機している状態のカードとクーポン パッケージに赤い封筒の資格が配布されます。 2. 現在、淘宝網の Web バージョンでは、カードとクーポンのパッケージがあり、無料注文アクティビティの当選記録のみが表示されます。 ;3. カード クーポン パッケージは [淘宝網 APP - 私の淘宝網 - 私の権利 - 赤い封筒] にあります。

タオバオで赤い封筒のリマインダーをオフにする方法 タオバオで赤い封筒のリマインダーをオフにする方法 Apr 01, 2024 pm 06:25 PM

タオバオは、多くの友人がよく使用するオンライン ショッピング ソフトウェアです。あなたは通常、タオバオで注文したり、さまざまなものを購入したりします。ユーザーに赤い封筒のリマインダー機能を提供します。これをオフにしたいという友人もいます。急いで PHP 中国語をチェックしてください。ウェブサイトをご覧ください。タオバオで赤い封筒のリマインダーをオフにする手順のリスト 1. タオバオ APP のパーソナルセンターを開き、[設定] ボタンを選択してページに入ります。 2. [メッセージ通知] オプションを見つけて、メッセージプッシュスイッチを選択し、赤い封筒のメッセージを見つけてスイッチをオフにします。 3. または、携帯電話の設定ページから淘宝アプリの通知許可をオフにすることもできます。これにより、淘宝網からのすべてのメッセージはプッシュされず、通知許可をオンにした後にのみ表示されます。 4. 受信するメッセージの種類をユーザーが設定できるため、使いやすくなります。

「タオバオ」510無料紅封筒の使い方 「タオバオ」510無料紅封筒の使い方 May 08, 2024 pm 10:00 PM

タオバオ510の無料赤い封筒の使い方は?タオバオは最近、510周年を記念して無料注文イベントを開始しました。このイベントでは、多くの特典があり、このイベントに参加したいと考えている友人もいます。ですが、具体的な使い方がわかっている場合は、今日の関連する紹介を見てみましょう。タオバオの 510 周年記念無料注文レッド パックの使用手順: 無料注文レッド パックは、推測質問のためのすべての注文が確認され受信された後に使用できます。 1. ユーザーはウェブ版淘宝網を通じて無料の赤い封筒を発行および回収することができます。現在、カードとクーポンのパッケージはありませんが、[淘宝網 APP - 私の淘宝網 - 私の権利 - 赤い封筒] で見ることができます。無料の注文を取得したユーザーには、赤い封筒の資格がカードとクーポンのパッケージに配布され、カードとクーポンのパッケージは賞品獲得のために有効化されています。

「タオバオ」の無料紅包の返金は返ってくるのでしょうか? 「タオバオ」の無料紅包の返金は返ってくるのでしょうか? May 08, 2024 am 08:16 AM

タオバオで買い物をするとき、割引を受けるために無料の赤い封筒をよく使います。しかし、返金が必要な場合、この無料の赤い封筒は返却されるのでしょうか?この質問に対する答えを見てみましょう。タオバオの無料の赤い封筒は返金されますか? 状況によっては、赤い封筒を受け取ったときに、製品を引き換える前に赤い封筒がアクティブ化保留状態になっているため、アクティブ化される赤い封筒は使用できません。購入した製品の受領が確認されるまで一時的に待機し、アクティベートする必要がある赤い封筒を使用できます。無料の赤い封筒を使用した後に製品に問題があり、返品する必要がある場合、赤い封筒の返却は実際の状況に応じて判断する必要があります。 1. 返金ルール 11. 返品後に返金が発生した場合赤い封筒を使用した場合、赤い封筒は比例して返却されます。 2. 返却期限を過ぎていない場合は、返却された赤い封筒の使用期間が本来の使用期限となります。期限を過ぎた場合は7日以内に発行されます。

Hibernate はポリモーフィック マッピングをどのように実装しますか? Hibernate はポリモーフィック マッピングをどのように実装しますか? Apr 17, 2024 pm 12:09 PM

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

「タオバオ」510周年記念無料紅封筒の使い方 「タオバオ」510周年記念無料紅封筒の使い方 May 08, 2024 am 08:28 AM

タオバオの無料紅封筒の使い方は?タオバオは中国最大のネットショッピングプラットフォームとして、豊富な商品を提供しているだけでなく、さまざまな優待企画も頻繁に打ち出しており、その中でも「無料紅包」が人気です。では、タオバオの無料の赤い封筒を使用するにはどうすればよいでしょうか?次に、一緒に調べてみましょう。タオバオの510周年記念無料注文レッドパケットを使用するための推測質問の使用方法 すべての注文が確認され受信された後、無料注文レッドパックを使用できるようになります。 1. 無料注文を獲得したユーザーへの無料注文用の赤い封筒の発行と回収。現在タオバオのページ版では有効化を待っている状態にあるカードとクーポンパッケージに赤い封筒の資格が配布されます。カードとクーポン パッケージがあり、無料注文アクティビティの当選記録のみが表示されます。カード クーポン パッケージは [淘宝網 APP-私の淘宝網-私の権利-赤い封筒] にあります。ユーザーの注文の取引状況が入金確認されたとき(一括払いの場合)

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

タオバオ社内ベータ版アフターセールス交渉ツール: 消費者とのコミュニケーション効率を向上させ、返金率を効果的に削減 タオバオ社内ベータ版アフターセールス交渉ツール: 消費者とのコミュニケーション効率を向上させ、返金率を効果的に削減 Aug 07, 2024 pm 04:35 PM

このウェブサイトは8月2日、タオバオが「返金のみ」ポリシーを緩和する一方で、販売後のシナリオにおける販売者と消費者の独立した交渉ニーズを満たすために、すべてのタオバオと天猫の販売者向けに販売後の交渉ツールも立ち上げると報じた。 1. 通常の状況では、購入者がアフターサービスを開始する場合、販売者は同意するか拒否するかしか選択できません。購入者の非標準的なアフター要求(商品を受け取った後の全額返金の要求、販売者責任返金のための有効な伝票を提供できないなど)に対して、販売者は拒否を購入者とのコミュニケーション チャネルとしてのみ考えることができます。交渉を通じて解決する必要がある問題の場合、無礼な拒否はプラットフォームの助けを求める率とプラットフォームの賠償責任率のリスクを高めます。報告によると、このツールは現在、一部の販売業者向けに内部テスト中であるとのことで、消費者に慰めの言葉を送信するなど、販売後のシナリオで消費者のさまざまなニーズに応じて選択できるさまざまなソリューションを自動的に提供できます。

See all articles