we discussed different kinds of high-performance appliances from both the architectural perspective and from a data organization perspective. To continue the discussion of application development, it is valuable to continue to review the different means for managing and organizing massive data volumes to meet business needs, and in this chapter, we will look at some alternative methods for data management.
In any environment that already depends on a relational database model and/or a data warehousing approach to data management, it would be unwise to ignore support for these traditional data organizations for data that is to be implemented in a big data environment. Fortunately, most hardware and software appliances support standard approaches to standard, SQL-based relational database management systems (RDBMSs). Software appliances often bundle their execution engines with the RDBMS and utilities for creating the database structures and for bulk data loading.
However, the availability of a high-performance, elastic distributed data environment enables creative algorithms to exploit variant modes of data management in different ways. In fact, some algorithms will not be able to consume data in traditional RDBMS systems and will be acutely dependent on alternative means for data management. Many of these alternate data management frameworks are bundled under the term “NoSQL databases.” The term “NoSQL” may convey two different connotations—one implying that the data management system is not an SQL-compliant one, while the more accepted implication is that the term means “Not only SQL,” suggesting environments that combine traditional SQL (or SQL-like query languages) with alternative means of querying and access.