todayx.org
          todayx.org
          posts - 39,comments - 60,trackbacks - 0

          一、問(wèn)題:鐵路的售票系統(tǒng)的數(shù)據(jù)量是海量嗎?
           
            不是。因?yàn)閿?shù)據(jù)量不大,真不大。

            每一個(gè)車次與車次間是獨(dú)立的,每車次不超過(guò)2000張票,一天發(fā)車不超過(guò)50萬(wàn)車次;
           以預(yù)售期15天來(lái)講,15*0.1億張不超過(guò)1.5億筆的熱線數(shù)據(jù),稱不上海量數(shù)據(jù)的。
           再加上可以按線路分庫(kù),更是不到千萬(wàn)級(jí)的單表容量。已經(jīng)發(fā)車完成的進(jìn)入歸檔分析。
           即數(shù)據(jù)庫(kù)按路線使用不同的服務(wù)器,不同的車次放在不同的表中。并發(fā)量鎖真不大。

           當(dāng)然,如果不分庫(kù)分表,再加上不歸檔處理,鐵路的售票系統(tǒng)的數(shù)據(jù)量看起來(lái)是海量的;
          關(guān)鍵是這海量的數(shù)據(jù)沒(méi)有意義。


          二、如何分庫(kù)分表?

           2.1 分庫(kù),考慮數(shù)據(jù)間沒(méi)有直接關(guān)系和服務(wù)器如何部署

            鐵路的售票系統(tǒng)為例來(lái)說(shuō),按路線分庫(kù),再按車次分表是合理的。
            設(shè)路線有1萬(wàn)條,按每1000條需要兩臺(tái)服務(wù)器(一臺(tái)熱機(jī)沉余),不到20臺(tái)服務(wù)器
            如果使用SAN存儲(chǔ),則使用SAN作為存儲(chǔ),本機(jī)作為熱機(jī)沉余,只需要10臺(tái)。
            當(dāng)然使用mySQL這種經(jīng)濟(jì)型數(shù)據(jù)庫(kù),服務(wù)器需要更多來(lái)防災(zāi);
            即可以采用雙寫或多寫的方式來(lái)保證數(shù)據(jù)的絕對(duì)安全。

           2.2分表,考慮數(shù)據(jù)間不存在重疊,即數(shù)據(jù)滿足二分原則

            鐵路的售票系統(tǒng)的任意兩個(gè)車次是沒(méi)有關(guān)系的,所以可以分表。
            電信的某個(gè)用戶的通話和其它用戶的通話記錄,也是沒(méi)有關(guān)系,所以可以分表處理
            (實(shí)際上電信的系統(tǒng),分庫(kù)分表后也是不大的,難在后臺(tái)的計(jì)費(fèi)、結(jié)算等規(guī)則)

           

          三、數(shù)據(jù)庫(kù)訪問(wèn)接口

           

            1. 元數(shù)據(jù):如何識(shí)別到當(dāng)前要處理的數(shù)量在哪張表?

              鐵路的售票系統(tǒng)會(huì)有一個(gè)車次管理系統(tǒng),例2012年2月12日 D3206 車次,
              按預(yù)先設(shè)計(jì)的在哪臺(tái)服務(wù)器的哪個(gè)庫(kù),建哪個(gè)表。

            2.建立元數(shù)據(jù)的規(guī)則:即具體如何分庫(kù)分表的規(guī)則

              這個(gè)就是數(shù)據(jù)庫(kù)的訪問(wèn)接口。

            3.數(shù)據(jù)庫(kù)訪問(wèn)接口的透明程度

            即哪個(gè)層知道哪些元數(shù)據(jù)信息。
           例,是否讓窗口售票的客戶端來(lái)解析元數(shù)據(jù)的規(guī)則然后緩存,還是通過(guò)中間件來(lái)解析緩存的

           具體各層使用怎樣透明程度,和業(yè)務(wù)性質(zhì)、節(jié)點(diǎn)和數(shù)據(jù)中心的拓?fù)涞扔嘘P(guān)。

           

          四、歷史數(shù)據(jù)歸檔與分析

            1.使用分庫(kù)分表后,數(shù)據(jù)需要?dú)w檔,分析處理的程序變得復(fù)雜,但使聯(lián)機(jī)交易變得簡(jiǎn)單
            2.分析:要注意是針對(duì)熱線數(shù)據(jù)分析、歸檔數(shù)據(jù)分析、混合分析有關(guān),
             通過(guò)分庫(kù)分表和歸檔,更方便使用分布式的統(tǒng)計(jì)方案。

            具體可以參考,淘寶的開(kāi)放平臺(tái)架構(gòu)師寫的文章:

           結(jié)論:分庫(kù)分表跟不分庫(kù)分表,整個(gè)架構(gòu)是完全不一樣的。

             像鐵票的售票系統(tǒng)、淘寶、電信、銀行等,絕對(duì)要采用分庫(kù)分表的數(shù)據(jù)存儲(chǔ)方案,

             來(lái)解決數(shù)據(jù)量的增長(zhǎng)而不影響性能的問(wèn)題。

             像淘寶等互聯(lián)網(wǎng)應(yīng)用還要解決帶寬即CDN問(wèn)題。


          歷史上的今天
          回顧歷史的今天,歷史就像生活的一面鏡子;可以了解歷史的這一天發(fā)生的事件;借古可以鑒今;歷史是不能忘記的.要記住歷史的每一天
          http://www.todayx.org/
          posted on 2012-01-16 21:01 todayx.org 閱讀(2481) 評(píng)論(4)  編輯  收藏

          FeedBack:
          # re: 鐵路的售票系統(tǒng)來(lái)說(shuō)明分庫(kù)分表對(duì)架構(gòu)的影響
          2012-01-16 22:03 | foo
          能不能別寫錯(cuò)別字
          鐵路的售票系統(tǒng)的瓶頸恐怕不是分庫(kù)分表能解決的
          即便是分庫(kù)分表能解決,這篇文章也有點(diǎn)想當(dāng)然
            回復(fù)  更多評(píng)論
            
          # re: 鐵路的售票系統(tǒng)來(lái)說(shuō)明分庫(kù)分表對(duì)架構(gòu)的影響
          2012-01-16 22:04 | laji2000
          淘寶的開(kāi)放平臺(tái)架構(gòu)師寫的文章是啥啊,樓主告訴我吧
            回復(fù)  更多評(píng)論
            
          # re: 鐵路的售票系統(tǒng)來(lái)說(shuō)明分庫(kù)分表對(duì)架構(gòu)的影響
          2012-01-16 22:11 | bbq
          問(wèn)題:鐵路的售票系統(tǒng)的數(shù)據(jù)量是海量嗎?
          當(dāng)然不是 還用你說(shuō)啊,壓力根本就不在數(shù)據(jù)庫(kù)上

          你研究解決不存在的問(wèn)題啊  回復(fù)  更多評(píng)論
            
          # re: 鐵路的售票系統(tǒng)來(lái)說(shuō)明分庫(kù)分表對(duì)架構(gòu)的影響
          2012-01-17 09:42 | 何楊
          標(biāo)記一下。  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 丹阳市| 桑植县| 瑞昌市| 沙湾县| 富锦市| 昌都县| 洪江市| 呼伦贝尔市| 安新县| 宜章县| 方山县| 青神县| 镶黄旗| 正阳县| 米脂县| 云南省| 古田县| 沅陵县| 南阳市| 黄冈市| 崇左市| 钟山县| 平度市| 信丰县| 本溪市| 闻喜县| 德格县| 英山县| 正定县| 伊吾县| 普格县| 海林市| 大埔县| 南乐县| 甘肃省| 松阳县| 色达县| 昔阳县| 克山县| 綦江县| 吉隆县|