NoSQL is a blanket term used to describe nontraditional methods of storing data in a database. To make matters more confusing, NoSQL may also mean the databases that are relational but did not use SQL as a query language, for example, RethinkDB. The vast majority of NoSQL databases are not relational, unlike RDBMS, which means that they cannot perform operations such as JOIN
. The lack of a JOIN
operation is a trade-off because it allows faster reads and easier decentralization by spreading data across several servers or even separate data centers.
Modern NoSQL databases include key-value stores, document stores, column family stores, and graph databases.
A key-value NoSQL database acts much like a dictionary in Python. A single value is associated with one key and is accessed via that key. Also, like a Python dictionary, most key-value databases have the same read speed regardless of how many entries there are. Advanced programmers would know this as...