NOSQL Data Stores
NOSQL Data Stores Defined
There is a trend in the data storage and management arena to consider data storage options beyond the traditional SQL-based relational database. The overall movement was known as NoSQL (meaning “no SQL”), but that label has since evolved into NOSQL (meaning “not only SQL”). A NOSQL data store manages data without the use of SQL as the primary data management approach.
NOSQL data stores can be categorized as follows:
- Tabular / Columnar Data Stores: Storing sparse tabular data, these stores look most like traditional tabular databases.
- Document Stores: These sources store unstructured (i.e., text) or semi-structured (i.e., XML) documents.
- Graph Databases: These NOSQL sources store graph-oriented data with nodes, edges, and properties and are commonly used to store associations in social networks.
- Key/Value Stores: These sources store simple key/value pairs like a traditional hashtable.
- Object and Multi-value Databases: Object databases store objects (as in object-oriented programming). Multi-value databases store tabular data, but individual cells can store multiple values.
- Miscellaneous NOSQL Sources: Several other data stores can be classified as NOSQL stores, but they don’t fit into any of the categories above.
NOSQL: Why is it Needed?
NOSQL data stores were initially driven by the emergence of “web-scale” data - i.e., massive amounts of data - at the large web sites and services such as Amazon, Google, Yahoo!, Facebook, etc. Recently predictive analytics, voice-of-the-customer, churn, fraud and other “big data” use cases have emerged to further accelerate demand.
Business and technology drivers include:
- Lower cost per terabyte storage
- Parallel / distributed processing architectures
- Optimization for specific data shapes
Composite Data Virtualization Leverages NOSQL Data Stores
Data virtualization and NOSQL data stores are a powerful combination. NOSQL data stores provide a valuable, high performance data source that can be combined with others to provide the wider access, abstraction and federation that enterprises seek from their data virtualization solutions.
The Composite Data Virtualization Platform provides a complete development and runtime environment for discovering, accessing, federating, abstracting and delivering data from diverse sources. Access is typically done via standards-based protocols and APIs, for example JDBC and ODBC for SQL-based sources, HTTP and SOAP for Web services, JMS for messages, APIs for enterprise and cloud-based applications. Through these methods, source data is securely exposed from a single virtual location, regardless of how and where it is physically stored.
While NOSQL access standards have yet to fully develop, each implementation provides some sort of Java-based development API appropriate for accessing that type of NOSQL data. The Composite Data Virtualization Platform uses these APIs as well as Custom Java Procedure resources to access and integrate NOSQL data.
