pipe[r] dreams: making nosql great · making nosql great again kathryn dahlgren disorderlylabs@ucsc...

42
Pipe[r] Dreams: Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC HPTS, 10Oct2017

Upload: others

Post on 15-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Pipe[r] Dreams: Making NoSQL Great

Again

Kathryn Dahlgren DisorderlyLabs@UCSC

HPTS, 10Oct2017

Page 2: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

TL;DR• NoSQL is great, but could be better.

• Problem: The k-implementation of database management functionality across the total set of instances of

NoSQL products around the world is sub-optimal.

• Goals: 1. Motivation? 2. Articulate solution qualities. 3. Present Piper as a model.

2

Page 3: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

BACKGROUND+

MOTIVATION

Page 4: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

4

Ancestral Database Systems

Page 5: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

5

Ancestral Database Systems

Page 6: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

6

Ancestral Database Systems

Page 7: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

7

Ancestral Database Systems

Page 8: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

8

Database Management Systems

Page 9: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

91980s-1990s

Page 10: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

101980s-1990s

Page 11: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

1990s11

Page 12: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Early 2000s12

• Revolution!• Coincides w/ rise of Internet + code repos (SourceForge, Github, …)• 200+ NoSQL tools in existence (http://nosql-database.org/index.html)

Page 13: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

2000s13

• Flexibility

• Customizability

What makes NoSQL Great?

Page 14: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

2010s14

Page 15: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

15

Page 16: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

16

Page 17: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

17

Problem

• Raw NoSQL systems are Database Systems (in the common case)

• Transforming a NoSQL product into a Database Management System necessitates engaging in a k-implementation nightmare with all the other NoSQL users in the world.

Page 18: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Valid Solution Qualities

Thou Shalt Not :1. impede flexibility

2. jeopardize customizability

3. hamper dissemination

18

Page 19: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

19

Piper

• Developers working with NoSQL systems can: 1. install management packages from the index. 2. publish management packages to the index.

• Usage standards impose strict regulations on the ease of package installation + deinstallation.

• Inspired by • Package indexes (PyPI, NPM, …) • Source code repositories (Github, BitBucket, …)

Page 20: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

20

Piper in action!

aggsPack

SuperApp

piper_pickledb

Devyn

MongoDB

Page 21: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

21

Piper in action!piper_pickledb

Piper SuperApp

piper_mongodb

MongoDB

Devyn

aggsPack

Page 22: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

22

Piper in action!piper_pickledb

Piper SuperApp

piper_mongodb

simpleJoinMongoDB

Devyn

aggsPack

Page 23: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

piper_mongodb

MongoDBsimpleJoin

23

Piper in action!piper_pickledb

aggsPack

Piper SuperApp

Devyn

Page 24: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

piper_mongodb

MongoDBsimpleJoin

24

Piper in action!piper_pickledb

aggsPack

Piper SuperApp

Devyn

Page 25: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

25

Piper in action!piper_mongodb piper_pickledb

simpleJoin

Piper SuperApp

piper_mongodb

MongoDB

Devyn

simpleJoin

aggsPack

Page 26: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

26

Piper in action!piper_mongodb piper_pickledb

simpleJoin

SuperDuperApp Piper SuperApp

piper_mongodb

Eunice

MongoDBPickleDB

Devyn

simpleJoin

aggsPack

Page 27: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

27

Piper in action!piper_mongodb piper_pickledb

simpleJoin

Piper SuperDuperApp

simpleJoin

Piper SuperApp

piper_mongodb

Eunice

MongoDBPickleDB

piper_pickledb

Devyn

simpleJoin

aggsPack

Page 28: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

28

Piper in action!piper_mongodb piper_pickledb

simpleJoin

PickleDB

Piper SuperDuperApp

MongoDB

Piper SuperApp

piper_mongodb

simpleJoin

piper_pickledb

Eunice Devyn

simpleJoin

aggsPack

Page 29: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Devyn

29

Piper in action!piper_mongodb piper_pickledb

simpleJoin

PyMongo

Piper SuperApp

piper_mongodb

MongoDB

Piper SuperDuperApp

simpleJoin

Eunice

PickleDBsimpleJoin

piper_pickledb

aggsPack

Page 30: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Valid Solution!

30

WISH LIST :1. Promotes flexibility

2. Champions customizability

3. Eases solution dissemination

Page 31: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Valid Solution!

31

WISH LIST :1. Promotes flexibility

2. Champions customizability

3. Eases solution dissemination

Page 32: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Valid Solution!

32

WISH LIST :1. Promotes flexibility

2. Champions customizability

3. Eases solution dissemination

Page 33: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Valid Solution!

33

WISH LIST :1. Promotes flexibility

2. Champions customizability

3. Eases solution dissemination

Page 34: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Project Status• Bare-bones proof-of-concept.

• Supports two NoSQL DBSs : • MongoDB (document store) • PickleDB (key-value store)

• Contains two packages : • aggsPack • simpleJoin

https://github.com/PiperProject

34

Page 35: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Research Directions???

Page 36: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Research Directions?

36

Page 37: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Research Directions?

37

Automatic adapter

generation?

Page 38: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Research Directions?

38

Automatic package optimization per target environment?

Automatic adapter

generation?

Page 39: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Research Directions?

39

Automatic package optimization per target environment?

Automatic adapter

generation?

Generalizability standards?

Page 40: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Conclusion• NoSQL is here to stay • No rules != totally awesome • k-implementation is sub-optimal • Piper is a proof-of-concept tool modeling a valid

solution

40

Page 41: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Conclusion• NoSQL is here to stay • No rules != totally awesome • k-implementation is sub-optimal • Piper is a proof-of-concept tool modeling a valid

solution

Making NoSQL great :-

Being stronger together!

41

Page 42: Pipe[r] Dreams: Making NoSQL Great · Making NoSQL Great Again Kathryn Dahlgren DisorderlyLabs@UCSC ... (in the common case) • Transforming a NoSQL product into a Database Management

Thanks!

42