Plone Storage
Status: I will not finish this page; see Update below.
Pagecode: T->1 A->SAml H->trsa[t,a,si,di]d[t,a,si,di] C->SA[cccej]
Last changed: Monday 2010-03-01 [12:22 UTC]
Abstract:
The kind of storage back-end chosen depends on a variety of things. First of all, the usage i.e. is a particular Plone instance used for a small group of users or will it be used by thousands of users. Also, what kind of storage to use depends heavily on the content types stored -- many small files might require other actions than few huge files. Apart from such obvious things requirements for scalability and high availability influence the decision which kind of storage should be chosen. Or, not to be forgotten, the amount of time and complexity of some Plone installation one is able to afford respectively able to handle might influence the choice for a storage back-end. Also, decisions might be made on the type of hardware or yet existing hard and software environment. Aside from those things just mentioned, there might be many more reasons to pick a particular storage back-end. This page will look into some of the most common cases and explain the "why and how" about it.
|
Table of Contents
|
Update: I now (May 2009) stopped working with/on Plone in favor of
Dolmen simply because working with Plone is no fun anymore. Plone has
become way to fat and confusing to work with over the years — I need
something that works with me, not against me.
Different Types of Storage
ZODB (Zope Object Database)
ZODB or Zope object database supports transactions, undo, private
versions, and scales to gigabytes of data. There is also an optional
enterprise option available which provides scalability and fail-over.
Since Zope usually works with objects, it is normal to store them
within ZODB. Nevertheless Zope can also use external datasources to
store and retrieve data.
File System Storage
ZEO (Zope Enterprise Objects)
ZEORaid
Performance
Profiling Plone
Taking Measures
- Caching
- Web Server with caching e.g. Apache
- Proxy Server
- forward proxy e.g. Squid
- reverse proxy e.g. Varnish
- CacheFu
- faster hardware
Scalability and High Availability
High Availability
Redundancy
Scalability
|