DEFINITIONAL. • Not using the relational model (nor the SQL language) • Open source • Designed to run on large clusters • Based on the needs of 21st century web properties • No schema, allowing fields to be added to any record without controls http://martinfowler.com/nosql.html
data that we interact with as a unit. Aggregates form the boundaries for ACID operations with the database. • Key-value, document, and column-family databases can all be seen as forms of aggregate-oriented database. • Aggregates make it easier for the database to manage data storage over clusters. • Aggregate-oriented databases work best when most data interaction is done with the same aggregate; aggregate-ignorant databases are better when interactions use data organized in many different formations. http://martinfowler.com/nosql.html
• Sharing distributes different data across multiple servers, so each server acts as the single source for a subset of data. • Replication copies data across multiple servers, so each bit of data can be found in multiple places. Master-slave replication or Peer-to-peer replication. http://martinfowler.com/nosql.html
for storing data in a schema-less way. In a key- value store, all of the data within consists of an indexed key and a value, hence the name. E • Column store – instead of storing data in rows, these databases are designed for storing data tables as sections of columns of data, rather than as rows of data. While this simple description sounds like the inverse of a standard database, wide-column stores offer very high performance and a highly scalable architecture. • Document database – These are designed for storing, retrieving, and managing document- oriented information, also known as semi-structured data. • Graph database – Based on graph theory, these databases are designed for data whose relations are well represented as a graph and has elements which are interconnected, with an undetermined number of relations between them.
storage technologies. As they increase comfort with polyglot persistence, we should consider other data storage technologies whether or not they bear the NoSQL label. http://martinfowler.com/nosql.html