The following types of data services are available in IBM Bluemix PaaS:
- NoSQL database service
- SQL database service
- In-memory columnar database service
- Key-value pair data service
NoSQL database service
NoSQL databases are managed data stores that use non-SQL query languages (or no query languages at all) and store data as a series of documents. Examples of NoSQL databases are Cloudant (an extension of Apache CouchDB) and MongoDB.
NoSQL databases offer flexibility because there is no enforced schema for documents, and document structure can be changed at any time without having to modify existing data.
NoSQL databases such as Apache CouchDB and Cloudant can scale horizontally on commodity hardware to provide low cost, scalable performance as data volumes grow. To support this type of scalability, Apache CouchDB and Cloudant prioritize database availability over distributed consistency. This is referred to as eventual consistency.
SQL database service
An SQL database service provides application access to relational databases that are queried by using SQL.
The IBM DB2 on Cloud service in Bluemix is an example of an SQL data service that is powered by IBM DB2 and has a variety of features including high availability, automated backups, and data privacy. Other examples include Compose for PostrgeSQL and ClearDB MySQL.
In-memory columnar database service
An in-memory columnar database service provides optimized database access for analytic workloads.
The dashDB for Analytics service in IBM Bluemix is an example of an in-memory columnar databases service. dashDB for Analytics is based on DB2 BLU and its columnar organizations favor analytic queries that access a large number of values from a subset of the columns and make heavy use of aggregations and joins. dashDB for Analytics also uses compression to allow larger amounts of data to reside in memory.
Key-value pair data services
Key-value pair data services allow the efficient storage and retrieval of key-value pair data by storing that data in memory.
Examples of key-value pair data services in IBM Bluemix include Compose for Redis, Memcached, and IBM Session Cache for Bluemix. These services are particularly useful in web applications that need to maintain state between requests because they offer fast, efficient access to stateful data that is accessible by multiple instances.