Database Systems: Big Data, NoSQL, and Data Abstraction Models
The Big Data Movement and IoT Dynamics
- Definition of Big Data: Big Data is a contemporary movement focused on developing more efficient methods for managing massive quantities of web- and sensor-generated data. The primary objective is to extract actionable business insights while maintaining high-performance metrics and system scalability at an affordable cost.
- Internet of Things (IoT): A network consisting of Internet-connected devices that exchange and collect data automatically. This includes smartphones, tablets, GPS, RFID systems, weather sensors, biomedical devices, and black boxes from vehicles and aviation.
- Data Growth Statistics: The IoT has exponentially increased data production, resulting in approximately bytes (2.5 quintillion bytes) of data generated daily.
- Challenges for Organizations: Organizations face difficulties in managing these mountains of data, balancing shrinking budgets against the need for improved system performance and scalability.
The 3 Vs Framework of Big Data
Douglas Laney of the Gartner Group established three primary characteristics defining Big Data in the early 2000s, though the term was used in a computing context by John Mashey in the 1990s.
- Volume: Refers to the massive scale of data being stored. Data sets have evolved from simple transactions to mountains of social media interactions and e-commerce records, often reaching the petabyte scale.
- Velocity: Refers to two factors: the speed at which data is generated and the required speed for processing that data. Shrunk business response times necessitate rapid ingestion and analysis of data streams from sources like Facebook, Twitter, and sensor networks.
- Variety: Describes the diverse formats of collected data. Traditional relational databases are typically optimized for structured data, whereas Big Data involves unstructured or semi-structured formats (text, sound, video, pictures) that do not fit standard row-and-column models.
Big Data Technological Frameworks: Hadoop and NoSQL
To derive value from previously unused data stores, organizations utilize specific emerging technologies.
- Hadoop: An open-source, Java-based, distributed storage and computational framework supported by the Apache Software Foundation.
- Architecture: It utilizes clusters of low-cost, commodity hardware nodes to process data in parallel.
- The HDFS (Hadoop Distributed File System): A fault-tolerant storage system that uses a "write-once, read-many" model. Metadata is managed by a Name Node, while fixed-size data blocks are stored on Data Nodes. Users interact through a Client Node.
- MapReduce: A programming interface for fast data analytics. The Map function breaks jobs into smaller units, and the Reduce function integrates output from various nodes into a final result set.
- NoSQL Databases: A new generation of distributed database systems designed for the Big Data era.
- Characteristics: These systems are non-relational, highly distributed, and offer high availability and fault tolerance. They are specifically geared toward handling large amounts of sparse data (many attributes, but low instance counts).
- Performance Trade-offs: NoSQL systems often prioritize horizontal scalability and speed over the strict transaction consistency found in traditional systems.
Strategic Business Implications and Relational Coexistence
- Competitive Advantage: Companies like Amazon have transitioned from simple retail to providing predictive shipping based on Big Data analytics. Organizations that fail to adapt to these shifts, such as Blackberry or Blockbuster in their respective eras, risk losing market dominance.
- Relationship with RDBMS: Relational databases remain the dominant tool for day-to-day transactions and structured data analytics, serving approximately of operational market needs. Hadoop and NoSQL are viewed as complementary tools for specific Big Data challenges rather than total replacements for relational technology.
Evolution of Data Models
The history of data models shows a progression toward capturing more real-world meaning (semantics) while maintaining conceptual simplicity.
- Timeline:
- 1960s (Hierarchical): Utilized a parent/child tree structure; difficult to represent M:N relationships.
- 1969 (Network): Improved M:N relationship handling but remained complex to navigate.
- 1970 (Relational): Introduced tables and SQL, providing structural independence and simplicity.
- 1976 (Entity Relationship): Focused on conceptual modeling.
- 1985 (Object-Oriented): Introduced complex objects and inheritance.
- 2009 (Big Data/NoSQL): Shifted toward schema-less models optimized for large, sparse data stores.
Degrees of Data Abstraction (ANSI/SPARC Framework)
Database design follows a path from high abstraction to low-level implementation details.
- External Model: The view of end users within specific business units (e.g., Marketing, Finance). It uses External Schemas to represent relevant subsets of the database.
- Conceptual Model: A global, integrated view of the entire organization's data environment. It is summarized by an Entity Relationship Diagram (ERD) and is independent of hardware and software.
- Internal Model: The representation as seen by the DBMS. It maps the conceptual model to the specific constructs of the chosen database software. It features Logical Independence, meaning internal changes do not force conceptual changes.
- Physical Model: The lowest level of abstraction, describing how data is saved on storage media (magnetic, SSD, optical). It is both hardware and software dependent. It features Physical Independence, allowing storage changes without affecting the internal model.
Relational Table Characteristics
A table, or Relation, is a two-dimensional logical construct used to represent an entity set.
- Structure: Composed of rows (Tuples) representing single entity occurrences and columns (Attributes) representing specific properties.
- Integrity Rules:
- Each intersection of a row and column contains a single value.
- All values in a column must share the same data format.
- Each column has a specific Attribute Domain (range of valid values).
- Every table must have an attribute that uniquely identifies each row.
- Logical View: The RDBMS allows designers to focus on logic rather than physical storage details, much like an automatic transmission handles gears for a driver.
Tiny College Case Study: ER and Abstraction Examples
- Professor-Class Relationship: A 1:M relationship where one professor teaches many classes, but a class has only one professor.
- Student-Class Relationship: An M:N relationship (often resolved through an ENROLL entity) where students take multiple classes and classes have multiple students.
- Course-Class Relationship: A 1:M relationship where a single course code (e.g., CIS-420) can have multiple sections or classes daily.
- Room-Class Relationship: A 1:M relationship where one room is scheduled for multiple classes at different times.