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

From: Cimode <cimode_at_hotmail.com>
Date: 5 Jul 2006 07:38:54 -0700
Message-ID: <1152110334.507239.213360_at_m79g2000cwm.googlegroups.com>


Dmitry Shuklin wrote:
> 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.
You lost me. On one side, you told me there's no concept of table but now you use table concepts...Please clarify...

> > What principle regulates system stability?
>
> transactions.
transactions is a package for encapsulating set of operations not really an principle.
I was refering to principle as what set of concepts permit to guarantee that the system is for instance less hardware dependent..

> > 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.
Maybe/maybe not? Does not this question require more particular attention if you think that a system would be more performant.... In most computing cycles the primary ressource consumer is not run time (execution time) but more compile and link edit time.

If your primary worry is devtime, it is an additional reason to spend it carefully by using sound logical principles on which to build on. Do not base abstract reasonning on current implementations technologies(DOT NET). By their semantics and current capabilities, they should not guide your reasonning. The opposite should happen.

> > 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
I have explained to you that metadata in RM would be treated at compile time only.
run time is decomposed into compile/link/execute. The method you suggest requires definitions to be executed no matter what. In RM, definitions, value and operator constraints are implemented at compile
time only.

> 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.
run time is not the same thing as execution time. I could somehow imagine that execution system could be efficient, but from what you have described compile time and linkage editing should relatively be important.

> > 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.
I understand.

> > 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?
Yes that's how RM deals with this issue. There are unfortunately no RDBMS existing today.

> 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.
I believe you implemented a SQL Table like DB.

> > > 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.
So you store the count value? .

> > 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.
Again there's no such thing as an RDBMS already implemented. The description I provided is what a system should be able to do to be called relational. There are no proofs and reason it would be impossible to build it and some attempts are currently progressing. Check Dataphor for more info.

> 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 - 16:38:54 CEST

Original text of this message