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

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
主站蜘蛛池模板: 日喀则市| 阿坝县| 定边县| 桓台县| 梅河口市| 于都县| 朝阳县| 灵川县| 哈巴河县| 内丘县| 吴旗县| 阿合奇县| 通州市| 甘德县| 和平县| 延吉市| 大港区| 库尔勒市| 如皋市| 西丰县| 铅山县| 会理县| 江源县| 温州市| 炉霍县| 南城县| 云梦县| 全南县| 葵青区| 富平县| 贡嘎县| 城口县| 漯河市| 永和县| 凯里市| 大洼县| 东源县| 临城县| 寿宁县| 金堂县| 迭部县|