Re: I think that relational DBs are dead. See link to my article inside

From: Dmitry Shuklin <shuklin_at_bk.ru>
Date: 5 Jul 2006 06:48:35 -0700
Message-ID: <1152107315.475081.276340_at_v61g2000cwv.googlegroups.com>


Hi Cimode

> How are they attached?

Via configuration DB. It is like a RDB, it contains tables, rows, ... but it is not RDB. It is RDB emulation on OODB. So tables, rows and columns has different behavior. For example row can be contained in many tables at one time. So if you change row field via one table it automatically changed in all tables which contains this row.

> What principle regulates system stability?

transactions.

> Don't this approach increase resource consumption at linkage editing
> time. (compile/link/run?)

may be, may be not. it is relative to point of view. i afraid about run time more then about devtime.

> Yes. But it is declared once and it is stored as metadata in a
> consistent framework of definitions.
Metadata must be processed at runtime in any case. So it is question of optimizations. My runtime constraints can be faster then RM metadata or not - i don't worry now about this question because have more interesting problems and restrictions.

> This the soul of what constitutes a data
> definition language.

DDL is GREAT invention. I have plans to make declarative subsystem for my OODB but i can't implement all features in one day.

> Keep in mind that RM allows to do that through computation of
> adresses (through intersect operator) without involving the data
> itself, then it just reads the data that is a product of the
> computation.

Are you sure that RM allows, not an some concrete RDBMS implementation? I have implemented some optimization techniques too. This mean nothing. Somebody can
optimize OODB or RDB more then I.

> What about other arbitrary operators that can apply to neurons? How do
> you apply them?

I have a couple of neuron and neuron network models implemented. All different. OODB allows to me implement any neuron model inside class methods.

May be more interesting topic is a structure of data model which stores attributes of persistent classes.

> What I mean is that you seem to use predetermined sample test data to
> build your application. RM allows to handle randomly defined data.
> That what makes an abstract model as opposed to a specific
> implementation.

My DB also allows use many abstract models. For example, i implemented simple RDB like database to store configuration metadata.

> > There are objects. No data. Objects has methods. Methods can change
> > objects attributes. Instead of insert you should create NEW object
> > instance. Then you can add this instance into number of collections.
> > Instead of update you should invoke some method from some objects. All
> > this can be done on C# or VB.NET
> Meaning that you need to load all objects in RAM if you want to count
> them? What if you have 3 trillion of them? and just 1Gb RAM?

No it is not needed load all network into RAM. You just need to load one instance which holds count attribute. that is all.

> If I understand right, all class contains data and behavior?

Yes. All classes is a .NET classes. But none of classes fields are serialized into stroage automatically. Developer should use CerebrumAPI to store data into network storage. It is limitation because i don't want invent new language. I want to be compatible with .NET Framework

> Right...Keep in mind that RM implements unique physical data storage.
> Data is stored once and only once. Your approach imposes redundancy of
> data in each class. For instance, if the value 3 is stored in several
> classes, then it would be stored only once in an RM system.

Hm, are you sure that RDBMS doing so? Hm are you sure that this theoretical construct is applicable to real world computer systems? May be i don't understand you.

If i for example have 4 instances which have different name attributes and all attibutes equals to 'name' and then i change attribute from first cllass to 'name1' then all 4 classes must change name? of course no. (note: you can implement such functionality in OODB if you need it) May be the first instance should change pointer from interned string 'name' into interned string 'name1'. it is ok for me, but what if i need the first scenario too?

WBR,
Dmitry Received on Wed Jul 05 2006 - 15:48:35 CEST

Original text of this message