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

Chapter 1. Cassandra's 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 and durability (ACID) properties
  • Monolithic architecture
  • Master-slave architecture, covering sharding and leader election
  • Cassandra's approach to achieve high availability
主站蜘蛛池模板: 枣强县| 隆林| 康定县| 贡觉县| 维西| 石渠县| 监利县| 分宜县| 松溪县| 二连浩特市| 成武县| 麟游县| 连山| 鹿泉市| 曲阳县| 五峰| 思南县| 昆明市| 岳西县| 梁河县| 阿城市| 镇远县| 云林县| 瑞丽市| 沐川县| 萝北县| 延津县| 离岛区| 双辽市| 九龙县| 彭山县| 平塘县| 夏河县| 邯郸县| 朝阳区| 汕头市| 江油市| 永靖县| 凉城县| 如东县| 沽源县|