shortcuts:
TOC
NanoTwitter
search:
Data Modeling
What does the term ‘Data Modeling’ mean?
How Relational Databases work
Tables, Columns, Databases, Joins
“3d Normal Form”
Different approaches
Key question is how you correlate the tables in a database with the attributes of a class
Data Modeling
Crucial step in design
SQL vs. NOSQL databases
SQL Databases
Schema
Tables
Fields
Joins
Relationships
One to One (Student <-> Transcript)
One to Many (Student -> Car)
Many to Many (Student <-> Courses)
Careful analysis of the product requirements
Exercise
Team up with one other person
Using what you know about Twitter, propose a data model. Start with for example the “tweets” table where all the tweets will be stored.
15 Minutes, ask questions
Steps
What are the entities?
Is something contained in something else?
How many X’s are there for each Y?
What kinds of facts do we need to know about each entity?
What are the datatypes of those facts? Are there any ‘arrays’?
Possibly identify other entities
Repeat until done
Intro
Cosi105 - Scalability 2022 Syllabus
List of lectures
nanoTwitter
Homeworks
Lectures
Web Apps + Sinatra
Welcome
What is Scalability?
Cosi166 Quick Bullets
Intro to Sinatra
Sinatra and Twitter
NanoTwitter introduced
nano Twitter
Starting to think about scaling
Scaling at Hubspot
Service Oriented Architecture
Deploying to the Cloud
Scalable Service design
Scalability, continued
Testing in the world of SOA
Scaling Patterns
Testing Scalability
Tuning for Scale
Logging
Caching
Database Tuning 1
Database Tuning 2
Concurrency 1
Concurrency 2
Queueing
SOA + µservices
Software Engineering
Scalability Runoff 1
Last class!
Background
Technical Presentations
Misc Links and Resources