2010-01-05 60 views
2

有解釋的服務器架構像LinkedIn,MySpace和亞馬遜等可擴展性對於大型應用程序

看到的MySpace後非常有用的文件,因爲他們使用的是500+的數據庫服務器爲他們的應用程序,我真的很驚訝。

想知道如果數據跨越多個數據庫服務器,他們將如何維護SQL事務,連接,查找?

+0

(因爲它更一般,只是一個評論);這裏是關於facebooks軟件堆棧的視頻介紹:http://www.infoq.com/presentations/Facebook-Software-Stack – miku 2010-01-05 17:12:17

回答

1

這裏有一篇關於ebay的高可擴展性的文章。他們將應用程序做到極致,並將dbs用於「啞」存儲。該應用程序確實加入,參照完整性等。考慮到我們大多數人的經驗以及數據庫在我們的應用程序中扮演的角色,以這種方式來思考事情幾乎很奇怪。顯然它是有效的,但。 :)

http://highscalability.com/ebay-architecture

3

高可擴展性也有在MySpace上的一塊。 It's well worth a read.

我認爲關鍵在於數據庫是聯合而不是分佈式的。因此,與給定用戶有關的所有信息都位於單個物理數據庫中。這處理大多數與加入,交易等問題

高可擴展性沒有提到它,但我認爲必須有一個集中的數據庫充當註冊表:用戶#217873828的數據在數據庫配置文件42。對於參考數據可能有類似的集中化,儘管其中大部分可能在緩存中而不是從數據庫中讀取。

+0

+1。再加上youc處理很多東西,設計它沒有交易的數據庫級別。跨數據庫更新?然後在事務處理隊列中排隊,工作人員將其關閉。事情可能會有一段時間不一致,但這並不重要。在一些問題領域,這是一種令人滿意的模式,在某些(會計)事物中必須始終保持同步。 – TomTom 2011-03-10 07:10:00