Object database

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Object database

Boris Spasojević 
Hi all,

I have a need to persist a really large and funny object structure in Pharo (a huge Dictionary of Dictionaries) and I would like to be able to query this data from a remote image. 

Basically what I am looking for is some form of database that would allow me to input elements in to this structure from one image, and read them out in another image with queries like i.e.

dictionaryOfDictionaries select: [ :each |
    (each keys includes: key1) and: [  each keys includes: key2 ]
]
It does not have to be strictly an OO database, anything that could enable me to do this fast and easy would be nice.


Any suggestions/ideas/comments?


Boris Spasojević - Борис Спасојевић

Research assistant
Software Composition Group
Institute of Computer Science and Applied Mathematics
University of Bern

email: [hidden email]
office phone: +41 (0)31 511 7636
mobile: +41 (0)76 66 88 175
webpage: http://scg.unibe.ch/staff/Boris-Spasojevic

Reply | Threaded
Open this post in threaded view
|

Re: Object database

Tudor Girba-2
This seems to be a perfect match for a Mongo DB via MongoTalk:

If you already have an object model, Esteban Lorenzano wrote a nice library on top of it called Voyage that is probably useful for you. You can see some details here:


Doru


On Tue, May 28, 2013 at 4:11 PM, Boris Spasojević <[hidden email]> wrote:
Hi all,

I have a need to persist a really large and funny object structure in Pharo (a huge Dictionary of Dictionaries) and I would like to be able to query this data from a remote image. 

Basically what I am looking for is some form of database that would allow me to input elements in to this structure from one image, and read them out in another image with queries like i.e.

dictionaryOfDictionaries select: [ :each |
    (each keys includes: key1) and: [  each keys includes: key2 ]
]
It does not have to be strictly an OO database, anything that could enable me to do this fast and easy would be nice.


Any suggestions/ideas/comments?


Boris Spasojević - Борис Спасојевић

Research assistant
Software Composition Group
Institute of Computer Science and Applied Mathematics
University of Bern

email: [hidden email]
office phone: <a href="tel:%2B41%20%280%2931%20511%207636" value="+41315117636" target="_blank">+41 (0)31 511 7636
mobile: <a href="tel:%2B41%20%280%2976%2066%2088%20175" value="+41766688175" target="_blank">+41 (0)76 66 88 175
webpage: http://scg.unibe.ch/staff/Boris-Spasojevic




--

"Every thing has its own flow"
Reply | Threaded
Open this post in threaded view
|

Re: Object database

jgfoster
In reply to this post by Boris Spasojević 
Boris,

What is the class/type of the keys in your example? Are the keys simple objects (String, Number, etc.) or complex (Person, Employee, Customer, Student, Product, etc.). 

With any remote database the challenge will be populating the result into your local image. How deep/complex is the result? That is, if only one dictionary satisfied your sample query, how many objects would be reached and what would be their classes?

How large is the "huge" parent dictionary? Millions? Billions?

Do you need the client Pharo image(s) to be remote from the database? What sort of network is between them?

Naturally, my inclination would be to investigate GemStone/S, but various factors would influence the decision.

James Foster

On May 28, 2013, at 7:11 AM, Boris Spasojević  <[hidden email]> wrote:

Hi all,

I have a need to persist a really large and funny object structure in Pharo (a huge Dictionary of Dictionaries) and I would like to be able to query this data from a remote image. 

Basically what I am looking for is some form of database that would allow me to input elements in to this structure from one image, and read them out in another image with queries like i.e.

dictionaryOfDictionaries select: [ :each |
    (each keys includes: key1) and: [  each keys includes: key2 ]
]
It does not have to be strictly an OO database, anything that could enable me to do this fast and easy would be nice.


Any suggestions/ideas/comments?


Boris Spasojević - Борис Спасојевић

Research assistant
Software Composition Group
Institute of Computer Science and Applied Mathematics
University of Bern

email: [hidden email]
office phone: +41 (0)31 511 7636
mobile: +41 (0)76 66 88 175
webpage: http://scg.unibe.ch/staff/Boris-Spasojevic


Reply | Threaded
Open this post in threaded view
|

Re: Object database

Janko Mivšek
In reply to this post by Boris Spasojević 
Boris zdravo,

Dne 28. 05. 2013 16:11, piše Boris Spasojević :

> I have a need to persist a really large and funny object structure in
> Pharo (a huge Dictionary of Dictionaries) and I would like to be able to
> query this data from a remote image.
>
> Basically what I am looking for is some form of database that would
> allow me to input elements in to this structure from one image, and read
> them out in another image with queries like i.e.
>
>     dictionaryOfDictionaries select: [ :each |
>         (each keys includes: key1) and: [  each keys includes: key2 ]
>     ]
>
> It does not have to be strictly an OO database, anything that could
> enable me to do this fast and easy would be nice.
>
>
> Any suggestions/ideas/comments?

MongoDb key-value NoSql database could be appropriate for such a case.
And it is well supported from Pharo, it is namely used for SmalltalkHub.

Lep pozdrav
Janko

>
>
> Boris Spasojević - Борис Спасојевић
>
> *Research assistant*
> Software Composition Group <http://scg.unibe.ch>
> Institute of Computer Science and Applied Mathematics
> <http://www.iam.unibe.ch>
> University of Bern <http://www.unibe.ch>
>
> email: [hidden email] <mailto:[hidden email]>
> office phone: +41 (0)31 511 7636
> mobile: +41 (0)76 66 88 175
> webpage: http://scg.unibe.ch/staff/Boris-Spasojevic
>

--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Re: Object database

Denis Kudriashov
In reply to this post by Boris Spasojević 
If you need only queries around big static dictionary image persistence can be sufficient.
Just load all data to image, save it and you will have in memory readonly database (without transactions) .

2013/5/28 Boris Spasojević <[hidden email]>
Hi all,

I have a need to persist a really large and funny object structure in Pharo (a huge Dictionary of Dictionaries) and I would like to be able to query this data from a remote image. 

Basically what I am looking for is some form of database that would allow me to input elements in to this structure from one image, and read them out in another image with queries like i.e.

dictionaryOfDictionaries select: [ :each |
    (each keys includes: key1) and: [  each keys includes: key2 ]
]
It does not have to be strictly an OO database, anything that could enable me to do this fast and easy would be nice.


Any suggestions/ideas/comments?


Boris Spasojević - Борис Спасојевић

Research assistant
Software Composition Group
Institute of Computer Science and Applied Mathematics
University of Bern

email: [hidden email]
office phone: +41 (0)31 511 7636
mobile: +41 (0)76 66 88 175
webpage: http://scg.unibe.ch/staff/Boris-Spasojevic


Reply | Threaded
Open this post in threaded view
|

Re: Object database

Boris Spasojević 
In reply to this post by Boris Spasojević 
Thanks all,

I will look in to MongoDB (with and without Voyage) and GemStone, and report problems or lack there of :)

all the best,

Boris Spasojević - Борис Спасојевић

Research assistant
Software Composition Group
Institute of Computer Science and Applied Mathematics
University of Bern

email: [hidden email]
office phone: +41 (0)31 511 7636
mobile: +41 (0)76 66 88 175
webpage: http://scg.unibe.ch/staff/Boris-Spasojevic

On 28/5/13 4:11 PM, Boris Spasojević  wrote:
Hi all,

I have a need to persist a really large and funny object structure in Pharo (a huge Dictionary of Dictionaries) and I would like to be able to query this data from a remote image. 

Basically what I am looking for is some form of database that would allow me to input elements in to this structure from one image, and read them out in another image with queries like i.e.

dictionaryOfDictionaries select: [ :each |
    (each keys includes: key1) and: [  each keys includes: key2 ]
]
It does not have to be strictly an OO database, anything that could enable me to do this fast and easy would be nice.


Any suggestions/ideas/comments?


Boris Spasojević - Борис Спасојевић

Research assistant
Software Composition Group
Institute of Computer Science and Applied Mathematics
University of Bern

email: [hidden email]
office phone: +41 (0)31 511 7636
mobile: +41 (0)76 66 88 175
webpage: http://scg.unibe.ch/staff/Boris-Spasojevic