cassandra summit: data modeling a scheduling app
TRANSCRIPT
![Page 1: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/1.jpg)
Data Modeling A Scheduling Application
Adam Hutson Data Architect, DataScale Inc.
![Page 2: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/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: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/3.jpg)
Data Modeling Stages
![Page 4: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/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: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/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: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/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: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/7.jpg)
© DataStax, All Rights Reserved.
Data Modeling Stages
7
![Page 8: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/8.jpg)
© DataStax, All Rights Reserved.
Data Modeling Stages
8
![Page 9: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/9.jpg)
© DataStax, All Rights Reserved.
Data Modeling Stages
9
![Page 10: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/10.jpg)
Scheduling Application
![Page 11: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/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: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/12.jpg)
Conceptual Model
![Page 13: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/13.jpg)
© DataStax, All Rights Reserved.
Conceptual Model
13
![Page 14: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/14.jpg)
Logical Model
![Page 15: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/15.jpg)
© DataStax, All Rights Reserved.
Logical Model
15
![Page 16: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/16.jpg)
Desired Queries
![Page 17: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/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: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/18.jpg)
Physical Model
![Page 19: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/19.jpg)
© DataStax, All Rights Reserved.
Physical Model
19
Add new client information
![Page 20: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/20.jpg)
© DataStax, All Rights Reserved.
Physical Model
20
Add new client information
![Page 21: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/21.jpg)
© DataStax, All Rights Reserved.
Physical Model
21
Get client info by name or phone
![Page 22: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/22.jpg)
© DataStax, All Rights Reserved.
Physical Model
22
Get client info by name or phone
![Page 23: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/23.jpg)
© DataStax, All Rights Reserved.
Physical Model
23
Create appointment for specific date/time, client, service, & service technician
![Page 24: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/24.jpg)
© DataStax, All Rights Reserved.
Physical Model
24
Create appointment for specific date/time, client, service, & service technician
![Page 25: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/25.jpg)
© DataStax, All Rights Reserved.
Physical Model
25
Get all scheduled appointments for specified client name or phone
![Page 26: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/26.jpg)
© DataStax, All Rights Reserved.
Physical Model
26
Get all scheduled appointments for specified client name or phone
![Page 27: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/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: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/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: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/29.jpg)
© DataStax, All Rights Reserved.
Physical Model
29
Get all scheduled appointments for specified service technician
![Page 30: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/30.jpg)
© DataStax, All Rights Reserved.
Physical Model
30
Get all scheduled appointments for specified service technician
![Page 31: Cassandra Summit: Data Modeling A Scheduling App](https://reader031.vdocuments.us/reader031/viewer/2022022415/58f1a92d1a28ab283e8b45e7/html5/thumbnails/31.jpg)
© DataStax, All Rights Reserved.
Physical Model
31
End Product: A complete script to create your entire Data Model in Cassandra