SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Plone on RelStorage
         Lars R. Noldan
      Plone Symposium East 2010




           nowhere to go but
           open source
     sixfeetup.com/deploy2010
Overview

•   How does Zope store data
•   Why RelStorage?
•   How to implement RelStorage
•   Some reasons not to use RelStorage




                                         sixfeetup.com/deploy2010
Zope Storage Methods




                   sixfeetup.com/deploy2010
What is the ZODB?

•   Object oriented database
•   Used by Zope to hold everything from content
    to scripts, to service configurations




                                           sixfeetup.com/deploy2010
What 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



                                         sixfeetup.com/deploy2010
What is RelStorage?
•   Drop in replacement
•   Replaces ZEO
•   Eliminates Data.fs
•   Stores pickles
•   Is still ZODB
•   Uses relational databases


                                sixfeetup.com/deploy2010
Why Change?




              sixfeetup.com/deploy2010
Advantages 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


                                                   sixfeetup.com/deploy2010
Databases Supported
•   MySQL 5.0.32 or better
    •   MySQLdb >= 1.2.2
•   PostgreSQL 8.1 or better
    •   psycopg2
•   Oracle 10g
    •   cx_Oracle


                               sixfeetup.com/deploy2010
How 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

                                           sixfeetup.com/deploy2010
How Do I Install It? Cont.
•   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

                                           sixfeetup.com/deploy2010
Available 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)



                                               sixfeetup.com/deploy2010
zodbconvert.conf
Converting from filestorage to MySQL
   <filestorage source>
    path /opt/default/zinstance/var/
   filestorage/Data.fs
   </filestorage>

   <relstorage destination>
    <mysql>
     db plone
     user plone
     passwd terriblepassword
    </mysql>
   </relstorage>



                                       sixfeetup.com/deploy2010
Running zodbconvert
lnoldan$ sudo /opt/mysql/zinstance/bin/zodbconvert --clear
zodbconvert.conf

Storages opened successfully.
All transactions copied successfully.




                                               sixfeetup.com/deploy2010
What’s the Catch?




                    sixfeetup.com/deploy2010
There 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



                                                 sixfeetup.com/deploy2010
What 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



                                          sixfeetup.com/deploy2010
Links

•   http://pypi.python.org/pypi/RelStorage/1.4.0b3
•   http://shane.willowrise.com/archives/relstorage-
    1-4-0b1-and-zodbshootout




                                              sixfeetup.com/deploy2010
Credits:
 •   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/
                                             sixfeetup.com/deploy2010
More info at:
sixfeetup.com/deploy2010




            sixfeetup.com/deploy2010

Más contenido relacionado

La actualidad más candente

LCA 2012: High Availability Sprint
LCA 2012: High Availability SprintLCA 2012: High Availability Sprint
LCA 2012: High Availability Sprint
hastexo
 
CHI - YAPC NA 2012
CHI - YAPC NA 2012CHI - YAPC NA 2012
CHI - YAPC NA 2012
jonswar
 
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
Ontico
 
CHI-YAPC-2009
CHI-YAPC-2009CHI-YAPC-2009
CHI-YAPC-2009
jonswar
 

La actualidad más candente (20)

深入了解Redis
深入了解Redis深入了解Redis
深入了解Redis
 
The cost of learning - advantage of mixer2
The cost of learning - advantage of mixer2The cost of learning - advantage of mixer2
The cost of learning - advantage of mixer2
 
Amis puppet building blocks demo for Oracle Database and Weblogic cluster
Amis puppet building blocks demo for Oracle Database and Weblogic clusterAmis puppet building blocks demo for Oracle Database and Weblogic cluster
Amis puppet building blocks demo for Oracle Database and Weblogic cluster
 
Elasticsearch 1.x Cluster Installation (VirtualBox)
Elasticsearch 1.x Cluster Installation (VirtualBox)Elasticsearch 1.x Cluster Installation (VirtualBox)
Elasticsearch 1.x Cluster Installation (VirtualBox)
 
Elastic search 클러스터관리
Elastic search 클러스터관리Elastic search 클러스터관리
Elastic search 클러스터관리
 
MongoDB performance tuning and load testing, NOSQL Now! 2013 Conference prese...
MongoDB performance tuning and load testing, NOSQL Now! 2013 Conference prese...MongoDB performance tuning and load testing, NOSQL Now! 2013 Conference prese...
MongoDB performance tuning and load testing, NOSQL Now! 2013 Conference prese...
 
LCA 2012: High Availability Sprint
LCA 2012: High Availability SprintLCA 2012: High Availability Sprint
LCA 2012: High Availability Sprint
 
Html5 drupal7 with mandakini kumari(1)
Html5 drupal7 with mandakini kumari(1)Html5 drupal7 with mandakini kumari(1)
Html5 drupal7 with mandakini kumari(1)
 
CHI - YAPC NA 2012
CHI - YAPC NA 2012CHI - YAPC NA 2012
CHI - YAPC NA 2012
 
Mongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricksMongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricks
 
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
 
10 Key MongoDB Performance Indicators
10 Key MongoDB Performance Indicators  10 Key MongoDB Performance Indicators
10 Key MongoDB Performance Indicators
 
CHI-YAPC-2009
CHI-YAPC-2009CHI-YAPC-2009
CHI-YAPC-2009
 
Elasticsearch 설치 및 기본 활용
Elasticsearch 설치 및 기본 활용Elasticsearch 설치 및 기본 활용
Elasticsearch 설치 및 기본 활용
 
The secret of programming language development and future
The secret of programming  language development and futureThe secret of programming  language development and future
The secret of programming language development and future
 
Distributed Data Processing Workshop - SBU
Distributed Data Processing Workshop - SBUDistributed Data Processing Workshop - SBU
Distributed Data Processing Workshop - SBU
 
PHP 5.5 Zend OPcache
PHP 5.5 Zend OPcachePHP 5.5 Zend OPcache
PHP 5.5 Zend OPcache
 
企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用
企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用
企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
mruby で mackerel のプラグインを作るはなし
mruby で mackerel のプラグインを作るはなしmruby で mackerel のプラグインを作るはなし
mruby で mackerel のプラグインを作るはなし
 

Destacado

Cb presentation-march2013
Cb presentation-march2013Cb presentation-march2013
Cb presentation-march2013
Bill Blevins
 
SOURCE Boston --Attacking Oracle Web Applications with Metasploit & wXf
SOURCE Boston --Attacking Oracle Web Applications with Metasploit & wXfSOURCE Boston --Attacking Oracle Web Applications with Metasploit & wXf
SOURCE Boston --Attacking Oracle Web Applications with Metasploit & wXf
Chris Gates
 
Attacking Oracle with the Metasploit Framework
Attacking Oracle with the Metasploit FrameworkAttacking Oracle with the Metasploit Framework
Attacking Oracle with the Metasploit Framework
Chris Gates
 
PlantsMap-COVER_SEPT-OCT MAG
PlantsMap-COVER_SEPT-OCT MAGPlantsMap-COVER_SEPT-OCT MAG
PlantsMap-COVER_SEPT-OCT MAG
Bill Blevins
 

Destacado (20)

ZebraReach
ZebraReachZebraReach
ZebraReach
 
Cb presentation-march2013
Cb presentation-march2013Cb presentation-march2013
Cb presentation-march2013
 
Dirty Little Secrets They Didn't Teach You In Pentest Class v2
Dirty Little Secrets They Didn't Teach You In Pentest Class v2Dirty Little Secrets They Didn't Teach You In Pentest Class v2
Dirty Little Secrets They Didn't Teach You In Pentest Class v2
 
Radio Communications During an Event
Radio Communications During an EventRadio Communications During an Event
Radio Communications During an Event
 
MSF Auxiliary Modules
MSF Auxiliary ModulesMSF Auxiliary Modules
MSF Auxiliary Modules
 
SOURCE Boston --Attacking Oracle Web Applications with Metasploit & wXf
SOURCE Boston --Attacking Oracle Web Applications with Metasploit & wXfSOURCE Boston --Attacking Oracle Web Applications with Metasploit & wXf
SOURCE Boston --Attacking Oracle Web Applications with Metasploit & wXf
 
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
 
Kaleidoscope Power Point
Kaleidoscope Power PointKaleidoscope Power Point
Kaleidoscope Power Point
 
Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)
 
Gael Le Mignot How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...
Gael Le Mignot   How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...Gael Le Mignot   How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...
Gael Le Mignot How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...
 
Attacking Oracle with the Metasploit Framework
Attacking Oracle with the Metasploit FrameworkAttacking Oracle with the Metasploit Framework
Attacking Oracle with the Metasploit Framework
 
Open Source Information Gathering Brucon Edition
Open Source Information Gathering Brucon EditionOpen Source Information Gathering Brucon Edition
Open Source Information Gathering Brucon Edition
 
Windows attacks - AT is the new black
Windows attacks - AT is the new blackWindows attacks - AT is the new black
Windows attacks - AT is the new black
 
Zope component architechture
Zope component architechtureZope component architechture
Zope component architechture
 
DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015
 
Going Purple : From full time breaker to part time fixer: 1 year later
Going Purple : From full time breaker to part time fixer: 1 year later Going Purple : From full time breaker to part time fixer: 1 year later
Going Purple : From full time breaker to part time fixer: 1 year later
 
Förskoleteamet maj 2011
Förskoleteamet maj 2011Förskoleteamet maj 2011
Förskoleteamet maj 2011
 
Nämnd 21 mars
Nämnd 21 marsNämnd 21 mars
Nämnd 21 mars
 
Pluttra annero
Pluttra anneroPluttra annero
Pluttra annero
 
PlantsMap-COVER_SEPT-OCT MAG
PlantsMap-COVER_SEPT-OCT MAGPlantsMap-COVER_SEPT-OCT MAG
PlantsMap-COVER_SEPT-OCT MAG
 

Similar a Pse2010 rel storage

mogpres
mogpresmogpres
mogpres
xlight
 
My site is slow
My site is slowMy site is slow
My site is slow
hernanibf
 
Mysql tech day_paris_ps_and_sys
Mysql tech day_paris_ps_and_sysMysql tech day_paris_ps_and_sys
Mysql tech day_paris_ps_and_sys
Mark Leith
 
Replication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionReplication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party Extinction
Ben Mildren
 

Similar a Pse2010 rel storage (20)

mogpres
mogpresmogpres
mogpres
 
mogpres
mogpresmogpres
mogpres
 
Test like a_boss
Test like a_bossTest like a_boss
Test like a_boss
 
Plone on RelStorage
Plone on RelStoragePlone on RelStorage
Plone on RelStorage
 
pandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fastpandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fast
 
My site is slow
My site is slowMy site is slow
My site is slow
 
My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
 
How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015
 
node.js 실무 - node js in practice by Jesang Yoon
node.js 실무 - node js in practice by Jesang Yoonnode.js 실무 - node js in practice by Jesang Yoon
node.js 실무 - node js in practice by Jesang Yoon
 
20190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev220190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev2
 
Mysql tech day_paris_ps_and_sys
Mysql tech day_paris_ps_and_sysMysql tech day_paris_ps_and_sys
Mysql tech day_paris_ps_and_sys
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
 
Docking postgres
Docking postgresDocking postgres
Docking postgres
 
ZODB Tips and Tricks
ZODB Tips and TricksZODB Tips and Tricks
ZODB Tips and Tricks
 
06 integrating extra features and looking forward
06   integrating extra features and looking forward06   integrating extra features and looking forward
06 integrating extra features and looking forward
 
mtl_rubykaigi
mtl_rubykaigimtl_rubykaigi
mtl_rubykaigi
 
Replication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionReplication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party Extinction
 
Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 

Pse2010 rel storage

  • 1. Plone on RelStorage Lars R. Noldan Plone Symposium East 2010 nowhere to go but open source sixfeetup.com/deploy2010
  • 2. Overview • How does Zope store data • Why RelStorage? • How to implement RelStorage • Some reasons not to use RelStorage sixfeetup.com/deploy2010
  • 3. Zope Storage Methods sixfeetup.com/deploy2010
  • 4. What is the ZODB? • Object oriented database • Used by Zope to hold everything from content to scripts, to service configurations sixfeetup.com/deploy2010
  • 5. What 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 sixfeetup.com/deploy2010
  • 6. What is RelStorage? • Drop in replacement • Replaces ZEO • Eliminates Data.fs • Stores pickles • Is still ZODB • Uses relational databases sixfeetup.com/deploy2010
  • 7. Why Change? sixfeetup.com/deploy2010
  • 8. Advantages 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 sixfeetup.com/deploy2010
  • 9. Databases Supported • MySQL 5.0.32 or better • MySQLdb >= 1.2.2 • PostgreSQL 8.1 or better • psycopg2 • Oracle 10g • cx_Oracle sixfeetup.com/deploy2010
  • 10. How 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 sixfeetup.com/deploy2010
  • 11. How Do I Install It? Cont. • 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 sixfeetup.com/deploy2010
  • 12. Available 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) sixfeetup.com/deploy2010
  • 13. zodbconvert.conf Converting from filestorage to MySQL <filestorage source> path /opt/default/zinstance/var/ filestorage/Data.fs </filestorage> <relstorage destination> <mysql> db plone user plone passwd terriblepassword </mysql> </relstorage> sixfeetup.com/deploy2010
  • 14. Running zodbconvert lnoldan$ sudo /opt/mysql/zinstance/bin/zodbconvert --clear zodbconvert.conf Storages opened successfully. All transactions copied successfully. sixfeetup.com/deploy2010
  • 15. What’s the Catch? sixfeetup.com/deploy2010
  • 16. There 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 sixfeetup.com/deploy2010
  • 17. What 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 sixfeetup.com/deploy2010
  • 18. Links • http://pypi.python.org/pypi/RelStorage/1.4.0b3 • http://shane.willowrise.com/archives/relstorage- 1-4-0b1-and-zodbshootout sixfeetup.com/deploy2010
  • 19. Credits: • 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/ sixfeetup.com/deploy2010
  • 20. More info at: sixfeetup.com/deploy2010 sixfeetup.com/deploy2010