RE: [Zope] MySQL and/or ZODB
There was a discussion on the Zope-DB list about this, and I vaguely remember that ZODB was really good for objects, and that's it. The debate really turned into a MySQL-vs-PostgreSQL debate, which although slightly off-topic, proved that we all agreed that ZODB was not suited for heavy data use (although we couldn't agree on the DBMS) -;^>= On Tue, 2001-10-09 at 10:52, Douwe Osinga wrote:
Hi Everyone,
It is an interesting question, when to use a relational data store and when to use ZODB. If you're data is organized in objects, ZODB is usually a lot easier. In a SQL environment you'll find you're self assembling the objects from different tables all the time. However, if you want to be able to project your data along different axes, SQL is easier. ZODB works well with strictly hierarchical data, but so well if you want your data organized in two or more different ways (ie view animals by location in the zoo, but also alphabetical or by species).
I suppose that MySQL is also better when you want to store a large amount of data, but I'm not so sure. Anybody else has an idea how far you can go with ZODB?
Douwe
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Mitch Pirtle Sent: Tuesday, October 09, 2001 09:22 AM To: Dirk Datzert Cc: zope@zope.org Subject: Re: [Zope] MySQL and/or ZODB
Hi Dirk,
ZODB is used for Zope objects (DTML, ZSQL, User Folders, etc.) and probably should not be removed... MySQL (and Postgres -;^>=) is really good for relational data, and should be used in that regard.
I would say that a good practice is using ZODB for the Zope-specific stuff, and a RDBMS for pure data.
- mitchy
On Mon, 2001-10-08 at 22:32, Dirk Datzert wrote:
Hi All,
I'm a little confused about the use of ZODB or MySQL. Can the ZODB completely removed by an MySQL database or can the MySQL database only be used for dynamic form data and the ZODB ist for more static objects like DTML-Documents or ZClasses ?
Where is a good HOWTO for removing ZODB by MySQL ?
Regards, Dirk
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Mitch Pirtle wrote:
slightly off-topic, proved that we all agreed that ZODB was not suited for heavy data use (although we couldn't agree on the DBMS) -;^>=
That's a bit of a vague and waffley statement ;-) 'The ZODB' can mean a number of different things. As a whole, it is good at high read and low write volumes. As for 'heavy data use', I'd say it's fine, just given its designed use cases. However, my impression is that FileStorage sucks once you get into sites where there are over 10,000 substantial (>2-4kB) objects. I'm going to look at BerkleyStorage some time soon, hopefully that'll do better... cheers, Chris
On Wed, 2001-10-10 at 12:57, Chris Withers wrote:
Mitch Pirtle wrote:
slightly off-topic, proved that we all agreed that ZODB was not suited for heavy data use (although we couldn't agree on the DBMS) -;^>=
That's a bit of a vague and waffley statement ;-)
Sorry, that's because I've been working with databases for so long that it is dificult to explain some things. Here's the more verbose version: If it is hierarchical data (suitable for a relational model) and is volatile (changes often) or is searched/sorted/manipulated in complex ways - or needs to be supported by ACID - then a RDBMS is for you. For everything else, especially object-related data, then ZODB is the best bet. When I say object-related data, I mean real objects, as opposed to the pseudo-objects that Oracle slaps on top of their relational engine. HTH, mitchy
Mitch Pirtle wrote:
If it is hierarchical data (suitable for a relational model) and is
Not sure about hierarchical being a good map onto a relational model. I would have said tabular was a better description ;-)
ways - or needs to be supported by ACID - then a RDBMS is for you.
In what way is ZODB not ACID compliant? cheers, Chris
or needs to be supported by ACID - then a RDBMS is for you.
In what way is ZODB not ACID compliant?
Taken from ZODB/ZEO Programming Guide (http://www.amk.ca/zodb/guide/node12.html): (...) The ZODB provides 3 of the ACID properties. Only Consistency is not supported; the ZODB has no notion of a database schema, and therefore has no way of enforcing consistency with a schema. Luis Neves
On Wednesday 10 October 2001 11:31 am, Luis Neves wrote:
or needs to be supported by ACID - then a RDBMS is for you.
In what way is ZODB not ACID compliant?
the notion of isolation is also not hard compliant. at least till multi versioning concurrency control jaunx happens. ie thread a should not see results from thread b commit that happened after thread a started its transaction. there is a loose form of consistency in that all objects must be pickling and reachability requirements, but you're right consistency must be enforced at the application level. cheers kapil
kapil thangavelu wrote:
ie thread a should not see results from thread b commit that happened after thread a started its transaction.
thread a wouldn't, unless I'm mistaken... (at worst, I think this causes a Read conflict error) Chris
Luis Neves wrote:
or needs to be supported by ACID - then a RDBMS is for you.
In what way is ZODB not ACID compliant?
(...) The ZODB provides 3 of the ACID properties. Only Consistency is not supported; the ZODB has no notion of a database schema, and therefore has no way of enforcing consistency with a schema.
So, what would you propose changing to make ZODB ACID compliant in this sense? (Although I'm not sure ACID consistency is relevent here...) cheers, Chris
+-------[ Chris Withers ]---------------------- | | | Luis Neves wrote: | > | > > > or needs to be supported by ACID - then a RDBMS is for you. | > > | > > In what way is ZODB not ACID compliant? | | > (...) The ZODB provides 3 of the ACID properties. Only Consistency is not | > supported; the ZODB has no notion of a database schema, and therefore has no | > way of enforcing consistency with a schema. | | So, what would you propose changing to make ZODB ACID compliant in this sense? | (Although I'm not sure ACID consistency is relevent here...) I don't think you'll ever manage referential integrity with ZODB. It's a Persistent Object Store, not a relational database. I really don't know why people have a problem with this concept, and feel the need to enforce some other meaningless (in this context) construct onto it. (Actually I do know why, but, I feel the need to postulate). Perhaps we should rename it from ZODB to ZOS, to stop people from drawing that inference. People might think it was an operating system I suppose. -- Totally Holistic Enterprises Internet| | Andrew Milton The Internet (Aust) Pty Ltd | | ACN: 082 081 472 ABN: 83 082 081 472 | M:+61 416 022 411 | Carpe Daemon PO Box 837 Indooroopilly QLD 4068 |akm@theinternet.com.au|
On Fri, 2001-10-12 at 15:30, Andrew Kenneth Milton wrote:
I don't think you'll ever manage referential integrity with ZODB. It's a Persistent Object Store, not a relational database. I really don't know why people have a problem with this concept, and feel the need to enforce some other meaningless (in this context) construct onto it. (Actually I do know why, but, I feel the need to postulate).
That was what I was trying (unsuccessfuly) earlier to state - that if you need a RDBMS, then use one; and if you are storing objects, then ZODB is the way to go. For me it always was clear, but to some there is no difference between a RDBMS and an object store. My earlier reference to ACID was to point out that your requirements/functionalities are different between the two, and there's a good/bad time to use either. For example, if you needed to support transactions over multiple pieces of data, why would you dump it in an object store? And if you needed OO functionality without any clear needs for referential integrity (and all that other database stuff), then why put it in a RDBMS?
Perhaps we should rename it from ZODB to ZOS, to stop people from drawing that inference. People might think it was an operating system I suppose.
I think the name is great. Here in Switzerland, many people try to pronounce acronyms (like "U.F.O." as "ufo") and watching them try to say "zodb" is really worth taking the time...
participants (5)
-
Andrew Kenneth Milton -
Chris Withers -
kapil thangavelu -
Luis Neves -
Mitch Pirtle