powered by
Center for Curriculum and Transfer Articulation
Course: CIS276DC

First Term: 2023 Fall
Lec + Lab   3.0 Credit(s)   4.0 Period(s)   4.0 Load  
Subject Type: Occupational
Load Formula: T- Lab Load

Description: A broad overview of Not Only SQL (NoSQL) databases. Contrast NoSQL databases to the Structured Query Language (SQL) databases. Includes NoSQL instruction for data definition, data manipulation, and data retrieval. Develops knowledge and skills required to install NoSQL Servers, model and create NoSQL databases, manage users, authentication, and stored procedures equivalents, and develop backup/restore strategies.

MCCCD Official Course Competencies
1. Contrast features and uses of Not Only SQL (NoSQL) databases to SQL Relational Databases. (I, II)
2. Compare the main NoSQL database types, such as key-value stores, document stores, column oriented database, graphing databases, Big Data Store, Time Series Database. (I, II)
3. Construct examples of the main NoSQL database types. (III)
4. Construct appropriate data models to deploy them to the server. (III)
5. Manage server configuration, deployment, and maintenance. (III, V, VI, VII, VIII, IX)
6. Utilize front-end interfaces for NoSQL databases. (III, V, VI, VII, VIII, IX)
7. Evaluate data that has been inserted and then retrieved from the databases. (IV)
MCCCD Official Course Competencies must be coordinated with the content outline so that each major point in the outline serves one or more competencies. MCCCD faculty retains authority in determining the pedagogical approach, methodology, content sequencing, and assessment metrics for student work. Please see individual course syllabi for additional information, including specific course requirements.
MCCCD Official Course Outline
I. Database overview
   A. Structured vs unstructured data
   B. Define Not Only SQL (NoSQL)
   C. Types of NoSQL
      1. Key-value store
      2. Document store
      3. Graph database
      4. Column-oriented database
      5. Big data store
      6. Time series database
   D. Define relational database management systems (RDBMS)
II. Examples of databases
   A. Relational databases
      1. Open source
         a. MySQL, MariaDB, Percona
         b. PostgreSQL
      2. Proprietary
         a. SQL Server
         b. Oracle
      3. NoSQL features added to RDBMS
         a. JSON field types
         b. Memory caches
   B. NoSQL databases
      1. Key-value store (Redis, DynamoDB)
      2. Document store (MongoDB)
      3. Graph database (Neo4j)
      4. Column-oriented database (Apache Casandra)
      5. Big data store (Apache Hbase/Hadoop)
      6. Time series database (InfluxDB)
III. Choosing the appropriate database
   A. Data models
   B. Speed
   C. Reliability and failover
   D. Deployment and management
   E. Data retrieval
   F. Storage
   G. Programming languages
   H. Optimal types of data
   I. Examples of use cases
   J. Security
   K. Shortcomings
IV. Data Analysis
   A. Structure
   B. Populating
   C. Retrieving
   D. Visualizing
V. Interfaces
   A. Possible languages
      1. Python
      2. R
      3. C#
      4. Java
      5. Go
      6. Others
   B. Types of front-end interfaces
      1. Web based
      2. Stand alone applications
VI. Document Store
   A. MongoDB
   B. Others
VII. Column-oriented database
   A. Casandra
   B. Others
VIII. Graphing database
   A. Neo4j
   B. Others
IX. Key-value store
   A. Redis
   B. Others
MCCCD Governing Board Approval Date: August 23, 2022

All information published is subject to change without notice. Every effort has been made to ensure the accuracy of information presented, but based on the dynamic nature of the curricular process, course and program information is subject to change in order to reflect the most current information available.