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

ACID

One of the most significant obstacles that prevents traditional databases from achieving high availability is that they attempt to strongly guarantee the ACID properties:

  • Atomicity: This guarantees that database updates associated with a transaction occur in an all-or-nothing manner. If some part of the transaction fails, the state of the database remains unchanged.
  • Consistency: This assures that the integrity of data will be preserved across all instances of that data. Changes to a value in one location will definitely be reflected in all other locations.
  • Isolation: This attempts to ensure that concurrent transactions that manipulate the same data do so in a controlled manner, essentially isolating in-process changes from other clients. Most traditional relational database systems provide various levels of isolation with different guarantees at each level.
  • Durability: This ensures that all writes are preserved in nonvolatile storage, most commonly on disk.

Database designers most commonly achieve these properties via write masters, locks, elaborate storage area networks, and the like—all of which tend to sacrifice availability. As a result, achieving some semblance of high availability frequently involves bolt-on components, log shipping, leader election, sharding, and other such strategies that attempt to preserve the original design.

主站蜘蛛池模板: 绍兴市| 石柱| 垦利县| 通州市| 当阳市| 信丰县| 贺州市| 延庆县| 张家口市| 高陵县| 大丰市| 龙南县| 鸡西市| 望都县| 鞍山市| 南和县| 广西| 濮阳市| 扎鲁特旗| 金塔县| 石首市| 金塔县| 宁乡县| 山西省| 云梦县| 葵青区| 福建省| 犍为县| 喀喇| 永和县| 美姑县| 黄大仙区| 调兵山市| 芮城县| 平邑县| 永安市| 砀山县| 通江县| 交口县| 乌什县| 黄大仙区|