Relational Database Alternatives NoSQL
Choosing A Data Model Relational database underpin legacy applications and meet business needs However, companies are increasingly considering alternatives Reasons: – Need to scale – Not all problems map to tables and rows
Other Reasons Cost of data model changes Faster development New data types – structured, semi-structured, unstructured Object-oriented programming Organizations turning to scale out architectures using commodity servers and cloud computing
Data Model The primary way in which NoSQL databases differ from relational databases is the data model The Document Model – Instead of rows and columns, data is stored in documents (e.g., JSON) – Documents provide a way of modeling data that is closer to object-oriented programming – Each document is effectively an object
Takeaways Have more than one tool in your toolbox Document databases provide a rich query functionality that allows them to address a wide variety of applications Key-value databases work great if you only need to access data by a single key
More On Document Databases In a document database the notion of a schema is dynamic: each document can contain different fields Documents can be queried based on any fields in the document Example: MongoDB
Key-Value Databases Every item is stored as an attribute name or key, together with its value Values can only be queried by the key Very, very fast Applications: A narrow set of applications that only query data by a single key value Example: Redis