Database Reference
In-Depth Information
Write optimization
Traditional relational and document databases are optimized for read performance. Writing
data to a relational database will typically involve making in-place updates to complicated
data structures on disk, in order to maintain a data structure that can be read efficiently and
flexibly. Updating these data structures is a very expensive operation from a standpoint of
disk I/O, which is often the limiting factor for database performance. Since writes are more
expensive than reads, you'll typically avoid any unnecessary updates to a relational data-
base, even at the expense of extra read operations.
Cassandra, on the other hand, is highly optimized for write throughput, and in fact never
modifies data on disk; it only appends to existing files or creates new ones. This is much
easier on disk I/O and means that Cassandra can provide astonishingly high write through-
put. Since both writing data to Cassandra, and storing data in Cassandra, are inexpensive,
denormalization carries little cost and is a good way to ensure that data can be efficiently
read in various access scenarios.
Note
Because Cassandra is optimized for write volume, you shouldn't shy away from writing
data to the database. In fact, it's most efficient to write without reading whenever possible,
even if doing so might result in redundant updates.
Just because Cassandra is optimized for writes doesn't make it bad at reads; in fact, a well-
designed Cassandra database can handle very heavy read loads with no problem. We'll cov-
er the topic of efficient data modeling in great depth in the next few chapters.
Search WWH ::




Custom Search