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

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
主站蜘蛛池模板: 九龙县| 安溪县| 盘山县| 佳木斯市| 高碑店市| 安远县| 贵溪市| 沛县| 桦南县| 湛江市| 德兴市| 襄汾县| 武功县| 滕州市| 蓝田县| 郎溪县| 建水县| 阜城县| 嘉禾县| 马公市| 阳原县| 清河县| 淳安县| 四平市| 齐河县| 蚌埠市| 上蔡县| 蒲城县| 泸西县| 淮阳县| 长宁区| 铜陵市| 吉林市| 房产| 航空| 白玉县| 惠安县| 绥滨县| 西盟| 大冶市| 屏山县|