Re: sad, not free OODBMS that really works to use



Thank you, M. Roberts.
On 8 18 , 9 47 , mdr <mrobe...@xxxxxxxxxx> wrote:


On Aug 18, 6:05 pm, Emptiest <jimg1...@xxxxxxxxx> wrote:

Using OmniBase, is it possible to deal all db issues in limited class
methods to leave other parts, especially the instance side, unchanged
at all?

What do you mean by "all db issues"? Why class methods and not
instance methods? Actually, why methods at all? Please explain a bit
more about what you'd like to do.


I was trying to make later changing of database easier. Domain
objects
should not know that there is a database. Design would be better for
me, being independent of database, too.

If your application has only one thread of execution, then yes, I
suppose you could have a class with some methods that do everything to
manage your data. Personally, i would not follow that pattern, but
then I don't completely understand what you're asking about here.


If your application has only one thread of execution, yes till now.

OmniBase can store pretty much any object using dictionary protocol.
There's a root object and you insert the things you want to persist
there. You can use different sorts of objects as keys: numbers,
strings, symbols, dates, etc. There's a fair amount of flexibility.
You can also insert Dictionaries, and that's when things start to get
more interesting. For example, you could have a Dictionary called
"Stocks" indexed by strings, and then the values of the dictionary are
the instances of class Stock.

Though objects and collections tend to be more complex in my current
design, I think it's possible to fit into this Dictionary way of
storing. I'll try OmniBase for another time, since it seems the only
one available now besides Gemstone 64.

I sometimes think if image had been database from the very beginning
of Smalltalk, everything would have been simpler.

......
In this way, performance should be much better than BOSS.

Yes.

There are a few different things to think about, but a first one is:
how do you want to refer to the objects that you store in the
database? You can put them in a Dictionary, but you need to have a
unique key for each one. You could put them in some sort of collection
and then persist that, but it can become slow because each time you do
a transaction, it could serialize the whole object. The fastest
solution, though, seems to be a BTree Dictionary. .....

Now, a lot of collections are used. Thank you and I will try to act on
your advice.

I would say the main thing is to just make it work first in a very
simple way and then try some tests with lots of objects to measure
performance. Of course, YMMV.

Yes. I'm now using BOSS to keep it simple. But have come to a point
that future selection of OODBMS might make differences to design, so I
stopped here to think about it.

I have found with OmniBase that read Only transactions are
significantly faster. The database is cross platform, and you can move
your database files between platforms with no problems. I have
noticed, though, that performance under Linux is much faster than
performance under Windows XP.

I'm now doing end-of-day analyze so it works like this, all new data
are scanned by the system and their states (the results of the scan)
memorized.
Later, the system can search some patterns of states to find which
stocks to pay attention to. Then several virtual accounts for strategy-
observing renewed. This makes new strategies easier to develop.

So it's a calculate->change->store->query->store process.
Thanks a lot. If I'm to use OmniBase later this year, I may have more
detailed questions
:-)

Best Regards,

Jim G.

.



Relevant Pages

  • Re: sad, not free OODBMS that really works to use
    ... OmniBase can store pretty much any object using dictionary protocol. ... You can also insert Dictionaries, and that's when things start to get ... "Stocks" indexed by strings, and then the values of the dictionary are ... So, when you query the Dictionary called "Stocks" in the database, it ...
    (comp.lang.smalltalk)
  • Re: Best way to parse file into db-type layout?
    ... That's an awful lot of columns to put into a database table, ... The rows are identified by Letter type and an account number (always the ... Off to search for dictionaries and databases now. ... > What you need is a clear appreciation of what you are trying to do ...
    (comp.lang.python)
  • Re: If you were developing a database in Forth...
    ... language that supports dictionaries. ... but apparently there is a lack of imagination. ... : Paul 1947; ... not reflexively reaching for an external database engine. ...
    (comp.lang.forth)
  • Re: Lucid statement of the MV vs RM position?
    ... before database managment systems, much of Pick will be familiar to you. ... Dictionaries are ... mind of the end-users too. ... decoding the data ought to be in the mind of the programmer, ...
    (comp.databases.theory)
  • Re: If you were developing a database in Forth...
    ... Forthish approach-- to use the dictionary to store keys and to have ... which is one type of database. ... language that supports dictionaries. ...
    (comp.lang.forth)