9

Click here to load reader

Laurence Rowe Slides An Introduction To The Zodb

  • Upload
    wooda

  • View
    1.698

  • Download
    3

Embed Size (px)

DESCRIPTION

The Zope Object Database lies underneath every Plone site. This talk gives an introduction to how it works and offers some tips for debugging at the ZODB level

Citation preview

Page 1: Laurence Rowe   Slides   An Introduction To The Zodb

An introduction to the ZODB

Laurence Rowe, Plone Conference 2007, [email protected]

Page 2: Laurence Rowe   Slides   An Introduction To The Zodb

In comparison to...

• Relational databases

• Hierarchical databases (LDAP, filesystems)

• Object-Relational Mappers (ORMs)

Page 3: Laurence Rowe   Slides   An Introduction To The Zodb

Transactions

• Concurrency Control

• Atomicity

• Conflict Errors

Page 4: Laurence Rowe   Slides   An Introduction To The Zodb

Scalability

• The Global Interpreter Lock

• ZEO

• Partitioning

Page 5: Laurence Rowe   Slides   An Introduction To The Zodb

ZEO

Storage 1

Storage 2

Zope

ZEO

Zope

Zope

Zope

ApachePound

(load balancer)

Page 6: Laurence Rowe   Slides   An Introduction To The Zodb

Storage types

• FileStorage

• DirectoryStorage

• PGStorage

Page 7: Laurence Rowe   Slides   An Introduction To The Zodb

Other features

• Savepoints

• Versions (deprecated)

• Undo

• BLOBs

• Packing

Page 8: Laurence Rowe   Slides   An Introduction To The Zodb

Best Practice

• Don’t read on write

• Keep your code on the filesystem

• BTrees

• Simple content types

Page 9: Laurence Rowe   Slides   An Introduction To The Zodb

Documentation

• http://wiki.zope.org/ZODB/Documentation