What is NoSQL? – Amazon Web Services (AWS)
- NoSQL is a term used to describe high-performance, non-relational databases.
- NoSQL databases utilize a variety of data models, including document, graph, key-value, and columnar.
- NoSQL databases are widely recognized for ease of development, scalable performance, high availability, and resilience.
- Below are several resources to help you get started using NoSQL databases.
Learn about what NoSQL is and see a simple comparison chart that shows you the main differences between NoSQL and relational databases.
@awscloud: What is NoSQL? High-performance, non-relational databases:
Relational database NoSQL database
Data model The relational model normalizes data into tabular structures known as tables, which consist of rows and columns. A schema strictly defines the tables, columns, indexes, relationships between tables, and other database elements. Non-relational (NoSQL) databases typically do not enforce a schema. A partition key is generally used to retrieve values, column sets, or semi-structured JSON, XML, or other documents containing related item attributes.
ACID properties Traditional relational database management systems (RDBMS) support a set of properties defined by the acronym ACID: Atomicity, Consistency, Isolation, and Durability. Atomicity means “all or nothing” – a transaction executes completely or not at all. Consistency means once a transaction has been committed, the data must conform to the database schema. Isolation requires that concurrent transactions execute separately from one another. Durability is the ability to recover from an unexpected system failure or power outage to the last known state. NoSQL databases often trade some ACID properties of traditional relational database management systems (RDBMS) for a more flexible data model that scales horizontally. These characteristics make NoSQL databases an excellent choice in situations where traditional RDBMS encounter architectural challenges to overcome some combination of performance bottlenecks, scalability, operational complexity, and increasing administration and support costs.
Performance Performance is generally dependent on the disk subsystem. Optimization of queries, indexes, and table structure is required to achieve peak performance. Performance is generally a function of the underlying hardware cluster size, network…