官术网_书友最值得收藏!

Chapter 1.  Cassandras Approach to High Availability

What does it mean for a data store to be highly available? When designing or configuring a system for high availability, architects typically hope to offer some guarantee of uptime even in the presence of failure. Historically, it has been sufficient for the vast majority of systems to be available for less than 100 percent of the time, with some attempting to achieve the five nines, or 99.999, percent uptime.

The exact definition of high availability depends on the requirements of the application. This concept has gained increasing significance in the context of web applications, real-time systems, and other use cases that cannot afford any downtime. Database systems must not only guarantee system uptime, the ability to fulfill requests, but also ensure that the data itself remains available.

Traditionally, it has been difficult to make databases highly available, especially the relational database systems that have dominated the scene for the last couple of decades. These systems are most often designed to run on a single large machine, making it challenging to scale out to multiple machines.

Let's examine some of the reasons why many popular database systems have difficulty being deployed in high availability configurations, as this will allow us to have a greater understanding of the improvements that Cassandra offers. Exploring these reasons can help us to put aside previous assumptions that simply don't translate to the Cassandra model.

Therefore, in this chapter, we'll cover the following topics:

  • The Atomicity Consistency Isolation Durability (ACID) properties
  • Monolithic architecture
  • Master-slave architecture, covering sharding and leader election
  • Cassandra's approach to achieving high availability
主站蜘蛛池模板: 仁化县| 永善县| 平利县| 昭通市| 渭南市| 晋城| 伽师县| 新和县| 乌恰县| 浪卡子县| 武义县| 绍兴县| 马边| 蒲江县| 文登市| 乌拉特前旗| 龙游县| 仲巴县| 长葛市| 锦州市| 黑水县| 南澳县| 勃利县| 且末县| 武鸣县| 鄂伦春自治旗| 桓仁| 白朗县| 上高县| 金湖县| 西乌珠穆沁旗| 汶上县| 榆社县| 依兰县| 山西省| 西宁市| 青海省| 河间市| 曲水县| 孝义市| 东莞市|