NoSQL database
A NoSQL database stores and organizes data without requiring the traditional tables and relationships used by a relational database. The name means “not only SQL” —it describes a broad category of databases, not one particular product or design.
Some NoSQL databases store each item as a flexible document, similar to a JSON object. Others organize data as key-value pairs, graphs, or columns. Amazon DynamoDB and MongoDB are common examples.
This flexibility can make a NoSQL database easier to adapt when records do not all have the same structure. Some NoSQL systems are also designed to provide fast, predictable performance across very large amounts of data.
When is a NoSQL database useful?
A NoSQL database may be a good fit when:
- the data does not fit naturally into rows and columns;
- the application retrieves data in a few well-defined ways;
- the structure of individual records varies frequently; or
- the system needs to handle a very large or rapidly changing workload.
NoSQL is not automatically simpler or less expensive. It can make reporting and relationships between records more difficult, especially when a business needs to ask questions that were not anticipated when the application was designed.
For many small and midsize business applications, a relational database remains the more familiar and flexible default. A NoSQL database is most valuable when the application has a specific need that its design handles particularly well.