transaction statement works as a single unit. Either the complete statement executes and persists, or nothing is persisted at all. - Consistency - Make changes through transactions only to predefined tables in a predictable way. - Isolation - When concurrent users are executing transactions, they are isolated to not interfere with each other. - Durability - Successfully executed transactional data are persisted in a manner that it allows data retrieval even after a system failure event.
data normalization) - Schemaless / Flexible Schema - Almost always Distributed and Replicated - Horizontally Scalable - Adheres to BASE model - Basic Availability - Soft-state - Eventual Consistency
High throughput read-write operations - Temporal data - Temporary data - Logging data for analysis - Eventual consistency is not a deal breaker. Application is tolerance to data inconsistencies.
- Documents are stored as Collections as opposed to Tables - Documents are Polymorphic (Different documents in a collection may have varying set of fields) - Not required to define any schema (Schema validation is optional) - New fields can be added to documents without affecting other documents in the collection. No central catalog.
row oriented data in SQL Servers) - Multiple columns per key - Allows extremely fast writes - Consistency is tunable - Highly scalable horizontally - Supports SQL-Like query language - Better partitioning and replication support
dataset - Can choose to persist to storage - Supports multiple data structures (strings, hashes, lists, streams, etc.) - Has built in replication, scripting, transactions