久久人人爽人人爽人人片av不,日韩av不卡在线观看,成人国产欧美大片一区,日本a久久,国产农村妇女精品一区,中文字幕在线免费观看av,久久久久亚洲精品

熱烈慶祝南京國(guó)際服務(wù)外包企業(yè)協(xié)會(huì)網(wǎng)站成功改版! 2013.9.16

行業(yè)動(dòng)態(tài)

數(shù)據(jù)庫(kù)是個(gè)監(jiān)獄,Expensify是如何“越獄”的?

發(fā)布時(shí)間:2016-12-16 點(diǎn)擊次數(shù):2801

    費(fèi)用管理公司Expensify第一次設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu),是為了建立自己的公司信用卡系統(tǒng)。與金融機(jī)構(gòu)合作有著嚴(yán)格的要求:響應(yīng)時(shí)間在毫秒內(nèi)、多臺(tái)服務(wù)器實(shí)時(shí)復(fù)制、每一個(gè)交易都必須記錄,并進(jìn)行身份驗(yàn)證等。當(dāng)時(shí),這些要求對(duì)于一個(gè)想要建立一個(gè)高層次、企業(yè)級(jí)架構(gòu)的創(chuàng)業(yè)公司來(lái)說(shuō)無(wú)疑是矯枉過(guò)正的。當(dāng)公司把精力耗費(fèi)在昂貴的報(bào)告上時(shí),強(qiáng)大的技術(shù)處理也是必不可少的。創(chuàng)業(yè)公司往往不知道,他們的早期決策是多么得有價(jià)值。Expensify的創(chuàng)始人兼CEO David Barrett(大衛(wèi)·巴雷特)也是在后來(lái)才意識(shí)到早期限制Expensify的數(shù)據(jù)庫(kù)架構(gòu)關(guān)系著企業(yè)的許多關(guān)鍵性競(jìng)爭(zhēng)優(yōu)勢(shì)。

  在超過(guò)八年的時(shí)間里,巴雷特見(jiàn)證了數(shù)據(jù)庫(kù)設(shè)計(jì)早期的大量投資所帶來(lái)的優(yōu)勢(shì)。這種優(yōu)勢(shì)不僅體現(xiàn)在產(chǎn)品的功能,也創(chuàng)新了一個(gè)激進(jìn)的商業(yè)模式,以此來(lái)贏得不同于競(jìng)爭(zhēng)對(duì)手的客戶(hù)青睞??蛻?hù)量在2015增長(zhǎng)了超過(guò)120%,超過(guò)同行業(yè)競(jìng)爭(zhēng)對(duì)手近70%。費(fèi)用管理公司現(xiàn)在服務(wù)著超過(guò)20000家公司。巴雷特認(rèn)為,公司的成功,很大一部分應(yīng)該歸功于技術(shù)決策,特別是得以依靠非常強(qiáng)大的數(shù)據(jù)庫(kù)體系。

  First Round Review對(duì)巴雷特進(jìn)行了獨(dú)家專(zhuān)訪(fǎng),談到了數(shù)據(jù)庫(kù)系統(tǒng)和一個(gè)創(chuàng)業(yè)公司是怎樣因此陷入危機(jī)的。并且就一些應(yīng)該要避免的錯(cuò)誤進(jìn)行了解釋性說(shuō)明。他分享了創(chuàng)業(yè)公司技術(shù)和商業(yè)模式的規(guī)模化和實(shí)現(xiàn)成功的三個(gè)關(guān)鍵步驟。最后,他還分享了校正數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的方法。

  許多初創(chuàng)公司在數(shù)據(jù)庫(kù)體系的建立一事上會(huì)存在動(dòng)搖

  初創(chuàng)公司都知道,他們應(yīng)該是“數(shù)據(jù)驅(qū)動(dòng)”型的公司,但很少能在做出關(guān)鍵技術(shù)決策時(shí)知道這究竟意味著什么。“當(dāng)您剛開(kāi)始創(chuàng)業(yè)時(shí),您沒(méi)有數(shù)據(jù),也沒(méi)有客戶(hù)。您所做的一切都可以簡(jiǎn)單地用一個(gè)由單一的Web服務(wù)器支持的單一數(shù)據(jù)庫(kù)搞定。你會(huì)選擇使用舊式機(jī)器,或者是目前流行的那款,然后還會(huì)覺(jué)得這是最好的選擇了。“巴雷特說(shuō)。“隨著公司的發(fā)展,慢慢地,單個(gè)服務(wù)器的性能或可靠性不再適用,您開(kāi)始需要多臺(tái)服務(wù)器。接著,你會(huì)把一臺(tái)臺(tái)的服務(wù)器增加到你曾經(jīng)單一的數(shù)據(jù)中心,公司的產(chǎn)能也會(huì)隨著規(guī)模的逐漸擴(kuò)大而增加。”

  這就是為什么一些方法會(huì)讓許多創(chuàng)業(yè)者落入陷阱:

  到處都是松鼠。在皮克斯的一個(gè)電影《飛屋環(huán)游記》中,主人公在聊金毛獵犬道格時(shí),話(huà)說(shuō)到一半,突然停下來(lái),大叫“松鼠!很多時(shí)候想到的不一定就是看到的。“大多數(shù)公司都會(huì)在他們最熟悉的領(lǐng)域來(lái)創(chuàng)業(yè)。這是一個(gè)安全的選擇,它有效地在最開(kāi)始讓風(fēng)險(xiǎn)最小化。不幸的是,人們對(duì)過(guò)去熟悉,但是世界屬于未來(lái),“巴雷特說(shuō)。“有膽識(shí)的公司總是退后一步,看看有什么新鮮的或者比熟悉的更好的東西。這當(dāng)然是好的。但是,很多公司把“時(shí)髦”誤認(rèn)為是“好”,然后在他們猶豫用什么時(shí),選擇一些恰好流行但卻未經(jīng)檢驗(yàn)的技術(shù)。事實(shí)上。這種做法會(huì)慢慢地將你的創(chuàng)業(yè)公司置于死地的。

  幾年前,巴雷特曾就職于一個(gè)公司。這個(gè)公司試圖建立一個(gè)早期版本的Dropbox。“所有的技術(shù)是當(dāng)時(shí)有的,但他們堅(jiān)持不用簡(jiǎn)單的集中式系列服務(wù)器而要用那個(gè)名叫JXTA的糟糕透頂?shù)腜2P技術(shù)。我們那時(shí)候沒(méi)有客戶(hù),也沒(méi)有多少數(shù)據(jù)需要來(lái)存儲(chǔ),但我們的首席技術(shù)官偏要把整個(gè)公司賭上來(lái)用這個(gè)分布式系統(tǒng),并且聲稱(chēng)這是得以擴(kuò)展到PB級(jí)數(shù)據(jù)的唯一途徑,”巴雷特說(shuō)。“跟很多看上去不錯(cuò),綜合性很強(qiáng)的解決方法一樣,它根本不可能實(shí)現(xiàn)預(yù)期目標(biāo)。這種技術(shù)簡(jiǎn)直是一個(gè)噩夢(mèng),之后也再?zèng)]有在生產(chǎn)環(huán)境中使用過(guò)。公司幾次調(diào)整戰(zhàn)略,最終,在四年后一個(gè)融合新舊,新一代Dropbox的解決方案問(wèn)世了。”

  任何初創(chuàng)公司的關(guān)鍵挑戰(zhàn)是新舊結(jié)合,保證最新科技不會(huì)被扼殺在搖籃里。

  你不是Google。這并不是說(shuō)你將來(lái)不能或者不會(huì)成為像Google那樣。但不要一開(kāi)始就做這個(gè)假設(shè)。“當(dāng)下流行的技術(shù)是給那些已經(jīng)出現(xiàn)規(guī)模效應(yīng)、有著復(fù)雜需求的成熟公司的。那些都是理想中的新技術(shù)。你作為一個(gè)新創(chuàng)的品牌公司,需求跟像Google這樣的大公司相同的可能性是微乎其微的,”巴雷特說(shuō),“像Postgres的數(shù)據(jù)庫(kù)也不錯(cuò),但是它們都不夠酷炫。Google用的那種有特色的數(shù)據(jù)庫(kù)技術(shù)聽(tīng)上去更有意思。我想要像Google,所有我就要選擇那種技術(shù)。”

  但人們往往忽略了,Google以他那種方式發(fā)展技術(shù)基礎(chǔ)是因?yàn)樗\(yùn)行世界上最大的搜索引擎。“搜索引擎的驅(qū)動(dòng)技術(shù)是跟其他商業(yè)網(wǎng)站的驅(qū)動(dòng)不一樣的。Google每天需要吸收大量的數(shù)據(jù),而其中只有一小部分是變化或有趣的。也就是說(shuō),Google基本上每天都會(huì)拷貝一份互聯(lián)網(wǎng)數(shù)據(jù)。這意味著它能夠使用數(shù)據(jù)索引的方法,非??焖俚厮阉骱吞砑訑?shù)據(jù),但數(shù)據(jù)一旦添加,選擇性地刪除或更改就會(huì)非常緩慢。這對(duì)Google來(lái)說(shuō)沒(méi)有太大影響,因?yàn)檫@種事情他們每天都會(huì)做一遍。”巴雷特說(shuō),“絕大多數(shù)企業(yè)都不能這么做。相反,他們需要慢慢積累更密集的數(shù)據(jù)集,包括帳戶(hù)、密碼和可編輯的文件,這些原始的數(shù)據(jù)你都不能只是扔掉,然后重新開(kāi)始收集,它是需要時(shí)間,不斷更新積累的。”

  你的創(chuàng)業(yè)公司每天都在做網(wǎng)上的一份拷貝嗎?如果不是,停止試圖模仿Google的數(shù)據(jù)庫(kù)架構(gòu)。

  如何明智地選擇數(shù)據(jù)庫(kù)體系結(jié)構(gòu)

  復(fù)制許多流行的或你喜歡的公司的技術(shù)基礎(chǔ)的危險(xiǎn)之處就在于,這些公司很可能與你的公司非常不同。他們的決定對(duì)于你來(lái)說(shuō)可能是種約束。但對(duì)于他們來(lái)說(shuō)需要小心翼翼的限制因素,可能成為你的亮點(diǎn)。這里列舉幾項(xiàng)設(shè)計(jì)數(shù)據(jù)庫(kù)架構(gòu)時(shí)能夠減輕這種風(fēng)險(xiǎn)的方法。

  拒絕被引誘,做好你的打算。人們很容易驚異于數(shù)據(jù)庫(kù)的強(qiáng)大性能,而不考慮自己的實(shí)際需要。“當(dāng)你聽(tīng)到一個(gè)數(shù)據(jù)庫(kù)可以控制一千多臺(tái)電腦和處理PB級(jí)數(shù)據(jù)的時(shí)候,不要昏頭了。首先,問(wèn)自己:“我可能會(huì)有多少數(shù)據(jù)需要處理?”,你是不大可能需要那么大的處理量的,”巴雷特說(shuō),“即使在今天,如果我們不關(guān)心的可靠性和可維護(hù)性,我們公司可能現(xiàn)在用的還是建立公司五年時(shí)的那套數(shù)據(jù)庫(kù)服務(wù)器。人們忘記了,今天的電腦功能是如此強(qiáng)大卻又如此廉價(jià)。你的手機(jī)處理的數(shù)據(jù)量是美國(guó)宇航局去月球上帶的電腦的10000倍,甚至一個(gè)簡(jiǎn)單的服務(wù)器處理的數(shù)據(jù)量也是它的1000倍。對(duì)于一般的創(chuàng)業(yè)公司,幾年內(nèi),單一的服務(wù)器難以處理所需數(shù)據(jù)的可能性是微乎其微的。

  優(yōu)先維護(hù)生產(chǎn)能力。“今天,最便宜的戴爾服務(wù)器有一個(gè)雙核2.8ghz處理器和500gb磁盤(pán)陣列存儲(chǔ),價(jià)格剛剛超過(guò)700美元。升級(jí)到一個(gè)有著64GB的RAM和10TB存儲(chǔ)的8核3.7ghz處理器版本,只需要約3200美元,花銷(xiāo)遠(yuǎn)小于Expensify每個(gè)月在咖啡上的花費(fèi)。大多數(shù)創(chuàng)業(yè)公司在提高自己市場(chǎng)上最便宜的服務(wù)器前就倒閉或者被收購(gòu)了。特別是現(xiàn)在存儲(chǔ)成本下降的速度遠(yuǎn)遠(yuǎn)快于大多數(shù)創(chuàng)業(yè)公司成長(zhǎng)速度。即使使用EC2付費(fèi)云托管,它仍然需要支付兩倍的違約金。無(wú)論你的硬件是租的還是買(mǎi)的,機(jī)器容量永遠(yuǎn)不會(huì)成為絕大多數(shù)創(chuàng)業(yè)公司的一個(gè)真正的問(wèn)題。維修保養(yǎng)才是最難的部分。如果你的單個(gè)服務(wù)器出問(wèn)題了-或者你只是需要升級(jí)一下-當(dāng)你重新啟動(dòng)它之后又會(huì)發(fā)生什么?你的整個(gè)服務(wù)就癱瘓了。總而言之,現(xiàn)在的電腦這么地便宜,多備幾臺(tái),不是在提高生產(chǎn)能力,而是純屬多余。”

  為安全問(wèn)題鉆牛角尖兒。“大多數(shù)數(shù)據(jù)庫(kù)可以以?xún)煞N方式訪(fǎng)問(wèn)。第一個(gè)是在數(shù)據(jù)庫(kù)上做一個(gè)通用查詢(xún)。另一種方法是通過(guò)存儲(chǔ)過(guò)程來(lái)訪(fǎng)問(wèn)。誠(chéng)然,所有的數(shù)據(jù)庫(kù)都有安全措施,但他們也存在區(qū)別,“巴雷特說(shuō)。“最流行的新數(shù)據(jù)庫(kù)依賴(lài)于內(nèi)置到Web服務(wù)器的代碼。它的問(wèn)題是,你的Web服務(wù)器十分有可能被攻破,因?yàn)樗麄冎苯舆B在互聯(lián)網(wǎng)上。不懷好意者可以繞過(guò)安全措施,并不受限制地訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。但如果一個(gè)存儲(chǔ)過(guò)程在數(shù)據(jù)庫(kù)內(nèi)執(zhí)行,網(wǎng)絡(luò)黑客難以觸及,這樣能夠保證在數(shù)據(jù)庫(kù)層面的安全性。然而,絕大多數(shù)的創(chuàng)業(yè)公司-尤其是消費(fèi)類(lèi)公司-卻選擇使用不夠安全的技術(shù)。這樣一旦他們有了客戶(hù),在不停機(jī)的前提下進(jìn)行安全改造的成本遠(yuǎn)比從一開(kāi)始就做好安全工作高得多。”

  初創(chuàng)公司在數(shù)據(jù)庫(kù)安全方面還是應(yīng)該保證,如果有閑置資金,最好買(mǎi)一個(gè)更安全的服務(wù)器。下面是應(yīng)該怎么做。

  早期,成長(zhǎng)期。消費(fèi)者,企業(yè)。每一家創(chuàng)業(yè)公司都有自己的情況,但巴雷特認(rèn)為,有一個(gè)經(jīng)驗(yàn)法則的方法,可以服務(wù)于一系列正在尋求智能化和實(shí)現(xiàn)目的性數(shù)據(jù)庫(kù)架構(gòu)的技術(shù)公司。下面是如何做:

  從三個(gè)數(shù)據(jù)庫(kù)開(kāi)始。巴雷特認(rèn)為,今天的技術(shù)讓這成為可能,每一個(gè)初創(chuàng)公司應(yīng)該在創(chuàng)業(yè)第一天就有三個(gè)數(shù)據(jù)中心。“三是一個(gè)神奇的數(shù)字,”他說(shuō)。“一個(gè)還不夠,因?yàn)樗鼔牡糁皇菚r(shí)間問(wèn)題??赡苓B不上網(wǎng)或者主機(jī)癱瘓。不管是哪種情況出現(xiàn),都是問(wèn)題,一個(gè)單一的數(shù)據(jù)庫(kù)是無(wú)法解決這個(gè)問(wèn)題的。兩個(gè)數(shù)據(jù)中心存在的問(wèn)題是,你很容易受到所謂的“分裂大腦綜合癥”的影響,如果兩個(gè)數(shù)據(jù)中心的服務(wù)器之間失去了聯(lián)系,一旦兩者之一完全或暫時(shí)無(wú)法訪(fǎng)問(wèn),一切就都陷入了混亂。如果,在同一時(shí)間,他們都認(rèn)為對(duì)方死機(jī)了,那么他們都認(rèn)為他們是在充當(dāng)主機(jī),然后一直做著備份。在我們看來(lái),就是他們都在消耗著相同的費(fèi)用,成本會(huì)翻倍。顯然這是不劃算的。”

  用一個(gè)時(shí)鐘,你總是能夠知道時(shí)間。但是如果有兩個(gè)不同的時(shí)鐘,你永遠(yuǎn)不會(huì)知道確切的時(shí)間,因?yàn)槟悴恢滥囊粋€(gè)才是正確的。

  由于一個(gè)數(shù)據(jù)中心是脆弱的,兩個(gè)容易出現(xiàn)責(zé)任不明的問(wèn)題,那就選擇使用三個(gè)數(shù)據(jù)中心的服務(wù)器。“如果你有三個(gè)數(shù)據(jù)中心,這意味著在任何一時(shí)間點(diǎn)上,你可以失去一個(gè)完整的數(shù)據(jù)中心,還有兩個(gè)剩余的。兩個(gè)數(shù)據(jù)中心是足以正常運(yùn)行的,“巴雷特說(shuō)。“這聽(tīng)起來(lái)已經(jīng)挺多了,但它同樣可能出現(xiàn)問(wèn)題。但是,即使問(wèn)題出現(xiàn)了,在沒(méi)有人催促逼迫的時(shí)候,正面解決問(wèn)題會(huì)更有效一些。這種情況下,投資者不至于對(duì)你失望,客戶(hù)也不用擔(dān)心。因?yàn)榍捌谝?guī)模已經(jīng)奠定了基礎(chǔ)。所以準(zhǔn)備三個(gè)不同的數(shù)據(jù)中心或在AWS內(nèi)準(zhǔn)備三個(gè)不同的可用性區(qū)域吧。這一點(diǎn)都不貴,而且還簡(jiǎn)單,只是需要不凡的遠(yuǎn)見(jiàn)。”

  查找和使用復(fù)制技術(shù)。為什么更多的創(chuàng)業(yè)公司創(chuàng)業(yè)時(shí)不用三個(gè)數(shù)據(jù)中心?公司創(chuàng)立初期建立三個(gè)數(shù)據(jù)中心意味著,在你有數(shù)據(jù)需要處理之前,-你得要先復(fù)制。每個(gè)數(shù)據(jù)中心中的每個(gè)服務(wù)器都需要不斷地互相之間共享數(shù)據(jù),這樣每個(gè)服務(wù)器才能共享同一級(jí)別的信息。

  “但備用或備份服務(wù)器可以很大程度上優(yōu)化原始的復(fù)制技術(shù)。主機(jī)癱瘓的時(shí)候,整體都喪失了工作能力。這種故障轉(zhuǎn)移過(guò)程要不是通過(guò)手動(dòng),要不就是隨著請(qǐng)求沿途自定義腳本的過(guò)程一起被攻擊。無(wú)論以哪種方式,都是全局性的問(wèn)題,最終將會(huì)影響到客戶(hù),“巴雷特說(shuō)。“更現(xiàn)代的解決方案充分考慮到復(fù)制和故障轉(zhuǎn)移問(wèn)題,這樣,一個(gè)服務(wù)器死機(jī)也不會(huì)產(chǎn)生太大影響,無(wú)需手動(dòng)操作,也不影響客戶(hù)。此外,不同于原始的解決方案被設(shè)計(jì)在一個(gè)單一的數(shù)據(jù)中心,依賴(lài)快速而可靠的網(wǎng)絡(luò),新的解決方案能使優(yōu)化工作在相對(duì)緩慢和不可靠的互聯(lián)網(wǎng)連接情況下也能實(shí)現(xiàn)。”

  問(wèn)題的一部分來(lái)自,過(guò)時(shí)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)仍然處于主導(dǎo)地位。“想要使用MySQL,是非常困難的。因?yàn)檫@是一個(gè)舊的數(shù)據(jù)庫(kù),它最初是為小容量、運(yùn)行速度慢的磁盤(pán)設(shè)計(jì)的。文件系統(tǒng)不能大于4GB。而現(xiàn)在,情況與那時(shí)大不相同了,“巴雷特說(shuō)。“今天,所有的一切都是在固態(tài)硬盤(pán)或緩存在內(nèi)存中,因此超快速。這是MySQL的難題。它還在不斷優(yōu)化,現(xiàn)在仍在被使用。所以它有所有的舊世界的包袱,但它著實(shí)不具備新世界的優(yōu)勢(shì)。”

  有一些工具可以幫助在不同的數(shù)據(jù)中心同步服務(wù)器,但開(kāi)放源代碼,易于安裝的工具才剛剛出現(xiàn)。“一些舊的解決方案與三個(gè)數(shù)據(jù)中心同步啟動(dòng)仍然是艱難的,這些在沒(méi)有預(yù)言機(jī)那么強(qiáng)大的機(jī)器之前的2007年是不可能實(shí)現(xiàn)的。公平地說(shuō),Percona可能會(huì)奏效,但那時(shí)它剛被開(kāi)發(fā),我都沒(méi)聽(tīng)說(shuō)過(guò),”巴雷特說(shuō)。“因?yàn)槲矣凶鯬toP網(wǎng)絡(luò)軟件的背景,所以決定建立一個(gè)我們自己的解決方案。由此,產(chǎn)生了calledbedrock,它易于操作,并能實(shí)時(shí)復(fù)制,也不像Oracle或MySQL那么復(fù)雜。就每一個(gè)服務(wù)器而言,只是在它的本地有一個(gè)單一的數(shù)據(jù)庫(kù),該技術(shù)將它們連接起來(lái),并實(shí)現(xiàn)所有的復(fù)制功能。為了好玩,我們也會(huì)讓它運(yùn)行MySQL協(xié)議,它幾乎可以作為一種簡(jiǎn)易替換器件。”

  “如果還有其他的解決方案可供選擇,Expensify計(jì)劃無(wú)償放棄這項(xiàng)技術(shù)。“最初,它只是一個(gè)專(zhuān)有的解決方案,因?yàn)槲覀冋也坏浆F(xiàn)成的。但隨著時(shí)間的推移,我們意識(shí)到他強(qiáng)大的功能,任何人都可以用它。由于自動(dòng)無(wú)縫聚類(lèi)的思想,那些關(guān)心性能和可用性的人十分在意無(wú)損故障轉(zhuǎn)移”巴雷特說(shuō),“但很少有人會(huì)因此來(lái)自行建立。因?yàn)槠浜诵募夹g(shù)-Paxos的分布式一致性算法,很難得到正解。也正是它使得一組同等服務(wù)器能夠可靠地選出一個(gè)主機(jī),來(lái)協(xié)調(diào)分布式事務(wù)和平衡流量,并在故障發(fā)生的0毫秒之內(nèi)做出反應(yīng)。但我們已經(jīng)花了八年的時(shí)間來(lái)讓它跨過(guò)幾個(gè)數(shù)量級(jí),所以它還并不適用于很多現(xiàn)實(shí)世界的情況,因此,我們還在不斷做出改進(jìn)和準(zhǔn)備,讓它被更廣泛的使用。”

  決定你的數(shù)據(jù)是否需要分區(qū)。在從不同的數(shù)據(jù)中心選擇三個(gè)服務(wù)器并選擇一個(gè)復(fù)制技術(shù)后,還要決定是否將數(shù)據(jù)分區(qū)。分區(qū)涉及將一個(gè)數(shù)據(jù)庫(kù)分解成完整的獨(dú)立部分。這種選擇會(huì)影響很多未來(lái)的決定。

  提到分區(qū),需要問(wèn)一個(gè)問(wèn)題:我想讓每一位用戶(hù)與其他用戶(hù)共享數(shù)據(jù)還是將用戶(hù)群互相分割開(kāi)?

  “幾乎每個(gè)人開(kāi)始都是“脫節(jié)的群體”,這是最簡(jiǎn)單的概念。無(wú)論你是為個(gè)人提供消費(fèi)品還是為企業(yè)提供商品,用戶(hù)之間的關(guān)系在開(kāi)始時(shí)就已經(jīng)很明顯,“巴雷特說(shuō)。“例如,如果你正在做企業(yè)文檔存儲(chǔ),事情一開(kāi)始就很明朗,你只需要在公司內(nèi)部的員工之間共享文檔。你甚至可能與企業(yè)客戶(hù)簽訂合同,這也要求數(shù)據(jù)被物理隔離-不管如何,這樣做總沒(méi)壞處。”

  風(fēng)險(xiǎn)是有一天你可能遇到一個(gè)意外情況,需要將以前你覺(jué)得不會(huì)有聯(lián)系的幾方聯(lián)系起來(lái)。“想象一個(gè)法律公司為兩個(gè)不同的客戶(hù)工作,每一個(gè)都托管在兩個(gè)不同的數(shù)據(jù)庫(kù)上。突然分托的模型不適用了,因?yàn)檎谑褂靡粋€(gè)數(shù)據(jù)庫(kù)的公司不能調(diào)閱另一個(gè)數(shù)據(jù)庫(kù)中的文件。你的技術(shù)現(xiàn)在阻礙了這一關(guān)鍵用例來(lái)提供產(chǎn)品支持-糟糕的是,你可能已經(jīng)在此前提下通過(guò)簽署企業(yè)協(xié)議鞏固了這項(xiàng)技術(shù)。

  另一種方法是提前設(shè)計(jì)一個(gè)通道,以備用戶(hù)之間有朝一日共享數(shù)據(jù),也就是從一開(kāi)始就設(shè)計(jì)一個(gè)共享的數(shù)據(jù)庫(kù)。“這需要你采用完全不同的技術(shù)路徑,因?yàn)槟悴荒茉購(gòu)挠布用娼鉀Q問(wèn)題。如果你的數(shù)據(jù)庫(kù)滿(mǎn)了,你不能再為你的下一批客戶(hù)買(mǎi)一個(gè),你需要找到一種方法來(lái)升級(jí)整個(gè)系統(tǒng)-而不是單純只為某個(gè)客戶(hù),“巴雷特說(shuō)。“為所有用戶(hù)保持一個(gè)單一的連續(xù)數(shù)據(jù)庫(kù)的好處是,你可以消除客戶(hù)之間資源分享的約束,無(wú)論是立刻還是在未來(lái)的任何時(shí)間。缺點(diǎn)是一個(gè)單一的巨大的數(shù)據(jù)庫(kù),比一堆小的數(shù)據(jù)庫(kù)更難維護(hù)-尤其是如果你正在使用一個(gè)舊的數(shù)據(jù)庫(kù)解決方案的時(shí)候。”

  正確的入門(mén)課程

  不是每一次的創(chuàng)業(yè)都能華麗地從頭開(kāi)始。如果你已經(jīng)做了一些其他的選擇-故意或不知情的-還有方法來(lái)走回正道。撞擊道岔,轉(zhuǎn)換方向可能不那么輕松,但火車(chē)其實(shí)還沒(méi)有駛離車(chē)站。

  · 選擇在多個(gè)可用性區(qū)域中復(fù)制的數(shù)據(jù)庫(kù)。“很多公司會(huì)說(shuō),“我已經(jīng)有了一個(gè)EC2,立馬就能運(yùn)行我的web服務(wù)器,一個(gè)單一的RDS就是我的數(shù)據(jù)庫(kù),或者我把一些數(shù)據(jù)存儲(chǔ)在S3里。這都是一個(gè)單一的可用性區(qū)域。“不要一開(kāi)始就讓自己陷入困境:與亞馬遜一起構(gòu)建能支持多個(gè)可用性區(qū)域或完全不同的數(shù)據(jù)中心。”

  · 嘗試Expensify的復(fù)制技術(shù)。“從MySQL換到Bedrock很簡(jiǎn)單:如果數(shù)據(jù)量小,你可以在深夜關(guān)掉你的服務(wù)器,把數(shù)據(jù)導(dǎo)出,再導(dǎo)入到Bedrock。您的Web服務(wù)器不會(huì)受到任何影響。因?yàn)锽edrock執(zhí)行的也是MySQL協(xié)議。”

  · 從存儲(chǔ)過(guò)程開(kāi)始。“問(wèn)問(wèn)你自己:“如果黑客襲擊我的服務(wù)器,后果會(huì)有多嚴(yán)重?如果答案是“特別糟糕”,那么將您的驗(yàn)證邏輯移到數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程中。它會(huì)更安全,能保持更好的分層,并為最終用戶(hù)提供更好的服務(wù)。”

  結(jié)合

  大多數(shù)人不會(huì)覺(jué)得數(shù)據(jù)庫(kù)結(jié)構(gòu)很酷。但在擁有客戶(hù)和他們的數(shù)據(jù)之前,充分了解也是很重要的。你如何組織,規(guī)劃和保證這些數(shù)據(jù)的安全不僅會(huì)對(duì)你的技術(shù)產(chǎn)生作用,而且還會(huì)影響你的商業(yè)模式的可擴(kuò)展性。保證在每三個(gè)不同的數(shù)據(jù)中心或可用性區(qū)域中至少有一個(gè)服務(wù)器。選擇一個(gè)允許它們精確、可靠地相互通信的復(fù)制技術(shù)。檢查您的用戶(hù)之間的關(guān)系,以決定是否應(yīng)分區(qū)您的數(shù)據(jù)。充分考慮存儲(chǔ)的程序來(lái)保護(hù)您的數(shù)據(jù)。最大的挑戰(zhàn)不是決定去采取這種做法,而是怎樣順利地從MySQL一類(lèi)的流行數(shù)據(jù)庫(kù)管理系統(tǒng)中轉(zhuǎn)變過(guò)來(lái)。

  “不要把自己的角色設(shè)定為Google,以此來(lái)圍繞數(shù)據(jù)庫(kù)架構(gòu)做決定。但也不要把在創(chuàng)業(yè)時(shí)有太多拘束,這會(huì)阻礙公司發(fā)展成為像 Google一樣成熟的公司。事實(shí)上,許多初創(chuàng)公司在這些問(wèn)題出現(xiàn)前,就已經(jīng)失敗了。你需要問(wèn)問(wèn)自己:你是在變得更好還是更壞?”巴雷特說(shuō)。“嚴(yán)格的要求和機(jī)會(huì),其實(shí)早就迫使我們做出更多關(guān)于數(shù)據(jù)庫(kù)架構(gòu)的思考。我們現(xiàn)在知道,堅(jiān)實(shí)的基礎(chǔ)不僅幫助我們按著預(yù)期的目標(biāo)擴(kuò)大規(guī)模,也為我們從未想過(guò)的深數(shù)據(jù)和人工智能技術(shù)提供支持。這些可能在我們第一次作出數(shù)據(jù)庫(kù)架構(gòu)的決定的時(shí)候就確定好了。這個(gè)系統(tǒng)架構(gòu)像一個(gè)大桶,收納了以任何你能想象的方式存在的數(shù)據(jù)。而另一個(gè)選擇則是糟糕的。如果你沒(méi)有意識(shí)到你在第一天就建立了一個(gè)監(jiān)獄,將來(lái)遇到的困難可能是無(wú)法解決的。”

上一條:云服務(wù)自動(dòng)化公司Logicworks獲得1.35億美元投資,欲進(jìn)行國(guó)際擴(kuò)張 下一條:騰訊與上海國(guó)際汽車(chē)城簽訂戰(zhàn)略合作協(xié)議 合作無(wú)人駕駛