[Zope] Non-bloating counter/access logger solution

Wankyu Choi wankyu@neoqst.com
Thu, 12 Jun 2003 23:46:26 +0900


Hi all,

I know the topic has been discussed a lot but I found little help so =
far.

I want to implement a simple counter or a complete access logger for =
ZOPE
objects.

Here are my (and many others') problems regarding this:

- ZODB bloats. Whenever the value of a counter property gets updated, =
the
host object is copied doubling its size.

- Too many read/write conflicts. No matter how little traffic you =
expect,
you get tons of read/write conflict errors.

I thought about saving counter values/logs in an external storage like a
MySQL table or an external file in order to dupe ZODB into thinking no
change has been made to the object in question. But that doesn't seem so
elegant and generic.

Please share your ideas resolving this issue.

I have yet to study the internals of ZODB, but can't it have a way to =
update
only the designated properties of a persistent object? If not possible, =
why?
( to avoid bloating ZODB  )=20

Committing a whole object when its access log gets updated lead to =
excessive
conflict errors. By updating only the counter property, for example, the
odds of having conflicts would decrease to a substantial degree.=20

Best regards,
Wankyu Choi
---------------------------------------------------------------
  Wankyu Choi
  CEO/President
  NeoQuest Communications, Inc.
  http://www.zoper.net
  http://www.neoboard.net
---------------------------------------------------------------  =20