By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
458,182 Members | 1,396 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 458,182 IT Pros & Developers. It's quick & easy.

in Ram database?

P: n/a
Does anyone know if there is an "in-ram" dictionary based database
for Python.

I can see some applications where this can really be powerful in
applications requiring 10,000 records or less.

Is such a database available? If so, who is working on it,
or where is it?

I've heard that Python supports a stand-alone database. I looked
for it in the Docs, and see the "dbm" module. I haven't found
any examples of code, so don't know how to use them. I'm one
of those guys that learn through examples, and have very little
luck in figuring out how to use anything unless I can see examples
of their use.

My idea is that ALL datums would be Python Dictionary objects, so
not only can you store data, but python objects as well.

Storage to disk would be through pickled files, or through CSV
format, allowing easy import and export from other databases.

I'm sure something like this exists, I just haven't found it yet,
and if not, then I'm well on my way of implementing one myself.

I kinda like the idea of being able to define smaller tables as
"in-memory" types, and the really large massive ones in other forms
managed by mySQL, PostGres, or bsddb3 databases.

Any leads you guys???

JD

Jul 18 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
>>>>> "John" == John D <li***@webcrunchers.com> writes:
I kinda like the idea of being able to define smaller tables as
"in-memory" types, and the really large massive ones in other forms
managed by mySQL, PostGres, or bsddb3 databases.


Use PySQLite (http://pysqlite.sf.net). Make sure that you have at least
version 2.8.1 of SQLite and give the database name as :memory: (this is not
obvious from the documentation). Since SQLite can handle databases upto 2
terabytes, you use it to store "really massive ones" on disk too :-).

Ganesan

--
Ganesan R
Jul 18 '05 #2

P: n/a
"John D." <li***@webcrunchers.com> writes:
[...]
Is such a database available? If so, who is working on it,
or where is it?
Gadfly, PySQLite.

I've heard that Python supports a stand-alone database. I looked
for it in the Docs, and see the "dbm" module. I haven't found
any examples of code, so don't know how to use them. I'm one
of those guys that learn through examples, and have very little
luck in figuring out how to use anything unless I can see examples
of their use.
These sorts of dbs aren't in-memory. Still, if you want to find some
simple examples, I'm sure a few queries like 'group:comp.lang.python
bsddb example' in Google Groups will find something.

My idea is that ALL datums would be Python Dictionary objects, so
not only can you store data, but python objects as well.
Sounds like you might want ZODB (again, not in-memory). It's more of
an object persistence system + BTrees than it is a DBMS, since there's
no query system. IndexedCatalog is a query system built on top of
ZODB, but it's quite feasible to roll your own simple
application-specific queries with BTrees (and the other data
structures it provides). BTrees are rather like dictionaries, but
they support on-demand loading of data, so not everything has to be in
memory at once.

I kinda like the idea of being able to define smaller tables as
"in-memory" types, and the really large massive ones in other forms
managed by mySQL, PostGres, or bsddb3 databases.


That sounds like a recipe for extra work to me. If you need a big
DBMS, use that for everything.
John
Jul 18 '05 #3

P: n/a

"John D." <li***@webcrunchers.com> wrote in message
news:ma*********************************@python.or g...
Does anyone know if there is an "in-ram" dictionary based database
for Python.

I can see some applications where this can really be powerful in
applications requiring 10,000 records or less.

Is such a database available? If so, who is working on it,
or where is it?

I've heard that Python supports a stand-alone database. I looked
for it in the Docs, and see the "dbm" module. I haven't found
any examples of code, so don't know how to use them. I'm one
of those guys that learn through examples, and have very little
luck in figuring out how to use anything unless I can see examples
of their use.

My idea is that ALL datums would be Python Dictionary objects, so
not only can you store data, but python objects as well.

Storage to disk would be through pickled files, or through CSV
format, allowing easy import and export from other databases.

I'm sure something like this exists, I just haven't found it yet,
and if not, then I'm well on my way of implementing one myself.

I kinda like the idea of being able to define smaller tables as
"in-memory" types, and the really large massive ones in other forms
managed by mySQL, PostGres, or bsddb3 databases.

Any leads you guys???
Look at Prevalyar. While it's a Java project, it might give
you some ideas about what's possible if you forget "data base"
and simply think "persistance."

John Roth
JD

Jul 18 '05 #4

P: n/a
John D. wrote:
Does anyone know if there is an "in-ram" dictionary based database
for Python.

I can see some applications where this can really be powerful in
applications requiring 10,000 records or less.

Is such a database available? If so, who is working on it,
or where is it?

I've heard that Python supports a stand-alone database. I looked
for it in the Docs, and see the "dbm" module. I haven't found
any examples of code, so don't know how to use them. I'm one
of those guys that learn through examples, and have very little
luck in figuring out how to use anything unless I can see examples
of their use.

My idea is that ALL datums would be Python Dictionary objects, so
not only can you store data, but python objects as well.

Storage to disk would be through pickled files, or through CSV
format, allowing easy import and export from other databases.

I'm sure something like this exists, I just haven't found it yet,
and if not, then I'm well on my way of implementing one myself.

I kinda like the idea of being able to define smaller tables as
"in-memory" types, and the really large massive ones in other forms
managed by mySQL, PostGres, or bsddb3 databases.

Any leads you guys???


Why not just use Dictionaries, or an object tree? Why do you want tables or
SQL abstraction if it is "in-memory"? Nothing else but your app will be
able to access the "live" data, anyway.

Jul 18 '05 #5

P: n/a

"Andy Todd" <an****@halfcooked.com> wrote in message
news:ma*********************************@python.or g...
John Roth wrote:
"John D." <li***@webcrunchers.com> wrote in message
news:ma*********************************@python.or g...
Does anyone know if there is an "in-ram" dictionary based database
for Python.

I can see some applications where this can really be powerful in
applications requiring 10,000 records or less.

Is such a database available? If so, who is working on it,
or where is it?

I've heard that Python supports a stand-alone database. I looked
for it in the Docs, and see the "dbm" module. I haven't found
any examples of code, so don't know how to use them. I'm one
of those guys that learn through examples, and have very little
luck in figuring out how to use anything unless I can see examples
of their use.

My idea is that ALL datums would be Python Dictionary objects, so
not only can you store data, but python objects as well.

Storage to disk would be through pickled files, or through CSV
format, allowing easy import and export from other databases.

I'm sure something like this exists, I just haven't found it yet,
and if not, then I'm well on my way of implementing one myself.

I kinda like the idea of being able to define smaller tables as
"in-memory" types, and the really large massive ones in other forms
managed by mySQL, PostGres, or bsddb3 databases.

Any leads you guys???

Look at Prevalyar. While it's a Java project, it might give
you some ideas about what's possible if you forget "data base"
and simply think "persistance."

John Roth
JD


Or you could look at the Python port of Prevayler (well, thats how it
started out);

http://www.orbtech.com/wiki/PyPerSyst


Thanks for the reference.

John Roth
Regards,
Andy
--
-------------------------------------------------------------------------- ------ From the desk of Andrew J Todd esq - http://www.halfcooked.com/

Jul 18 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.