Summary
NoSql databases have fast write throughput and fast lookup on primary key. And they also have good scalability and reliability.
However, in order to search non-primary attributes, secondary index
should be maintained and this could hurts write performance
.
This paper compares two types of secondary index:
Embedded Indexes: lightweight filters embedded inside the primary table
Stand-Alone Indexes: separate data structure
by implementing 2 Embedded Indexes
and 3 Stand-Alone Indexes
on top of LevelDB.
They conclude that : the embedded indexes
offer superior write throughput
and are more space efficient, whereas the stand-alone secondary indexes
achieve faster query
response times. So the optimal choice depends on the application workload.