Search:

Search all manuals
Search this manual
Manual
Couchbase Developer's Guide 1.8
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
1 Introduction to Couchbase
Chapter Sections
Chapters

1.2. Comparing Couchbase and Traditional RDMS

If you are an application developer with a background primarily in relational databases, Couchbase Server has some key characteristics and advantages that you should be familiar with. The following compares the different database systems:

Couchbase ServerTraditional Relational Database (RDBMS)
Rapidly scalable to millions of users.Scalable to thousands of users.
Data can be structured, semi-structured, and unstructured.Data must be normalized.
Built on modern reality of relatively inexpensive, plentiful memory.Built on assumption of scarce, expensive memory.
Built for environments with high-speed data networking.Built at a time when networking still formative and slow.
Data can be flexibly stored as JSON documents or binary data. No need to predefine data types.Data types must be predefined for columns.
Does not require knowledge or use of SQL as query language.Requires SQL as query language.
Highly optimized for retrieve and append operations; high-performance for data-intensive applications, such as serving pages on high-traffic websites; can handle a large number of documents and document read/writes.Significantly slower times for retrieving and committing data. Designed for occasional, smaller read/write transactions and infrequent larger batch transactions.
For optimal performance and speed, stores most frequently used data in RAM. Persistent storage also provided to survive system downtime and for re-population of RAM.Assumes all data is persistent data to be stored on disk.
Data stored as key-document pairs; well suited for applications which handle rapidly growing lists of elements.Data stored in tables with fixed relations between tables.
Does not require extensive data modeling; data structure is of lesser significance during development.Data modeling and establishing relational model for data structures required during application development.
Asynchronous operations and optimistic concurrency enable applications designed for high throughput.Strict enforcement of data integrity and normalization, with the tradeoff of lower performance and slower response times.

Before you develop your application and model application data, you should consider the issues faced when you use a traditional RDBMS. Couchbase Server is well suited to handle these issues:

If you need a system that provides a high level of scalability, flexibility in data structure, and high performance, a NoSQL solution such as Couchbase is well suited. If you want to handle multi-record transactions, have complex security needs, or need to perform rollback of operations, a traditional RDBMS may be the better alternative for your application. There may also be many cases in which you perform and analysis of your application needs and determine you use both a RDBMS and Couchbase Server for your data.