CS-310 Lecture 15 - Choosing a Database
Outline: 0:21 Last Time: Distributed DB Consistency 2:26 Recall the goals of a Database: 2:53 Data storage options 3:56 SQL Relational Databases 5:50 Database transaction example: spending gift card... 13:50 Transactions on a distributed (NoSQL) DB? 14:43 How to implement a distributed lock? 21:33 Throughput/scaling limitations 22:35 Data abstractions 24:29 Column-oriented Relational Databases 29:26 Many choices for semi-structured, scalable stores! 30:03 Distributed data store comparison 30:09 MongoDB stores JSON objects 31:02 MongoDB (3.2) – a “document store” 32:28 ElasticSearch also stores JSON documents 35:39 ElasticSearch – a “search engine” 36:23 ElasticSearch (0.20.1) – a “search engine” 36:25 Cassandra rows (NoSQL, 2d key-value store) 37:55 Cassandra bridge information example 38:53 Cassandra – a “NoSQL database” 39:25 DynamoDB is a 2D key-value store, like Cassandra 41:36 Redis DB/cache values 43:19 Distributed Caches 45:04 Comparison to NoSQL DBs 46:14 Comparison to Reverse Proxies 48:12 Redis (V3.2) – a “cache” 48:39 Filesystem choices 49:12 Networked file system 52:22 Cloud object store (S3) 53:25 S3 example for hosting media files on web 54:56 Hadoop File System (HDFS) 56:26 Recap – Choosing a Database These lectures were delivered by Professor Steve Tarzia in Winter 2021 for his CS-310 Scalable Software Architectures course at Northwestern University. This class was formerly numbered CS-396. Course materials and slides can be downloaded from https://stevetarzia.com/teaching
Download
0 formatsNo download links available.