問題描述
hotmail集群數據存儲是如何工作的? (How does a hotmail cluster data storage work?)
我將被分配到不同的集群(因此不同的 SQL 數據庫)。那麼對於我來說,能夠在美國看到那封郵件,是否意味著所有集群中的所有數據庫都在不斷同步?</p> 我將被分配到不同的集群(因此不同的 SQL 數據庫)。那麼對於我來說,能夠在美國看到那封郵件,是否意味著所有集群中的所有數據庫都在不斷同步?</p>
參考解法
方法 1:
Geography is most likely how you are assigned a cluster (Think of it like a content delivery network). I think you're right on with that assumption.
Of course I cannot say for certain how this all works, but from my experience with other large scale providers, my thoughts are as follows:
The emails are redundantly stored within a cluster (so the loss of a machine/hard drive) means nothing, and those clusters are also (probably) redundantly stored in a geographically separate location, making large scale outages and disasters less impactful on the end user. This push/pull is constantly being done within the data cluster (think of a file system like HDFS) to ensure n‑level redundancy. Because the chances of you logging into a system in a different cluster are minimal within any given hour, there isn't a huge need to sync the information in real time (in terms of availability), but probably on the order of minutes/hours, and as fast as their machines can run to ensure data durability.
The cluster setup is probably similar to Amazon: east/west coast clusters, a euro cluster, and depending on where a lot of other users are, an Asian cluster (or two or three). The push pull of data between these isn't on the scale of minutes, but maybe hours.
All of this redundancy and synchronization is important to keep in mind for other services, like the article you mentioned posts, such as skydrive and messenger all share this sayme infrastructure.
(by developer747、Mike)