Re: [ZODB-Dev] ZODB 4.0.0 and ZEO 4.0.0 Released

2013-09-19 Thread Stephan Richter
On Wednesday, September 18, 2013 12:10:55 PM Jim Fulton wrote:
 Hopefully, we can increase our development tempo a bit now that we
 have this base to build on.

I saw the checkins. :-)

Great, this will also mean that the Py3 ports of the ZTK ecosystem packages 
can be finalized.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] BTrees and ZODB simplicity

2013-07-22 Thread Stephan Richter
On Monday, July 22, 2013 02:11:04 PM Christian Tismer wrote:
 BTrees would make more sense as a standalone package if the persistence
 model were pluggable. But that is also theoretical because I don't see
 right now how to split that further with all the C code.

I agree with this sentiment. When I wrote mongopersist, which is a MongoDB 
store (*not* ZODB storage!) on top of persistent and transaction, BTrees were 
completely useless, because MongoDB provides its own efficient mapping type.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] make ZODB as small and compact as expected

2013-07-22 Thread Stephan Richter
On Sunday, July 21, 2013 06:12:34 AM Christian Tismer wrote:
  BTrees

I agree, this could be part of ZODB and it would be fine.

  persistent
  transaction
  zc.lockfile
  zdaemon
  zope.interface

These are all very useful outside the context of ZODB and I use them without 
it.

  zc.zlibstorage

This is an add-on that I do not necessarily use, since I do not deal with 
large amounts of data.

  ZConfig

In my opinion this is a relic from the times before configparser existed. It is 
also used by other projects outside of ZODB.

  ZEO

This is separate for historical reasons. I agree it could be merged into the 
ZODB project these days.

  ZODB3   (zlibstorage)

Well, this package is deprecated. It is available for backward-compatibility.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zodbpickle claim (but OS X is not unix)

2013-07-02 Thread Stephan Richter
Hi Christian,

On Wednesday, July 03, 2013 01:01:14 AM Christian Tismer wrote:
 I would appreciate if that simple-to-fix bug could be removed,
 and I would be happy to help with this.

I am not a C expert, so I cannot comment.

 And while we are at it: How about completion of the module, to let it
 define standard things like DEFAULT_PROTOCOL ?
 Or is there a reason to avoid this (because Python2 doesn't have it)?

We might have simply forgotten it. Also, we started Python 3.2's version, if I 
remember correctly, maybe it was missing there as well?

 Please don't get me wrong, I really like that module and want it to set the
 standard.

Hey, not at all. You can clone the git repo, make the fix and create a pull 
request. We (as in the Zope devs) have been pretty good about merging in pull 
requests after quick reviews.

I really want to be zodbpickle to be rock-solid as well, since we need it for 
the Python 3 ports to go ahead.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: Attempts at Python2-compatible pickles cause unpicklable objects

2013-06-12 Thread Stephan Richter
On Wednesday, June 12, 2013 01:23:35 PM Tres Seaver wrote:
 Am I the only person affected?  Or do we need to add fallback code to
 permit opening a filestorage with an older magic number in read-only
 mode?  In my case, the data is all test stuff, so I can just blow it away
 and recreate it.

We are only testing too and can always easily recreate our ZODBs. I think 
nobody should expect that sort of stability from a beta.

Thanks for your consistent work on this.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: Python2 - Py3k database compatibility

2013-05-10 Thread Stephan Richter
On Friday, May 10, 2013 11:01:33 PM Tres Seaver wrote:
  Tres, are we ready to commit to a zope.security 4.0.0 as well?
 
 AFAIK, we could cut it from the 'master' at any time.  I don't know of
 any issues   I don't see any open launchpad issues which should block a
 release.

Cool, we can do that as part of the package finalizations of all the ZTK 
packages.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: Python2 - Py3k database compatibility

2013-05-08 Thread Stephan Richter
On Wednesday, May 08, 2013 12:34:00 PM Tres Seaver wrote:
  I do not care whether this happens for ZODB 4.0 or 4.1 as long as I
  get some commitment that 4.1
 
 Chris and I chatted with Jim about this over beers last Friday.  I
 explained that the current 'py3; branch does not require the 'zodbpickle
 everywhere' stuff (the Python2 side doesn't use 'zodbpickle').  Jim then
 agreed that we could merge that branch before releasing 4.0.  We will
 need to add some caveats to the docs / changelog (Python3 support is only
 for new applications, no forward- / backward-compatibility for data, etc.)
 
 Given that ZODB won't import or use 'zodbpickle' under Python2, I don't
 think we need to remove the current Python2 support (as released in
 0.4.1):  the Python3 version (with noload()) has been there all along.

Sounds great, thanks!

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: Python2 - Py3k database compatibility

2013-04-29 Thread Stephan Richter
On Monday, April 29, 2013 09:48:05 AM Jim Fulton wrote:
 I'd like there to a stable 4.0 release **soon**
 that doesn't use zodbpickle for Python 2.

I would like to agree. But on the other hand, the ZODB release cycles are very 
long and the prospect of waiting another 6-12 months before any Python 3 
support lands, is really scary because it prohibits me to even write a new 
project in Python 3. (CH has just invested about 6 man-months into the porting 
effort and without ZODB we are basically stuck. But we do not need a transition 
plan, since we can recreate our ZODBs from configuration files.)

Could we compromise and support Python 3 in ZODB 4.0 without necessarily solve 
all the migration strategy issues? In fact, by using zodbpickle, zodbpickle 
can have a separate, faster release cycle experimenting with some transition 
strategies. Maybe one way to install ZODB 4.0 would be to not use zodbpickle 
and use cPickle instead. We already have all that stuff separated into a 
_compat module, so that should not be too hard.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: Python2 - Py3k database compatibility

2013-04-29 Thread Stephan Richter
On Monday, April 29, 2013 01:50:22 PM Jim Fulton wrote:
 Whether 4.0 supports Python 3 or not, let's quickly get to the point where
 tests are run and pass on both Python 2 and 3.  Once we get to that point,
 we won't accept pull requests that break Python 3 (or 2, of course).
 But let's get to the point soon where we can make Python 2 releases
 with confidence.

Well, that's the py3 branch. As Tres mentioned, zodbpickle is ready for Py3 
with noload() support. I totally agree that we do not need to solve any of the 
transition work now.

So for ZODB Py3 support we need to:

1. Merge the py3 branch into trunk.
2. Simplify zodbpickle to just contain the cPickle code that is Py3 
compatible.

I do not care whether this happens for ZODB 4.0 or 4.1 as long as I get some 
commitment that 4.1 with Py3 support is happening quickly (i.e. not in the 
order of many months).

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: Python2 - Py3k database compatibility

2013-04-29 Thread Stephan Richter
On Monday, April 29, 2013 01:15:29 PM Tres Seaver wrote:
 FWIW, we have reports that some brave souls have successfully built Py3k
 apps using the 'py3' branch.

Yep, see here:

https://github.com/CipherHealth/cipher.uibuilderdemo

This is not an app in production, but shows off some features of an app in 
production.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: Python2 - Py3k database compatibility

2013-04-28 Thread Stephan Richter
On Sunday, April 28, 2013 07:23:12 PM Jim Fulton wrote:
 Can ZODB 4 be used now without zodbpickle?

No, unfortunately for Py2 we need the custom cPickle and for Py3 `noload()` 
support (as Tres mentioned).

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Helping Chris out on python-dev

2011-12-08 Thread Stephan Richter
Hi everyone,

I am usually not doing this, but here it goes.

Chris made a very sensible proposal on python-dev about support u'' literals 
again in Python 3.3 so that porting our libraries becomes easier. Since some 
of the heavy-weight Pytohn Devs take a purist stand on this (voting -1), I 
think it would be great if some other people chime in and support this  
proposal (and possibly similar ones in the future).

Chris has been helping us out a lot getting started to port our libraries to 
Python 3. I trust that if he makes a proposal on Python-Dev that it is coming 
from a lot of painful experience.

So, if you are also on Python-Dev, write a response or two (or more) to the 
thread and let your voice be heard!

Regards,
Stephan

PS: Plone guys, feel free to open the Plone floodgates too. :-)
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Persisting Python objects in MongoDB

2011-11-08 Thread Stephan Richter
Hi everyone,

as you might have seen from my checkins on Friday, I released mongopersist. In 
short, it implements a persistence backend in MongoDB (that, with a little bit 
of effort, could be used as a ZODB replacement in Zope):

http://pypi.python.org/pypi/mongopersist

Some background and motivation:

Many years ago, Jim told me that the persistence code could be used to 
implement any storage backend. But until now I never had the need to confirm 
that statement. The ZODB and its various storages served me just fine. But then 
I decided to use MongoDB as storage for my latest project. (I just recently 
used storm with PostGreSQL for a project and was once again annoyed about the 
impedance mismatch between the stiff relational and flexible object worlds.)

It was out of question that I just wanted to use pymongo straight up, since it 
makes admin interfaces just very painful to write. I first tried p01.mongo, but 
unfortunately it tries to re-implement persistence with some of the most 
annoying ORM-style features (such as explicit attribute declarations).

So, I came to the conclusion I wanted to build an abstraction layer myself and 
see how well it would work. An ORM-style solution was out of question. I 
consider attribute-type declarations ORM-style, since it prohibits me to 
extend objects in arbitrary ways (think annotations, sub-classing, etc). I 
then looked into implementing a ZODB storage. Unfortunately, the ZODB really 
wants to deal with pickles and I wanted to store objects in a way that the 
data could be used without Python.

Thus, implementing a storage mechanism on top persistence seemed like the best 
choice. It was not too hard, since ZODB's storage implementations provided 
good examples. Here are some of the main features:

* Full persistent data manager implementation making storing objects seamless.

* Data manager can be used to load and dump objects directly.

* Automatic and explicit specification of the mongo collection to use.

* Store multiple object types in the same collection. This is particularly 
useful, if you have sub-classes of an object type.

* Storage of non-persistent objects. Pretty much everything that can be 
pickled can be stored. There is some work left to do to support all pickle 
hooks and object constructors.

* Plugins to provide custom serializers and de-serializers for objects. This 
is useful for objects whose reduced state is not suitable for Mongo storage, 
such as datetime.date.

* Control over document granularity. In the ZODB, any persistent object causes 
a separate pickle/document. In mongopersist you can choose whether a 
persistent object is stored as part of its parent object or not. (The Mongo 
guys make a big deal about choosing document granularity.)

* Cross database support, i.e. full DBRef object references are used 
everywhere.

* Optional write-conflict detection.

* Simple Mapping implementation that represents a collection.

* Optional Zope Support: Multiple container implementations for various use 
cases. The main container supports one collection for multiple instances by 
keeping a parent reference. The container itself can be connected to a ZODB or 
mongopersist. The container also provides full access to the MongoDB query 
API, filtering by parent automatically and supporting raw or object results.

Before you jump on this right away, here are some features that are missing:

* BTreeContainer instances will probably store, but they would not provide 
sensible output in Mongo. Custom hooks need to be written to handle 
BTreeContainers sensibly.

* Since the pickle module does not cleanly separate reducing an object and 
creating a pickle string, mongopersist must effectively re-implement the pickle 
API. I have implemented the most common use cases, but some pickle hooks and 
handling of classes with __new__ constructors are still missing.

* Cyclic references of non-persistent objects is not supported.

That said, we are about to head into production with mongopersist. If you need 
any help or want those above two problems addressed, feel free to contact me.

So was Jim right? Absolutely!

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Persisting Python objects in MongoDB

2011-11-08 Thread Stephan Richter
On Tuesday, November 08, 2011 07:25:34 AM Andreas Jung wrote:
 Very cool and excellent work.

Thanks very much! I appreciate it, especially after your initial reaction on 
the #mongo IRC channel. :-)

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Persisting Python objects in MongoDB

2011-11-08 Thread Stephan Richter
On Wednesday, November 09, 2011 05:41:33 AM Roger wrote:
 I still think it's just wrong to implement multi-object transactions
 with a mongodb backend. And this is what mongopersist is based on.

I have not made any claim on how to use the code. You can call 
transaction.commit() after each object modification, if you like. Also, I 
assume that anyone interested in mongopersist is aware that MongoDB does not 
provide transaction safety.

That said, I think that a large class of applications (or large parts of an 
app) does not need transaction safety. In our application, for example, most 
object modifications are compartmentalized, so that modifying small sets of 
objects is pretty safe. The largest risk is posed by competing modifications, 
which I tried to address using optional write-conflict detection.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] the difference between normal class object and the ZODB Persistent subclass object

2011-09-27 Thread Stephan Richter
On Tuesday, September 27, 2011, Jim Fulton wrote:
 - Are stored by value, rather than by reference. So if, in your
   application, two persistet objects refer to the same non-persistent
   object, after being stored and reloaded, they non-persistent object
   will be duplicated and unshared.

Cool, I just wanted to ask you this question today on IRC. :-)

Also, how does the ZODB handle circular references within non-persistent 
objects? I assume pickle handles this?

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: deprecate transaction user and description fields in favor of extened info and simplify extended info API

2010-09-23 Thread Stephan Richter
On Thursday, September 23, 2010, Jim Fulton wrote:
 Comments?

Sounds good and addresses my concerns raised in the discussion of the bug.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Random POSKeyErrors

2010-07-21 Thread Stephan Richter
On Wednesday, July 21, 2010, Jim Fulton wrote:
 That's odd. I wonder what q is.

Signed 64bit integer.

http://docs.python.org/library/struct.html

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Notes on using wrapper storages for record transformation

2010-05-19 Thread Stephan Richter
On Tuesday, May 18, 2010, Jim Fulton wrote:
 Soon I expect to release a wrapper storage implementation that
 provides record compression.

I saw the checkins. I am really excited to hear about this, since I am mostly 
interested in encryption and this work, as you mentioned, allows this.

Of course, I would like to inspect pickles as well in an encryption mechanism, 
since encrypting and decrypting all data all the time is probably too 
expensive.

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] [OT] NoSQL

2009-11-13 Thread Stephan Richter
On Friday 13 November 2009, Roché Compaan wrote:
 We had such an opportunity about 2 years ago and although the client
 never reached (and probably will never) reach the membership they
 dreamed about, they did pay us to develop a storage for members that
 could scale to more than a 100 million members. We implemented a data
 partitioning strategy at application level. If I had another shot at it,
 I would try and develop a distributed ZODB storage, because it would be
 a lot simpler compared to what we had to do at application level.

Note that Shane developed a sharding solution a year ago with me. It provides 
container-level partitioning.

http://svn.zope.org/z3c.sharding/trunk

This in combination with the encryption work that we did for the ZODB makes 
the ZODB actually be a lot more advanced than some of the new comers.

I am very intrigued now to setup an EC2 cluster and install a z3c.sharding 
based solution demonstrating 100M users with some data. Mmmh...

Regards,
Stephan
-- 
Entrepreneur and Software Geek
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] create unique container keys

2009-04-02 Thread Stephan Richter
On Thursday 02 April 2009, Adam GROSZER wrote:
 Yeah, uuid was my guess.

Christian was not necessarily thinking uuid. I think the common algorithm is:

x = random.randint(10**9)
while str(x) in container:
x += 1

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Relstorage and ZEO

2009-03-30 Thread Stephan Richter
On Monday 30 March 2009, Anthony Gerrard wrote:
 The impression I get is that using both ZEO and Relstorage are recommended.

You cannot use both at the same time. Either you use Filestorage/ZEO or 
Relstorage, as in Relstorage the underlying DB takes care of the replication 
features.

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] svn.zope.org up again?

2008-11-10 Thread Stephan Richter
Hi all,

it seems like Zope's SVN is back up again. However, when trying to checkout 
zope.app.container/trunk gives me an SVN error. Is anyone else seeing this?

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] problem with broken

2008-11-05 Thread Stephan Richter
On Wednesday 05 November 2008, Christian Theune wrote:
 On Wed, 2008-11-05 at 11:31 +0100, Laurence Rowe wrote:
  Broken objects occur when the class for a pickled object cannot be
  imported. To change the location of a class, you need to provide an
  alias at the old location so that the object can be unpickled, i.e.
  MyOldClassName = MyNewClassName. You can only remove MyOldClassName
  after you have updated all of the pickles (with your code below).

 Note: We made a relatively good experience by removing those symbols
 from their original modules and provide a generation which first sets up
 dummies, then runs migration code to remove/rebase those objects and
 then remove the dummies again.

 That way you can get your source code clean of 'BBB' code in a single
 generation.

I used that method in ST as well a long time ago. Marius was involved as well, 
but he must have forgotten. :-)

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Open Connections with RelStorage

2008-10-23 Thread Stephan Richter
On Thursday 23 October 2008, Santi Camps wrote:
 I've 8 zope's with 4 threads each one, and I've seen more than 50 open
 connections used by relstorage.   I was hopping one connection per
 thread, like postgressql adapters does.  The number of connections of
 relstorage doesn't depend of number of zope threads ?.

That makes sense. You have 8 connections times 8 Zope servers makes 64 
connections.

Shane, is there some wisdom here of a preferred setup in terms of how many 
threads per Zope and how many connections max on a server? Mmh, maybe we 
could put the reads on a RDB slave?

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Migrating to non-FileStorage

2008-08-01 Thread Stephan Richter
On Friday 01 August 2008, Joseph Turian wrote:
 How do I migrate a FileStorage database to another database type?

Each database type must provide its own utility. RelStorage, for example, 
comes with zodbconvert (which should actually work for all storages that 
support the transaction iterator API).

 Where are other database types documented?

There is not central place. I can think of two alternatives: DirectoryStorage 
and RelStorage.

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RelStorage: Clearing temp_store in replication-friendly way

2008-07-24 Thread Stephan Richter
On Thursday 24 July 2008, Shane Hathaway wrote:
  P.S.: I am quite excited about the memcached support. Does it just  
  work? I.e. can I run my ZODB in RAM now? ;-)

 I expect the new memcache support to be safe for everyone to use, but we
 still require the main database to be connected at all times, since
 memcache provides no ACID properties by itself.  We unfortunately can't
 do obvious things like cache the current transaction ID for an object,
 since that would break MVCC.  What we do cache is:

 1. The current tid, given an oid and the transaction ID that is active
 for the current connection.

 2. The pickle given an oid and tid.

 These should both help read-heavy databases, but might be detrimental
 for write-heavy databases.  My performance test suite, which writes a
 lot, produced slightly *worse* results with memcache enabled.

We should get Brian Aker into this discussion, since is one of the main 
architects of MySQL and one of the founders of memcached.

As Shane knows, I have some access to Brian these days, so we could have an 
online meeting talking about it.

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Speedy RelStorage/PostgreSQL

2008-01-30 Thread Stephan Richter
On Wednesday 30 January 2008, Shane Hathaway wrote:
 Kudos to the PostgreSQL team for building such a nice database. :-)

I am saying this since at least 8 years now. :-) But everyone went on the 
MySQL bandwagon.

But the storage is great news! I will certainly keep this in mind for the 
current project.

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] PGStorage

2008-01-22 Thread Stephan Richter
On Tuesday 22 January 2008, Dieter Maurer wrote:
 OracleStorage was abandoned because it was almost an order
 or magnitude slower than FileStorage.

Actually, Lovely Systems uses PGStorage because it is faster for them.

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] PGStorage

2008-01-22 Thread Stephan Richter
On Tuesday 22 January 2008, David Pratt wrote:
 BTW Stephan, where is Lovely using
 it - a site example? I had read some time ago that they were exploring
 it but not that it was being used.

I think they are using it for video.vol.at, but  you should contact them 
making sure they actually use it now.

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Writing Persistent Class

2008-01-18 Thread Stephan Richter
On Thursday 17 January 2008, Kenneth Miller wrote:
       I'm trying to make one of my classes persistent. The class  
 itself has only simple attributes of general types like  
 int,string,timestamp, no lists etc. It seems to work just fine without  
 subclassing Persistent, but causes an error when I do. Do I always  
 need to subclass persistent?

Yes.

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. Zope Stephan Richter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Re: [Checkins] SVN: zope.app.securitypolicy/branches/3.4/ Revert the splitup of zope.app.securitypolicy in the stable 3.4.x line (it will be confined

2007-11-09 Thread Stephan Richter
On Friday 09 November 2007, Philipp von Weitershausen wrote:
 Log message for revision 81637:
   Revert the splitup of zope.app.securitypolicy in the stable 3.4.x line
 (it will be confined to the trunk/3.5.x line). We're doing this by creating
 the 3.4.x branch based on the last working release, 3.4.0.

Please do not do this!!

All packages in the KGS have been adjusted!

Just fix the broken things!

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] New ZODB 3.8 beta?

2007-10-10 Thread Stephan Richter
Hi guys,

I checked in a fix to the ZODB project, that will copy the ZEO test databases 
into the release. That makes it possible to fully run all ZODB tests from the 
egg. I have tested this in using the KGS I am building.

I have tried the distutils-compatible method as well, but without success; it 
would not want to copy the files to the build directory. However, my change 
is safe, since it is only applied when setuptools is installed.

I would like to get this fix released as beta 4. Could someone do this? Also 
the previous betas were not uploaded to PyPI, why?

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: AW: [ZODB-Dev] diploma thesis: ZODB Indexing

2007-09-05 Thread Stephan Richter
On Wednesday 05 September 2007 11:00, Christian Theune wrote:
 b) provide a low-level query API that is rich enough to let different
 query processors e.g. for SQL, xpath, ... work against them.

Having thought about this problem domain too (see my old work on ZOQLMethod), 
there is a big difference between relational- and tree-based querying. I 
wonder whether you can get both covered -- would be awesome though. :-)

I would definitely be interested in seeing public discussion about the 
approach here. Some random thoughts that you probably know already:

* The storage of indices should be pluggable like the ZODB. This would allow 
backends like pyLucene, BTree-based ones or even relational databases.

* One of the big problems right now is that there is no efficient way to do 
inverses of searches. I think some time should be spent doing this.

* I really like the API of hurry.query. I would love to see something like it 
as the backend for querying languages.

I am really looking forward to what you will come up with!

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Re: record_iternext API is broken

2007-04-24 Thread Stephan Richter
On Tuesday 24 April 2007 19:23, Jim Fulton wrote:
 I should have noted that this API isn't widely used AFAIK, so it  
 probably wouldn't be that big a deal to change it.  Personally, I'd  
 be inclined to change it to return oid, version, and next (or oid and  
 next).  Client code could always call load to get the transaction id  
 and data.

 Thoughts?

I am using it for generation scripts quiet frequently. But if the API becomes 
better, I am more than willing to change those occurences. :-)

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Re: ZEO and time.sleep

2007-03-29 Thread Stephan Richter
On Thursday 29 March 2007 03:51, Jürgen Kartnaller wrote:
  I didn't stick around for the post-Linux-kernel-recompile testing, but
  when we hacked the Python standard library to use sleep(0) all the
  time (emulating an infinite granularity timer), it went down to about
  10 seconds.  A pretty nice improvement. ;)
 
  And the original time was 15 minutes! :)

 My test environment on MAC OS-X is loading my frontpage in 2:50 min
 after restarting zope.
 with your fix and the one I made in a ZODB branch using nanosleep is
 went down to 27 sec.

 I tested this having ZEO and zope running on the same machine.

Yipee! I am really happy that you guys spent the time looking into the problem 
and also found a fix that has those type of improvements!

Congrats!

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] History-less FileStorage?

2006-12-29 Thread Stephan Richter
On Friday 29 December 2006 11:26, Tino Wildenhain wrote:
 Stefan H. Holek schrieb:
  Do we have a history-less (i.e. no-grow) FileStorage?

 How do you think it should work? I mean, technically
 in theory? How would you implement MVCC?

Well, it is basically a pack after each write access. I do not know exactely 
how pack works, but I would hope it leaves the DB file in a good state at all 
times.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Re: [Zope-Annce] Technical Preview of Blob support in ZODB

2006-05-20 Thread Stephan Richter
On Thursday 18 May 2006 14:34, Fred Drake wrote:
 On 5/18/06, Stephan Richter [EMAIL PROTECTED] wrote:
  I have already created the 3.7 branch, so no more new features in 3.7.
  However, ZODB 3.7 might be an internal release only used by Zope 3.3 and
  2.10.

 Have there been any new features since 3.6?  I wonder if maintaining
 yet another branch can be avoided.

I dunno; I just follow the pattern. ;-)

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Re: [Zope-Annce] Technical Preview of Blob support in ZODB

2006-05-18 Thread Stephan Richter
On Thursday 18 May 2006 10:52, David Pratt wrote:
 Hi Gary. I have been experimenting with it an posed the question to
 Andreas a couple of days ago about when it might get into the trunk. I
 am using the modified ZODB and ZEO files to accomodate it in the interim
 but would be happy if it was in the trunk for sure. When is 3.7 final to
 be tagged? Will this now be for 3.8?

I have already created the 3.7 branch, so no more new features in 3.7. 
However, ZODB 3.7 might be an internal release only used by Zope 3.3 and 
2.10.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Getting all OIDs from a storage.

2006-05-01 Thread Stephan Richter
On Monday 01 May 2006 14:14, Jim Fulton wrote:
 I suggest that:

 - The storage should be required to return OIDs in the
    database at aproximately time the call was made.  It should
    be acceptable to omit recent items.  The idea is that OIDs
    generated while the request is being satisfied might be
    ommitted.

 - It should be acceptable to return OIDs that have been deleted.

 It should be noted that this API is aimed at the use case
 of data conversion.  As a result, it doesn't matter if new data are
 written while the iteration is taking place because new data
 should not need to be converted.

I agree.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev