Paging Through Collections and Graphs 1 Relevant Database

Paging Through Collections and Graphs 1

Relevant Database Features • Databases have locking to prevent resources from being changed while being visited. They also have transactions to establish when an episode ends • But locking limits concurrency so various compromises have been devised • These trade off concurrency with some anomalous features such as non-repeatable reads • There is an excellent discussion at http: //en. wikipedia. org/wiki/Isolation_(database_s ystems) 2

HTTP Limitations • No Locking • No Transactions 3

So What Are We Going To Do? 4

Some Possible Solutions • Client pages thru collection/graph knowing it may change from under her • Works fine if update frequency is low and/or is to get general information such as folks to cold call • Client uses e. Tags to check if collection/graph has changed. Restarts paging if it has changed. • Client pages thru snapshot of collection – Snapshots are cheap. Some systems create them in any case – When is the snapshot created? – When is it deleted? 5

Radical Suggestion • Add locking and transactions to HTTP – Web. DAV locking • http: //www. webdav. org/specs/rfc 2518. html#l ocking – Proposal from Nandana et. al. • http: //wsrest. org/2014/sites/default/files/wsrest 2014_s ubmission_4. pdf 6
- Slides: 6