10
1) Introduction to Persistency and Berkeley DB Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii

Introduction to persistency and Berkeley DB

Embed Size (px)

DESCRIPTION

An introduction to persistency management and the Berkeley DB system.

Citation preview

Page 1: Introduction to persistency and Berkeley DB

(1)

Introduction to Persistencyand Berkeley DB

Philip Johnson

Collaborative Software Development Laboratory

Information and Computer Sciences

University of Hawaii

Page 2: Introduction to persistency and Berkeley DB

(2)

Data Model: Hierarchical

Tree of nodes and subnodes "Cousins" have same structure Limited data access language (traversal)

Data model for XML

Page 3: Introduction to persistency and Berkeley DB

(3)

Data Model: Relational

Set of tables containing fields Limited columns, unlimited rows Primary, secondary keys for access Powerful data access language

Page 4: Introduction to persistency and Berkeley DB

(4)

Data model: Object

Similar to hierarchical•no limitation on node structure.

Nodes can contain methods to guide retrieval.

Page 5: Introduction to persistency and Berkeley DB

(5)

Data Model: NoSQL

Generic term for all non-relational DBs•key-value stores, document DBs, etc.

A rejection of the RDBMS "orthodoxy" Examples: •Google's BigTable, CouchDB

Page 6: Introduction to persistency and Berkeley DB

(6)

Object-relational "impedance mismatch"

A primary difficulty with relational DBs•How to map table-based data to objects?

Issues: •Objects nested, tables flat•Objects traversed, tables searched•Conversion back and forth

Approaches:•ORM (Object-relational mapping) frameworks•Object databases

Page 7: Introduction to persistency and Berkeley DB

(7)

Client-server vs. embedded

Client-server:•Database runs in one process•Supports multiple connections•Relatively complicated to set up, administer.

Embedded:•Database runs "within" the client.•Only one client connects to DB.•Relatively simple to set up, administer.

Page 8: Introduction to persistency and Berkeley DB

(8)

How to choose?

Beyond the scope of this lecture!•Take ICS 321•Talk to ICS Professor Lipyeow Lim

Page 9: Introduction to persistency and Berkeley DB

(9)

BerkeleyDB Open source, embedded, object-oriented, key-value, non-relational, highly concurrent, transactional, high performance, cross-platform

Benefits for us:•Easy to set up and use.•No impedance mismatch.•High performance

Constraints:•Embedded•No use of SQL language

Page 10: Introduction to persistency and Berkeley DB

(10)

On to the demo