Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Cassandra 3.x High Availability

You're reading from   Cassandra 3.x High Availability Achieve scalability and high availability without compromising on performance

Arrow left icon
Product type Paperback
Published in Aug 2016
Publisher
ISBN-13 9781786462107
Length 196 pages
Edition 2nd Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Robbie Strickland Robbie Strickland
Author Profile Icon Robbie Strickland
Robbie Strickland
Arrow right icon
View More author details
Toc

Table of Contents (10) Chapters Close

Preface 1. Cassandras Approach to High Availability 2. Data Distribution FREE CHAPTER 3. Replication 4. Data Centers 5. Scaling Out 6. High Availability Features in the Native Java Client 7. Modeling for Availability 8. Anti-Patterns 9. Failing Gracefully

Introducing the ACID properties

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.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime