Distributed Database Design & Cloud Computing Fundamentals
Distributed Database Design
Top-Down Distribution Design
This design method starts from a general overview and moves to specifics.
Bottom-Up Distribution Design
This design is presented when the databases already exist.
First Part of a Framework
Requirement analysis and view design.
Degree of Fragmentation
This goes from one extreme that is not the degree of fragmentation.
Approaches for Developing any DDBS
Two approaches for developing any DDBS appear: Top-Down and Bottom-Up.
Dividing Horizontally or Vertically
Relation instances are essentially tables, so the issue is one of dividing horizontally or vertically.
Replicated Alternatives
Assuming that the database is fragmented properly, one of the replicated alternatives.
Test Correctness
Completeness, Reconstruction, and Disjointness are three tests for correctness.
Primary Horizontal Fragmentation
A horizontal fragment RI of relation R consists of all primary horizontal fragmentation.
Information Requirements
The logical organization of the DB, the location of the apps.
Allocation Alternatives
Fully replicated (each fragment at each site) and partially.
Minterm Selectivities
The number of tuples of the relation that would be accessed.
Primary Horizontal Fragmentation
It is performed using predicates that are defined on the original.
Access Frequencies
The frequency with which a user application accesses.
Completeness of Simple Predicates
A set of simple predicates Pr is said to be complete if and only if the accesses.
Derived Horizontal Fragmentation
It is partitioning of a relation that results from predicates.
Vertical Fragmentation
Grouping and splitting are two approaches of vertical fragmentation.
Cloud Computing
Infrastructure as a Service (IaaS)
The service client has control over the operating system.
Platform as a Service (PaaS)
The client is responsible for the end-to-end life cycle.
Cloud Services
Software as a Service, Platform as a Service, and Infrastructure as a Service are cloud services.
Cloud Computing Resources
They are delivered as services where a cloud is called a public cloud.
Software as a Service (SaaS)
The provider is responsible for the application’s end-to-end life cycle in terms of development.
Cloud Computing
This is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of resources.
Hadoop
This is an Apache Software Foundation’s top-level project for cloud computing.
NoSQL Database
Non-relational databases designed for large-scale data storage and massively parallel data processing.
ACID Characteristics
Atomicity, Consistency, Isolation, and Durability.
NoSQL Features
Refers to an eclectic and increasingly familiar group of non-relational data management systems.
Big Data
Extremely large data sets that may be analyzed computationally to reveal patterns and associations.
Trends Bringing These Problems to Attention
The exponential growth of the volume of data.
Key-Value Stores
Typically, these Data Management Systems (DMS) store items as alphanumeric identifiers (keys).
Document Databases
They are designed to manage and store documents encoded in a standard data format.
Strong Consistency, High Availability, Partition-Tolerance
The CAP Theorem postulates that only two of the following three different aspects of scaling can be achieved simultaneously: strong consistency, high availability, and partition tolerance.
Graph Databases
They replace relational tables with structured relational graphs of interconnected key-value pairs.
Wide-Column or CF
This type of NoSQL database employs wide-column or CF.
HBase
It is a column-oriented database management system.