data modeling a scheduling app (adam hutson, datascale) | cassandra summit 2016
TRANSCRIPT
![Page 1: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/1.jpg)
Data Modeling A Scheduling Application
Adam Hutson Data Architect, DataScale Inc.
![Page 2: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/2.jpg)
© DataStax, All Rights Reserved.
Who am I & What do we do?
2
Adam Hutson Data Architect @ DataScale -> www.datascale.io DataStax MVP for Apache Cassandra DataScale provides hosted data platforms as a service Offering Cassandra & Spark, with more to come Currently hosted in Amazon & Azure
![Page 3: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/3.jpg)
Data Modeling Stages
![Page 4: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/4.jpg)
© DataStax, All Rights Reserved.
Data Modeling Stages
• Maps concepts, relationships, & constraints
• Consists of entity classes with
characteristic attributes
• Nothing to do with a database
4
![Page 5: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/5.jpg)
© DataStax, All Rights Reserved.
Data Modeling Stages
• Maps concepts, relationships, & constraints
• Consists of entity classes with
characteristic attributes
• Nothing to do with a database
5
• Entities become tables
• Attributes become columns/
fields
• Relationships become key
• Entity Relationship Diagram
![Page 6: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/6.jpg)
© DataStax, All Rights Reserved.
Data Modeling Stages
• Maps concepts, relationships, & constraints
• Consists of entity classes with
characteristic attributes
• Nothing to do with a database
6
• Entities become tables
• Attributes become columns/
fields
• Relationships become key
• Entity Relationship Diagram
• Applies constraints of chosen database
• Table structure using syntax
• Data types, keys, relationships
![Page 7: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/7.jpg)
© DataStax, All Rights Reserved.
Data Modeling Stages
7
![Page 8: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/8.jpg)
© DataStax, All Rights Reserved.
Data Modeling Stages
8
![Page 9: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/9.jpg)
© DataStax, All Rights Reserved.
Data Modeling Stages
9
![Page 10: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/10.jpg)
Scheduling Application
![Page 11: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/11.jpg)
© DataStax, All Rights Reserved.
Scheduling Application DefinitionWhat is it?
Application to schedule service appointments.
Who is it for? Any employee of the service company.
What does it do? Sets & retrieves appointments for service. Client/Service detail requests. Provider/Service detail requests. Services delivered/scheduled over time.
11
![Page 12: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/12.jpg)
Conceptual Model
![Page 13: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/13.jpg)
© DataStax, All Rights Reserved.
Conceptual Model
13
![Page 14: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/14.jpg)
Logical Model
![Page 15: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/15.jpg)
© DataStax, All Rights Reserved.
Logical Model
15
![Page 16: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/16.jpg)
Desired Queries
![Page 17: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/17.jpg)
© DataStax, All Rights Reserved.
Desired Queries
17
• Add new client information
• Get client info by name or phone
• Create appointment for specific date/time, client, service, & service technician
• Get all scheduled appointments for specified client name or phone
• Get all available times to schedule appointment for specified service & service technician
• Get all scheduled appointments for specified service technician
![Page 18: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/18.jpg)
Physical Model
![Page 19: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/19.jpg)
© DataStax, All Rights Reserved.
Physical Model
19
Add new client information
![Page 20: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/20.jpg)
© DataStax, All Rights Reserved.
Physical Model
20
Add new client information
![Page 21: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/21.jpg)
© DataStax, All Rights Reserved.
Physical Model
21
Get client info by name or phone
![Page 22: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/22.jpg)
© DataStax, All Rights Reserved.
Physical Model
22
Get client info by name or phone
![Page 23: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/23.jpg)
© DataStax, All Rights Reserved.
Physical Model
23
Create appointment for specific date/time, client, service, & service technician
![Page 24: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/24.jpg)
© DataStax, All Rights Reserved.
Physical Model
24
Create appointment for specific date/time, client, service, & service technician
![Page 25: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/25.jpg)
© DataStax, All Rights Reserved.
Physical Model
25
Get all scheduled appointments for specified client name or phone
![Page 26: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/26.jpg)
© DataStax, All Rights Reserved.
Physical Model
26
Get all scheduled appointments for specified client name or phone
![Page 27: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/27.jpg)
© DataStax, All Rights Reserved.
Physical Model
27
Get all available times to schedule appointment for specified service & service technician
![Page 28: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/28.jpg)
© DataStax, All Rights Reserved.
Physical Model
28
Get all available times to schedule appointment for specified service & service technician
![Page 29: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/29.jpg)
© DataStax, All Rights Reserved.
Physical Model
29
Get all scheduled appointments for specified service technician
![Page 30: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/30.jpg)
© DataStax, All Rights Reserved.
Physical Model
30
Get all scheduled appointments for specified service technician
![Page 31: Data Modeling a Scheduling App (Adam Hutson, DataScale) | Cassandra Summit 2016](https://reader030.vdocuments.net/reader030/viewer/2022021500/586f75d71a28ab10258b61e3/html5/thumbnails/31.jpg)
© DataStax, All Rights Reserved.
Physical Model
31
End Product: A complete script to create your entire Data Model in Cassandra