Book Image

Cassandra High Availability

By : Robbie Strickland
Book Image

Cassandra High Availability

By: Robbie Strickland

Overview of this book

Table of Contents (16 chapters)
Cassandra High Availability
About the Author
About the Reviewers

Hash table fundamentals

Most developers have experience with hash tables in some form, as nearly all programming languages include hash table implementations. Hash tables store data by applying a hash function to the object, which determines its placement in an underlying array.

While a detailed description of hashing algorithms is out of scope of this book, it is sufficient for you to understand that a hash function simply maps any input data object (which might be any size) to some expected output. While the input might be large, the output of the hash function will be a fixed number of bits.

In a typical hash table design, the result of the hash function is divided by the number of array slots; the remainder then becomes the assigned slot number. Thus, the slot can be computed using hash(o) % n, where o is the object and n is the number of slots. Consider the following hash table with names as keys and addresses as values:

In the preceding diagram, the values in the table on the left represent...