Re: ZODB and Web2py
Jason Madden <[email protected]>
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <[email protected]> |
> On Mar 12, 2017, at 06:10, Etienne Robillard <[email protected]> wrote: > > What is the difference between ClientStorage and RelStorage? > > I need a multithread-friendly (Gevent) client-server database backend to serve > > concurrent requests. > Both ClientStorage and RelStorage are client-server systems allowing multiple clients to access one ZODB database. ClientStorage connects to a ZEO Python server that you run; that Python process in turn accesses a FileStorage (usually), so you have all the pros and cons of FileStorage, including good tooling, simple backups, etc. You also have all the pros and cons of running a Python server: ease of deployment and debugging, access to the code, but the potential to be relatively "slow" (whatever that means, which may or may not even be a factor). RelStorage connects to a running RDBMS server such as MySQL, PostgreSQL or Oracle. There is no FileStorage or Python server process involved. So you have the pros and cons that go with that: potentially better scalability but the need to install a database driver and manage a database server, and all the pros (like advanced replication and failover) of the RDBMS you choose, as well as its cons (potentially more complicated administration and management). I will note that there are services these days like Amazon RDS that will manage and RDBMS server for you. RelStorage explicitly supports using gevent in the client, at least with the correct MySQL and PostgreSQL database drivers. I know that in the past, it was possible to use ClientStorage successfully with gevent, but I haven't really tried since ZEO 5 switched to tulip/asyncio. That's just a brief overview, but I hope it helps. Jason -- You received this message because you are subscribed to the Google Groups "zodb" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.