Fundamentals of Distributed Systems
摘要
With the advancement of the global digitalization process, global data is growing explosively. According to the latest forecast by the International Data Corporation (IDC), the global data volume will continue to grow rapidly and is expected to reach approximately 384.6 ZB by 2028 (1 ZB \(=\) \(2^{10}\) EB \(=\) \(2^{20}\) PB \(=\) \(2^{30}\) TB), with a compound annual growth rate (CAGR) of 24.4%. Traditional standalone systems currently face severe performance bottlenecks. Moreover, despite their high cost, mainframe systems often lack robust disaster recovery capabilities, resulting in service interruptions and unavailability in case of failures. There is a growing awareness that traditional standalone systems can no longer meet the demands for large-scale data storage and computation in the technological field. Given the disparity between the volume of data in this era and standalone systems’ storage and processing capabilities, distributed systems are gaining increasing attention. Efforts to address the explosive growth of data have explored two main approaches: scaling up individual machines and interconnecting multiple machines. The high cost and inflexibility associated with the former have made the latter approach increasingly preferable. However, according to the cost conservation principle, costs do not just disappear; software design costs often go up when hardware costs go down. Therefore, the principles of distributed systems can help lower these software costs.