SlideShare a Scribd company logo
1 of 22
Download to read offline
Plone on RelStorage
Calvin 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 Storage
Methods
Saturday, October 30, 2010
PLONE CONFERENCE 2010What is the ZODB?
• Object oriented database
• Used by Zope to hold everything from content
to 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 Talked
About
• 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

More Related Content

Similar to Plone on RelStorage

Pse2010 rel storage
Pse2010 rel storagePse2010 rel storage
Pse2010 rel storageLars Noldan
 
Laying Pipe with Transmogrifier
Laying Pipe with TransmogrifierLaying Pipe with Transmogrifier
Laying Pipe with TransmogrifierClayton Parker
 
"How Mozilla Uses Selenium"
"How Mozilla Uses Selenium""How Mozilla Uses Selenium"
"How Mozilla Uses Selenium"Stephen Donner
 
Buildout for the Future
Buildout for the FutureBuildout for the Future
Buildout for the FutureClayton Parker
 
Gerenciamento Servidores com o Spacewalk
Gerenciamento Servidores com o SpacewalkGerenciamento Servidores com o Spacewalk
Gerenciamento Servidores com o Spacewalkhdoria
 
Jeff mc cune sf 2010
Jeff mc cune sf 2010Jeff mc cune sf 2010
Jeff mc cune sf 2010Puppet
 
Puppet Camp Chicago 2014: Keynote
Puppet Camp Chicago 2014: KeynotePuppet Camp Chicago 2014: Keynote
Puppet Camp Chicago 2014: KeynotePuppet
 
Data Loading for Ext GWT
Data Loading for Ext GWTData Loading for Ext GWT
Data Loading for Ext GWTSencha
 
Puppet Camp New York Keynote
Puppet Camp New York KeynotePuppet Camp New York Keynote
Puppet Camp New York KeynotePuppet
 
Puppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet
 
Puppet Camp DC 2014: Keynote
Puppet Camp DC 2014: KeynotePuppet Camp DC 2014: Keynote
Puppet Camp DC 2014: KeynotePuppet
 
Continuous Integration Testing for Plone Using Hudson
Continuous Integration Testing for Plone Using HudsonContinuous Integration Testing for Plone Using Hudson
Continuous Integration Testing for Plone Using HudsonEric Steele
 
Resumable File Upload API using GridFS and TUS
Resumable File Upload API using GridFS and TUSResumable File Upload API using GridFS and TUS
Resumable File Upload API using GridFS and TUSkhangtoh
 
Sneak Peek of Nuxeo 5.4
Sneak Peek of Nuxeo 5.4Sneak Peek of Nuxeo 5.4
Sneak Peek of Nuxeo 5.4Nuxeo
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonCodeSyntax
 
Pg nordic-day-2014-2 tb-enough
Pg nordic-day-2014-2 tb-enoughPg nordic-day-2014-2 tb-enough
Pg nordic-day-2014-2 tb-enoughRenaud Bruyeron
 
Automation using-phing
Automation using-phingAutomation using-phing
Automation using-phingRajat Pandit
 

Similar to Plone on RelStorage (20)

Pse2010 rel storage
Pse2010 rel storagePse2010 rel storage
Pse2010 rel storage
 
Laying Pipe with Transmogrifier
Laying Pipe with TransmogrifierLaying Pipe with Transmogrifier
Laying Pipe with Transmogrifier
 
"How Mozilla Uses Selenium"
"How Mozilla Uses Selenium""How Mozilla Uses Selenium"
"How Mozilla Uses Selenium"
 
Meet Couch DB
Meet Couch DBMeet Couch DB
Meet Couch DB
 
Buildout for the Future
Buildout for the FutureBuildout for the Future
Buildout for the Future
 
Buildout future
Buildout futureBuildout future
Buildout future
 
Gerenciamento Servidores com o Spacewalk
Gerenciamento Servidores com o SpacewalkGerenciamento Servidores com o Spacewalk
Gerenciamento Servidores com o Spacewalk
 
Jeff mc cune sf 2010
Jeff mc cune sf 2010Jeff mc cune sf 2010
Jeff mc cune sf 2010
 
Puppet Camp Chicago 2014: Keynote
Puppet Camp Chicago 2014: KeynotePuppet Camp Chicago 2014: Keynote
Puppet Camp Chicago 2014: Keynote
 
Data Loading for Ext GWT
Data Loading for Ext GWTData Loading for Ext GWT
Data Loading for Ext GWT
 
Puppet Camp New York Keynote
Puppet Camp New York KeynotePuppet Camp New York Keynote
Puppet Camp New York Keynote
 
Puppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: Keynote
 
Puppet Camp DC 2014: Keynote
Puppet Camp DC 2014: KeynotePuppet Camp DC 2014: Keynote
Puppet Camp DC 2014: Keynote
 
Continuous Integration Testing for Plone Using Hudson
Continuous Integration Testing for Plone Using HudsonContinuous Integration Testing for Plone Using Hudson
Continuous Integration Testing for Plone Using Hudson
 
mogpres
mogpresmogpres
mogpres
 
Resumable File Upload API using GridFS and TUS
Resumable File Upload API using GridFS and TUSResumable File Upload API using GridFS and TUS
Resumable File Upload API using GridFS and TUS
 
Sneak Peek of Nuxeo 5.4
Sneak Peek of Nuxeo 5.4Sneak Peek of Nuxeo 5.4
Sneak Peek of Nuxeo 5.4
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in python
 
Pg nordic-day-2014-2 tb-enough
Pg nordic-day-2014-2 tb-enoughPg nordic-day-2014-2 tb-enough
Pg nordic-day-2014-2 tb-enough
 
Automation using-phing
Automation using-phingAutomation using-phing
Automation using-phing
 

More from Calvin Hendryx-Parker

More from Calvin Hendryx-Parker (8)

Plone and Drupal -- CMS Coexistance in Higher Education
Plone and Drupal -- CMS Coexistance in Higher EducationPlone and Drupal -- CMS Coexistance in Higher Education
Plone and Drupal -- CMS Coexistance in Higher Education
 
Plone roadmap
Plone roadmapPlone roadmap
Plone roadmap
 
How to seal the deal
How to seal the dealHow to seal the deal
How to seal the deal
 
2010 py ohio supervisor talk
2010 py ohio supervisor talk2010 py ohio supervisor talk
2010 py ohio supervisor talk
 
Social Networking Tools Session Three
Social Networking Tools Session ThreeSocial Networking Tools Session Three
Social Networking Tools Session Three
 
Social Networking Tools Session One
Social Networking Tools   Session OneSocial Networking Tools   Session One
Social Networking Tools Session One
 
Social Networking Tools Session Two
Social Networking Tools   Session TwoSocial Networking Tools   Session Two
Social Networking Tools Session Two
 
Plone's Anatomy
Plone's AnatomyPlone's Anatomy
Plone's Anatomy
 

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Plone on RelStorage

  • 1. Plone on RelStorage Calvin Hendryx-Parker PLONE CONFERENCE 2010 Saturday, October 30, 2010
  • 2. PLONE CONFERENCE 2010Overview • How does Zope store data • Why RelStorage? • How to implement RelStorage • Some reasons not to use RelStorage Saturday, October 30, 2010
  • 3. PLONE CONFERENCE 2010Zope Storage Methods Saturday, October 30, 2010
  • 4. PLONE CONFERENCE 2010What is the ZODB? • Object oriented database • Used by Zope to hold everything from content to scripts, to service configurations Saturday, October 30, 2010
  • 5. 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
  • 6. 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
  • 7. PLONE CONFERENCE 2010Why Change? Saturday, October 30, 2010
  • 8. 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
  • 9. PLONE CONFERENCE 2010Real World • Major Health System Site • Java portion of site locked up • Restarted Serivce with Little Impact Saturday, October 30, 2010
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. PLONE CONFERENCE 2010Options • blob-dir • shared-blob-dir • keep-history • replica-conf • pack-gc • pack-dry-run • cache-servers Saturday, October 30, 2010
  • 14. 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
  • 15. 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
  • 16. PLONE CONFERENCE 2010Running zodbconvert $ sudo /opt/mysql/zinstance/bin/zodbconvert --clear zodbconvert.conf Storages opened successfully. All transactions copied successfully. Saturday, October 30, 2010
  • 17. PLONE CONFERENCE 2010What’s the Catch? Saturday, October 30, 2010
  • 18. 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
  • 19. PLONE CONFERENCE 2010What We Talked About • 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
  • 20. PLONE CONFERENCE 2010Links • http://pypi.python.org/pypi/RelStorage • http://shane.willowrise.com/archives/relstorage-1-4-0b1-and-zodbshootout Saturday, October 30, 2010
  • 21. 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