Introduction to Persistency and Berkeley DB Philip Johnson Collaborative Software Development Laboratory Information and C...
Data Model: Hierarchical <ul><li>Tree of nodes and subnodes </li></ul><ul><li>&quot;Cousins&quot; have same structure </li...
Data Model: Relational <ul><li>Set of tables containing fields </li></ul><ul><li>Limited columns, unlimited rows </li></ul...
Data model: Object <ul><li>Similar to hierarchical </li></ul><ul><ul><li>no limitation on node structure. </li></ul></ul><...
Data Model: NoSQL <ul><li>Generic term for all non-relational DBs </li></ul><ul><ul><li>key-value stores, document DBs, et...
Object-relational  &quot;impedance mismatch&quot; <ul><li>A primary difficulty with relational DBs </li></ul><ul><ul><li>H...
Client-server vs. embedded <ul><li>Client-server: </li></ul><ul><ul><li>Database runs in one process </li></ul></ul><ul><u...
How to choose? <ul><li>Beyond the scope of this lecture! </li></ul><ul><ul><li>Take ICS 321 </li></ul></ul><ul><ul><li>Tal...
BerkeleyDB <ul><li>Open source, embedded, object-oriented, key-value, non-relational, highly concurrent, transactional, hi...
On to the demo
Upcoming SlideShare
Loading in …5
×

Introduction to persistency and Berkeley DB

1,136 views

Published on

An introduction to persistency management and the Berkeley DB system.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,136
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction to persistency and Berkeley DB

  1. 1. Introduction to Persistency and Berkeley DB Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii
  2. 2. Data Model: Hierarchical <ul><li>Tree of nodes and subnodes </li></ul><ul><li>&quot;Cousins&quot; have same structure </li></ul><ul><li>Limited data access language (traversal) </li></ul><ul><li>Data model for XML </li></ul>
  3. 3. Data Model: Relational <ul><li>Set of tables containing fields </li></ul><ul><li>Limited columns, unlimited rows </li></ul><ul><li>Primary, secondary keys for access </li></ul><ul><li>Powerful data access language </li></ul>
  4. 4. Data model: Object <ul><li>Similar to hierarchical </li></ul><ul><ul><li>no limitation on node structure. </li></ul></ul><ul><li>Nodes can contain methods to guide retrieval. </li></ul>
  5. 5. Data Model: NoSQL <ul><li>Generic term for all non-relational DBs </li></ul><ul><ul><li>key-value stores, document DBs, etc. </li></ul></ul><ul><li>A rejection of the RDBMS &quot;orthodoxy&quot; </li></ul><ul><li>Examples: </li></ul><ul><ul><li>Google's BigTable, CouchDB </li></ul></ul>
  6. 6. Object-relational &quot;impedance mismatch&quot; <ul><li>A primary difficulty with relational DBs </li></ul><ul><ul><li>How to map table-based data to objects? </li></ul></ul><ul><li>Issues: </li></ul><ul><ul><li>Objects nested, tables flat </li></ul></ul><ul><ul><li>Objects traversed, tables searched </li></ul></ul><ul><ul><li>Conversion back and forth </li></ul></ul><ul><li>Approaches: </li></ul><ul><ul><li>ORM (Object-relational mapping) frameworks </li></ul></ul><ul><ul><li>Object databases </li></ul></ul>
  7. 7. Client-server vs. embedded <ul><li>Client-server: </li></ul><ul><ul><li>Database runs in one process </li></ul></ul><ul><ul><li>Supports multiple connections </li></ul></ul><ul><ul><li>Relatively complicated to set up, administer. </li></ul></ul><ul><li>Embedded: </li></ul><ul><ul><li>Database runs &quot;within&quot; the client. </li></ul></ul><ul><ul><li>Only one client connects to DB. </li></ul></ul><ul><ul><li>Relatively simple to set up, administer. </li></ul></ul>
  8. 8. How to choose? <ul><li>Beyond the scope of this lecture! </li></ul><ul><ul><li>Take ICS 321 </li></ul></ul><ul><ul><li>Talk to ICS Professor Lipyeow Lim </li></ul></ul>
  9. 9. BerkeleyDB <ul><li>Open source, embedded, object-oriented, key-value, non-relational, highly concurrent, transactional, high performance, cross-platform </li></ul><ul><li>Benefits for us: </li></ul><ul><ul><li>Easy to set up and use. </li></ul></ul><ul><ul><li>No impedance mismatch. </li></ul></ul><ul><ul><li>High performance </li></ul></ul><ul><li>Constraints: </li></ul><ul><ul><li>Embedded </li></ul></ul><ul><ul><li>No use of SQL language </li></ul></ul>
  10. 10. On to the demo

×