plone on relstorage
DESCRIPTION
In this presentation we will discuss what Relstroage is, and the effect it can have on your Plone site. We will compare different Relstorage backends (MySQL and PostgreSQL) and how they perform compared to the default filestorage. We will also discuss why you may or may not want to use Relstorage in your environment. We will also review any changes you will need to make to your environment to maintain Relstorage.TRANSCRIPT
Plone on RelStorageCalvin Hendryx-Parker
PLONE CONFERENCE 2010
Saturday, October 30, 2010
PLONE CONFERENCE 2010Overview
• How does Zope store data
• Why RelStorage?
• How to implement RelStorage
• Some reasons not to use RelStorage
Saturday, October 30, 2010
PLONE CONFERENCE 2010Zope StorageMethods
Saturday, October 30, 2010
PLONE CONFERENCE 2010What is the ZODB?
• Object oriented database
• Used by Zope to hold everything from contentto scripts, to service configurations
Saturday, October 30, 2010
PLONE CONFERENCE 2010What is Filestorage?• The default backend for Zope/ZEO
• var/filestorage/Data.fs
• Does an in-memory index at startup
• Data appends to the end
• Back-up utility is Repozo
Saturday, October 30, 2010
PLONE CONFERENCE 2010What is RelStorage?
• Drop in replacement
• Replaces ZEO
• Eliminates Data.fs
• Stores pickles
• Is still ZODB
• Uses relational databases
Saturday, October 30, 2010
PLONE CONFERENCE 2010Why Change?
Saturday, October 30, 2010
PLONE CONFERENCE 2010Advantages of RelStorage• Existing infrastructure
• Existing expertise
• Wide range of management tools
• High availability, high performance clusters
• No in-memory index at startup
• Scales well as your database grows
• High Concurrency
Saturday, October 30, 2010
PLONE CONFERENCE 2010Real World
• Major Health System Site
• Java portion of site locked up
• Restarted Serivce with Little Impact
Saturday, October 30, 2010
PLONE CONFERENCE 2010Databases Supported
• MySQL 5.0.32 or better
• MySQLdb >= 1.2.2
• PostgreSQL 8.1 or better
• psycopg2
• Oracle 10g
• cx_Oracle
Saturday, October 30, 2010
PLONE CONFERENCE 2010How Do I Install It?• For MySQL add the
following to buildout.cfg:
eggs = RelStorage MySQL-Python
fake-eggs = ZODB3 = 3.7.1
[instance] type mysql db plone user plone host localhost password terriblepassword
Saturday, October 30, 2010
PLONE CONFERENCE 2010How Do I Install It?• For PostgreSQL add the
following to buildout.cfg:
eggs = RelStorage
fake-eggs = ZODB3 = 3.7.1 psycopg2
[instance] type postgresql dbname plone user plone host localhost password terriblepassword
Saturday, October 30, 2010
PLONE CONFERENCE 2010Options• blob-dir
• shared-blob-dir
• keep-history
• replica-conf
• pack-gc
• pack-dry-run
• cache-servers
Saturday, October 30, 2010
PLONE CONFERENCE 2010Available Tools• zodbconvert
• Converts from filestorage to {mysql/pgsql/oracle}
• Convert from {mysql/pgsql/oracle} to filestorage
• Convert from one Database to another (ie: mysql to oracle)
• zodbpack
• Allows concurrent connections
• Use from cron
Saturday, October 30, 2010
PLONE CONFERENCE 2010zodbconvert.conf
<filestorage source> path /opt/default/zinstance/var/filestorage/Data.fs</filestorage>
<relstorage destination> <mysql> db plone user plone passwd terriblepassword </mysql></relstorage>
Converting from filestorage to MySQL
Saturday, October 30, 2010
PLONE CONFERENCE 2010Running zodbconvert
$ sudo /opt/mysql/zinstance/bin/zodbconvert --clear zodbconvert.conf
Storages opened successfully.All transactions copied successfully.
Saturday, October 30, 2010
PLONE CONFERENCE 2010What’s the Catch?
Saturday, October 30, 2010
PLONE CONFERENCE 2010There Are Pitfalls
• Added complexity
• Additional server load
• Additional memory utilization
• The database is full of pickles, not plain text
• Your database still needs to be packed
Saturday, October 30, 2010
PLONE CONFERENCE 2010What We TalkedAbout• Zope storage engines: ZEO and RelStorage
• Why you might choose RelStorage
• How to install RelStorage
• Tools for RelStorage
• Why you might not use RelStorage
Saturday, October 30, 2010
PLONE CONFERENCE 2010Links
• http://pypi.python.org/pypi/RelStorage
• http://shane.willowrise.com/archives/relstorage-1-4-0b1-and-zodbshootout
Saturday, October 30, 2010
PLONE CONFERENCE 2010Credits:• http://www.flickr.com/photos/kaplanbr/
2465380377/
• http://www.flickr.com/photos/shuttercat7/416008944/
• http://www.flickr.com/photos/juniorvelo/3267647833/
• http://www.flickr.com/photos/arthurjohnpicton/4383221264/
• http://www.flickr.com/photos/generated/3249283352/
Saturday, October 30, 2010
Check out
sixfeetup.com/demos
Saturday, October 30, 2010