The course covers installation, DB shell usage, programmatic access, data modeling, scaling/clustering, categories of NoSQL databases (column-based, document-based, key value-based, or graphic-based), the CAP Theorem, and BASE semantics. You will have the opportunity to gain hands-on experience via homework asignments and a course project that involves setting up, populating (with publically available datasets), and using a NoSQL of your choice (subject to instructor approval). By the end of the course, you will understand NoSQL concepts and know how to use popular NoSQL databases within your software or IT infrastructures.
- Why use NoSQL databases?
- Types of NoSQL databases: Key value, document, column, graph, others
- MongoDB basics
- MongoDB data modeling, GeoData
- MongoDB sharding, replication, clustering
- Cassandra basics
- Cassandra data modeling, real-time data with wide rows
- Cassandra rings, replication
- Other NoSQL databases: Neo4J, DynamoDB
- Accessing NoSQL database APIs: Coding
- Deploying NoSQL databases in the cloud: Amazon AWS
- Using publically available datasets
- CAP theorem, BASE
Skills Needed: Experience using a programming language such as Python, Ruby, Java, etc. Ability to set up open-source software, databases, tools, and development environments on personal computers.