Were not just relational anymore: Teaching Neo4j as Part of an - - PowerPoint PPT Presentation

we re not just relational anymore teaching neo4j as part
SMART_READER_LITE
LIVE PREVIEW

Were not just relational anymore: Teaching Neo4j as Part of an - - PowerPoint PPT Presentation

Were not just relational anymore: Teaching Neo4j as Part of an Introductory Database Course Neo4j Nodes 2019 Risa Myers Rice University RICE 1 Objectives Who? What? Why? How? Where to? RICE 2 Who: Risa Myers risamyers@rice.edu


slide-1
SLIDE 1

We’re not just relational anymore: Teaching Neo4j as Part of an Introductory Database Course

Neo4j Nodes 2019 Risa Myers

Rice University

RICE

1

slide-2
SLIDE 2

Objectives

Who? What? Why? How? Where to?

RICE

2

slide-3
SLIDE 3

Who: Risa Myers

risamyers@rice.edu Assistant Teaching Professor, Rice University

Databases Data Science

PhD in Computer Science (Rice) ∼ 20 years industry experience

Software Engineering Information Technology Project Management Systems Analysis Data Scientist DATA / DATABASE

RICE

3

slide-4
SLIDE 4

Who: Computer Science Department, Rice University

Houston, Texas ∼7,000 total students Computer Science

∼370 Undergrads ∼150 MS students ∼120 PhD students Largest major 34 faculty (and growing) Top 20

RICE

4

slide-5
SLIDE 5

What: Introduction to Database Systems Course

Started as single comprehensive course Once a year Covered the relational model

Declarative SQL Imperative SQL Entity Relationship Diagrams ACID properties B+ trees ...

9

2 4 9 12 7

Lift (0,M) LiftName (1,M) Serves BelongsTo Speed

RICE

5

slide-6
SLIDE 6

Then: Database Implementation Course

Architecture Data storage Indexing structures Query processing ... Build a database Created an opportunity

RICE

6

slide-7
SLIDE 7

What: Revised Introduction Course

Focus on database USER Teach enough internals to make good decisions Add in NoSQL databases

RICE

7

slide-8
SLIDE 8

Why: Add NoSQL?

The world is no longer [fully] relational Gives students experience in picking up new database systems Teaches them how to manage different types of data (it’s not all CSV) Makes them competitive It’s fun

RICE

8

slide-9
SLIDE 9

What: NoSQL

Version 1.0 NoSQL concepts Document Store Graduate student project Version 2.0 +Local Graph Database (Neo4j) 1 class session Homework assignment Quiz on concepts Version 3.0 Hosted Graph Database (Neo4j) +1 class session

RICE

9

slide-10
SLIDE 10

How: Teach Graph Database Concepts

NoSQL concepts

Specialized systems Scalability, dynamic structure, performance focus, ... How to choose?

Graph database / Neo4j system specific concepts

Design trade-offs (e.g. property vs. node) Building blocks: Node, Property, Relationship, Label Discuss directional and non-directional relationships Cypher examples ...

RICE

10

slide-11
SLIDE 11

How: Teach Graph Database Concepts

Relate back to Relational and Document Store concepts

Student studentId name abc1 Albert def2 Danielle ghi3 Gary stu7 Sandeep yz10 Yusin Major studentId major ghi3 STAT ghi3 COMP abc1 COMP def2 ECE stu7 STAT Enroll studentId course abc1 COMP 430 def2 COMP 430 abc1 COMP 431

RICE

11

slide-12
SLIDE 12

How: Assignment Goals

Explore Cypher

Nodes Relationships Properties

Learn what is easier / harder in a graph database Learn some network concepts (Betweeness Centrality, degree of a node, shortest paths, ...) Provide an environment where they could check their work

RICE

12

slide-13
SLIDE 13

How: Assignment

Course running theme of designing a database for an ice cream food truck Document store assignment had students collecting tweets about ice cream and food trucks Added Neo4j assignment to analyze network of food trucks on twitter and their followers

RICE

13

slide-14
SLIDE 14

How: Assignment Details

Cypher

Create relationships (between food trucks and followers) Count number of trucks a particular follower follows Find the most "popular" truck

In and out degrees Shared followers with other trucks ...

Mini recommendation system:

Find trucks that one follower follows that another follower doesn’t follow

Find the shortest path between trucks

Relational (Extra Credit)

Implement Betweenness Centrality

RICE

14

slide-15
SLIDE 15

Where to: Lessons Learned

In class content needed to be more detailed (more examples) Data was too connected Installation on student machines can be challenging

RICE

15

slide-16
SLIDE 16

Where to: Assignment v2 (this semester!)

Less connected network (university residences) More build up of questions from easy to hard More network modification Provide exercises that show the impact of changes to the network

RICE

16

slide-17
SLIDE 17

Summary

Students value learning more database systems than just the relational model This is an evolving portion of the class Looking forward to the launch of Neo4j’s Educator Program risamyers@rice.edu

RICE

17

slide-18
SLIDE 18

Questions

Hunger Games for: We’re not just relational anymore: Teaching Neo4j as Part of an Introductory Database Course

1 Easy: Once students learn the relational model it’s difficult for them to adapt

to a graph database

A True B False

2 Medium: Networks have to be large and complex for students to learn from

them

A True B False

3 Hard: How many students are at Rice University?

A ∼5,000 B ∼7,000 C ∼10,000

Answer at r.neo4j.com/hunger-games

RICE

18