python an sqlite objects
eric
eric at ericaro.net
Wed Dec 3 16:55:42 EST 2008
On Dec 3, 10:21 pm, Gerhard Häring <g... at ghaering.de> wrote:
> azrael wrote:
> > It logical that it would be more efficient and logical to use a object
> > oriented database, but in this case I ask because of the portable
> > nature of sqlite.
>
> > so, if I get it right, this should be possible [...]
>
> Did you try it? Did it work? If so,it was pure luck. Attached is a
> script that shows how to do it right.
>
> -- Gerhard
>
> sqlite_serialize.py
> 1KViewDownload
Hi,
it is also possible to use Google Protobuf ( http://code.google.com/p/protobuf/
) instead of pickle or json
- it's portable to other languages too
- you define what's the data you really wan't
- it's fast, and compact
I've done it on one of my projects ( see the code here
http://code.google.com/p/pyshow/source/browse/trunk/src/pyshow/data/msgdb.py
), and using BerkeleyDB instead of sqlite( but that's not the point
here)
What I like with protobuf is that writing the proto file defines the
real data structure, and that's a guaranty over time/processes/coders.
I don't recommand using pickle to serialise object in a database.
Because, it's easy at the beginning, but later, when you are going to
'upgrade' your objects (adding some new fields for instance, or
splitting a field into a new object), you'll get a lot of troubles
( keeping the legacy object to live with the new one, implies renaming
all objects ? etc.). That's what protobuf is for.
BTW, I'm seeking help to start a new project that would connect
protobuf to Database, like the piece of code I've done with
berkeleyDB, but at a bigger scale. If anyone is interested.
More information about the Python-list
mailing list