An object-oriented network DBMS from relational DBMS point of view

This is a discussion on An object-oriented network DBMS from relational DBMS point of view within the Theory and Concepts forums in category; Shuklin D.E. An object-oriented network DBMS from relational DBMS point of view Naive ORDBMS Lets examine the implementation of an abstract object-oriented DBMS. Lets take the relational DBMS as starting point. Rows in OODB tables will be an object instances. All table's rows will be instances of a class, which are corresponding to the table. Classes will be defined by table headings. In this case table column will conform to the field of the class. The value of the row field will conform to the value of the instance field. This first iteration of the ODBMS development allows us to ...

Go Back   Application Development Forum > Theory and Concepts

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 03-09-2007, 06:45 AM
Dmitry Shuklin
Guest
 
Default An object-oriented network DBMS from relational DBMS point of view

Shuklin D.E.

An object-oriented network DBMS from relational DBMS point of view


Naive ORDBMS

Lets examine the implementation of an abstract object-oriented DBMS.
Lets take the relational DBMS as starting point. Rows in OODB tables
will be an object instances. All table's rows will be instances of a
class, which are corresponding to the table. Classes will be defined
by table headings. In this case table column will conform to the field
of the class. The value of the row field will conform to the value of
the instance field. This first iteration of the ODBMS development
allows us to work with DBMS in terms of classes, instances and values
of instance fields. This OO system is still missing methods, virtual
methods overriding, inheritance and encapsulation. Neverless, it is
obvious, that no RDBMS values at that ORDBMS interpretation were lost.


Object - relational DBMS

Lets move further. By analogy with OOP it is possible to implement
single inheritance. The table, which has inherited base table, also
inherits columns of that base table or, what is equivalently, inherits
class fields. Base table should contain all class instances (= rows)
from all derived tables, which were inherited from this base table.
Some methods can be associated to the row (= instance). An interface
of the class, which was determined in the basic table, is inherited by
derived tables. Each row method should implicitly receive one row as
hidden parameter (= this). These row methods can be regarded as class
(= table) methods. These methods will be executed on data stored in
the row of table (= class instance or this). Identifiers of all
virtual methods of single class can be stored in some table known as
vtbl. Lets add hidden field (= column) with identifier of vtbl to each
data table. The vtbl identifier stored in hidden field in each row
allows to implementing overriding of virtual methods. The call of
virtual method of some row will be implemented as searching of the
virtual methods table by the vtbl identifier stored in this row and
then searching and calling the implementation of the method by its
name in the virtual methods table. The availability of vtbl allows to
invocate overridden methods, defined in the derived tables by rows
contained in the base table. So, in the developed abstract DBMS
support of inheritance and polymorphism concepts are presented. Also
it is obvious that the addition of such capacity uphold all present
RDBMS capacities.

The encapsulation is implemented in the developed DBMS by VIEWs using.
VIEW allows protect some table fields from direct access, providing
the access to fields interface. Due to the availability of vtbl
identifier in each row the VIEW also provides access to methods
interface.

As is easy to see, such implementation of OOP concepts in the RDBMS is
not new. PostgreeSQL is an example of already existing implementation.

Let's go on. Each row of the table is physically located in the
storage at some unique address. Even if it was not yet implemented in
the RDBMS used as prototype, it is technically possible to provide
invariability of this address during all row lifetime. The analogue of
this address can be bookmarks, used in the modern RDBMS for rows
addressing. The availability of unique and invariant row logical
address allows us to implement the concept of pointers to the rows.
Previously it was developed concepts of inheritance, polymorphism and
encapsulation. They are converting developed abstract ODDBMS to
valuable OO programming system.

Note, that the concept of references to the rows is also not new and
was embodied long ago in such famous RDBMS, as Oracle.

Neverless, it is obvious, that no RDBMS values at that ORDBMS
interpretation were lost too. As before, developed abstract ORDBMS
includes RDBMS as special case.


Network OODBMS

Let continue the building. The table of ORDBMS is a bookmarks
collection which refers to some rows. So many tables can contain
reference to one row and the same instance of row can be contained by
several tables. The row instance will be contained by the table, which
corresponds to the row class. And the same row instance will be
contained by the all base tables (= classes). Interface, which was
implemented by the row (= columns + methods), corresponds to the class
from which this instance was inherited. It is significant that this
interface is not equivalent to interfaces of base tables. It is wider
than base table's interfaces. However, this interface is compatible
with interfaces of tables, which are containing this row. That is how
we are getting to the concepts of interface, abstract classes and
multiple inheritance of interfaces.

This is very important step, because now the possibility of the
belonging of some row to some table is determined by compatibility of
this row interface with interface fixed for some table. This gives a
possibility to make next step - to consider tables to be not just
physical storage for rows, but a collection of instances of some
classes, which interfaces were compatible with interfaces determined
for this collections. Lets draw your attention to potential
independence of the interface, determined for the table from the
interface, fixed for the row. Notwithstanding the fact that developed
system in some special case can operate just as RDBMS, tables in the
developed DBMS are not relations in classical meaning. Rows of these
tables (= collections) are not a subset of Cartesian product of
interface declaration to possible domain of the interface. Yes,
collections at the developed system can be interpreted as a subset of
Cartesian product of interface declaration to possible domain of the
interface. This makes RDBMS to be special case of developed one. But,
the polymorphism of instances (= rows), which provides the access to
their internal structures through public interfaces caused in this
DBMS interfaces sharing (= columns and/or methods) to many tables (=
collections). These tables can't be considered as relations because
the changes of row fields provided through one table caused changes in
all other tables.

Lets examine data interfaces more elaborately. Interface implemented
by the row consists of the definition of signatures of methods, which
are applicable to this row, and also of the definition of fields (=
columns) which were inherited by this row from base tables. The
possibility of the table inheritance causes the possibility of
simultaneous ownership of the same columns (= fields) by different
tables. As result, row (= object) instance has values for columns,
which were described in all inherited interfaces. However, only that
subset of values can be available through some table, which is an
intersection of variety of all columns, which were inherited by row
and the variety of all columns, fixed as the interface for the
collection (= table). What is the row in this case? The row is the
subset of Cartesian product of all possible columns by all possible
values of these columns. Here interesting and unexpected result is
obtained. Though the developed abstract ORDBMS included RDBMS as
special case, the row is a relation instead of table.


Resume

During development no RDBMS capacities from the developed abstract
DBMS were removed, but new capacities was only added to it. Developed
ORDBMS includes RDBMS as special case. Rows are instances inheriting
many columns, published only some columns through tables interface.
Both rows and columns can be simultaneously placed into several
different tables. Tables are collections of instances and are not
classical relations. We could say that instances of classes (= rows)
are nodes, fields of these instances are attributes of nodes. Fields
of reference type holds pointers to other nodes. Nodes themselves can
have millions of attributes, publishing only some attributes through
interfaces of collections. Attributes can have both scalar values and
references to other nodes, thus forming the net. So relational DBMS is
just a special case of network DBMS.

The possibility of effective implementation of this OODBMS is required
for further research.

Prototype of such network object oriented DBMS can be downloaded from
here
http://www.codeplex.com/Cerebrum .


The Object-oriented network knowledge base Cerebrum (OONKB) has the
following features:

It saves the current state of the graph of objects or the neural
network in the OONKB between user sessions, including the current
topology of objects so that it does not require the creation of
objects again at the next run.

It restricts the amount of memory used by the graph of objects or the
neural network with larger quantities of class instances. The most
frequently used objects are left in the RAM, the others are moved to
the physical storage area and are loaded into the RAM upon demand. It
unloads the rarely used objects when other objects are loaded to the
RAM. The memory amount restriction allows not using the paging file so
that it significantly increases the modeling performance of networks
with larger quantities of class instances.

The primary goal of this research is to create a virtual machine
supporting free topology object-oriented network with up 2 billons of
object instances within one physical storage area. This possibility is
provided with implementation of the network object-oriented knowledge
database. So that only a few class instances are in the RAM and the
most objects are frozen in the file system.


I will be very appreciated for your feedback. Thank You for reading.

WBR, Dmitry Shuklin, PhD, Ukraine

Reply With Quote
  #2  
Old 03-09-2007, 08:09 AM
Cimode
Guest
 
Default Re: An object-oriented network DBMS from relational DBMS point of view

On Mar 9, 12:44 pm, "Dmitry Shuklin" <shuk...{}bk.ru> wrote:
> Shuklin D.E.
>
> An object-oriented network DBMS from relational DBMS point of view
>
> Naive ORDBMS
>
> Lets examine the implementation of an abstract object-oriented DBMS.
> Lets take the relational DBMS as starting point. Rows in OODB tables
> will be an object instances. All table's rows will be instances of a
> class, which are corresponding to the table. Classes will be defined
> by table headings. In this case table column will conform to the field
> of the class. The value of the row field will conform to the value of
> the instance field. This first iteration of the ODBMS development
> allows us to work with DBMS in terms of classes, instances and values
> of instance fields. This OO system is still missing methods, virtual
> methods overriding, inheritance and encapsulation. Neverless, it is
> obvious, that no RDBMS values at that ORDBMS interpretation were lost.
>
> Object - relational DBMS
>
> Lets move further. By analogy with OOP it is possible to implement
> single inheritance. The table, which has inherited base table, also
> inherits columns of that base table or, what is equivalently, inherits
> class fields. Base table should contain all class instances (= rows)
> from all derived tables, which were inherited from this base table.
> Some methods can be associated to the row (= instance). An interface
> of the class, which was determined in the basic table, is inherited by
> derived tables. Each row method should implicitly receive one row as
> hidden parameter (= this). These row methods can be regarded as class
> (= table) methods. These methods will be executed on data stored in
> the row of table (= class instance or this). Identifiers of all
> virtual methods of single class can be stored in some table known as
> vtbl. Lets add hidden field (= column) with identifier of vtbl to each
> data table. The vtbl identifier stored in hidden field in each row
> allows to implementing overriding of virtual methods. The call of
> virtual method of some row will be implemented as searching of the
> virtual methods table by the vtbl identifier stored in this row and
> then searching and calling the implementation of the method by its
> name in the virtual methods table. The availability of vtbl allows to
> invocate overridden methods, defined in the derived tables by rows
> contained in the base table. So, in the developed abstract DBMS
> support of inheritance and polymorphism concepts are presented. Also
> it is obvious that the addition of such capacity uphold all present
> RDBMS capacities.
>
> The encapsulation is implemented in the developed DBMS by VIEWs using.
> VIEW allows protect some table fields from direct access, providing
> the access to fields interface. Due to the availability of vtbl
> identifier in each row the VIEW also provides access to methods
> interface.
>
> As is easy to see, such implementation of OOP concepts in the RDBMS is
> not new. PostgreeSQL is an example of already existing implementation.
>
> Let's go on. Each row of the table is physically located in the
> storage at some unique address. Even if it was not yet implemented in
> the RDBMS used as prototype, it is technically possible to provide
> invariability of this address during all row lifetime. The analogue of
> this address can be bookmarks, used in the modern RDBMS for rows
> addressing. The availability of unique and invariant row logical
> address allows us to implement the concept of pointers to the rows.
> Previously it was developed concepts of inheritance, polymorphism and
> encapsulation. They are converting developed abstract ODDBMS to
> valuable OO programming system.
>
> Note, that the concept of references to the rows is also not new and
> was embodied long ago in such famous RDBMS, as Oracle.
>
> Neverless, it is obvious, that no RDBMS values at that ORDBMS
> interpretation were lost too. As before, developed abstract ORDBMS
> includes RDBMS as special case.
>
> Network OODBMS
>
> Let continue the building. The table of ORDBMS is a bookmarks
> collection which refers to some rows. So many tables can contain
> reference to one row and the same instance of row can be contained by
> several tables. The row instance will be contained by the table, which
> corresponds to the row class. And the same row instance will be
> contained by the all base tables (= classes). Interface, which was
> implemented by the row (= columns + methods), corresponds to the class
> from which this instance was inherited. It is significant that this
> interface is not equivalent to interfaces of base tables. It is wider
> than base table's interfaces. However, this interface is compatible
> with interfaces of tables, which are containing this row. That is how
> we are getting to the concepts of interface, abstract classes and
> multiple inheritance of interfaces.
>
> This is very important step, because now the possibility of the
> belonging of some row to some table is determined by compatibility of
> this row interface with interface fixed for some table. This gives a
> possibility to make next step - to consider tables to be not just
> physical storage for rows, but a collection of instances of some
> classes, which interfaces were compatible with interfaces determined
> for this collections. Lets draw your attention to potential
> independence of the interface, determined for the table from the
> interface, fixed for the row. Notwithstanding the fact that developed
> system in some special case can operate just as RDBMS, tables in the
> developed DBMS are not relations in classical meaning. Rows of these
> tables (= collections) are not a subset of Cartesian product of
> interface declaration to possible domain of the interface. Yes,
> collections at the developed system can be interpreted as a subset of
> Cartesian product of interface declaration to possible domain of the
> interface. This makes RDBMS to be special case of developed one. But,
> the polymorphism of instances (= rows), which provides the access to
> their internal structures through public interfaces caused in this
> DBMS interfaces sharing (= columns and/or methods) to many tables (=
> collections). These tables can't be considered as relations because
> the changes of row fields provided through one table caused changes in
> all other tables.
>
> Lets examine data interfaces more elaborately. Interface implemented
> by the row consists of the definition of signatures of methods, which
> are applicable to this row, and also of the definition of fields (=
> columns) which were inherited by this row from base tables. The
> possibility of the table inheritance causes the possibility of
> simultaneous ownership of the same columns (= fields) by different
> tables. As result, row (= object) instance has values for columns,
> which were described in all inherited interfaces. However, only that
> subset of values can be available through some table, which is an
> intersection of variety of all columns, which were inherited by row
> and the variety of all columns, fixed as the interface for the
> collection (= table). What is the row in this case? The row is the
> subset of Cartesian product of all possible columns by all possible
> values of these columns. Here interesting and unexpected result is
> obtained. Though the developed abstract ORDBMS included RDBMS as
> special case, the row is a relation instead of table.
>
> Resume
>
> During development no RDBMS capacities from the developed abstract
> DBMS were removed, but new capacities was only added to it. Developed
> ORDBMS includes RDBMS as special case. Rows are instances inheriting
> many columns, published only some columns through tables interface.
> Both rows and columns can be simultaneously placed into several
> different tables. Tables are collections of instances and are not
> classical relations. We could say that instances of classes (= rows)
> are nodes, fields of these instances are attributes of nodes. Fields
> of reference type holds pointers to other nodes. Nodes themselves can
> have millions of attributes, publishing only some attributes through
> interfaces of collections. Attributes can have both scalar values and
> references to other nodes, thus forming the net. So relational DBMS is
> just a special case of network DBMS.
>
> The possibility of effective implementation of this OODBMS is required
> for further research.
>
> Prototype of such network object oriented DBMS can be downloaded from
> herehttp://www.codeplex.com/Cerebrum.
>
> The Object-oriented network knowledge base Cerebrum (OONKB) has the
> following features:
>
> It saves the current state of the graph of objects or the neural
> network in the OONKB between user sessions, including the current
> topology of objects so that it does not require the creation of
> objects again at the next run.
>
> It restricts the amount of memory used by the graph of objects or the
> neural network with larger quantities of class instances. The most
> frequently used objects are left in the RAM, the others are moved to
> the physical storage area and are loaded into the RAM upon demand. It
> unloads the rarely used objects when other objects are loaded to the
> RAM. The memory amount restriction allows not using the paging file so
> that it significantly increases the modeling performance of networks
> with larger quantities of class instances.
>
> The primary goal of this research is to create a virtual machine
> supporting free topology object-oriented network with up 2 billons of
> object instances within one physical storage area. This possibility is
> provided with implementation of the network object-oriented knowledge
> database. So that only a few class instances are in the RAM and the
> most objects are frozen in the file system.
>
> I will be very appreciated for your feedback. Thank You for reading.
>
> WBR, Dmitry Shuklin, PhD, Ukraine


<<So relational DBMS is just a special case of network DBMS. >> A
show stopper.

Reply With Quote
  #3  
Old 03-09-2007, 08:25 AM
Cimode
Guest
 
Default Re: An object-oriented network DBMS from relational DBMS point of view

<<So relational DBMS is just a special case of network DBMS. >>

A show stopper. A perfect example on how to write a lot a say very
little.

Reply With Quote
  #4  
Old 03-09-2007, 11:02 PM
JXStern
Guest
 
Default Re: An object-oriented network DBMS from relational DBMS point of view

On 9 Mar 2007 03:44:37 -0800, "Dmitry Shuklin" <shuklin{}bk.ru> wrote:

>Shuklin D.E.
>
>An object-oriented network DBMS from relational DBMS point of view
>
>
>Naive ORDBMS
>
>Lets examine the implementation of an abstract object-oriented DBMS.
>Lets take the relational DBMS as starting point. Rows in OODB tables
>will be an object instances. All table's rows will be instances of a
>class, which are corresponding to the table. Classes will be defined
>by table headings. In this case table column will conform to the field
>of the class. The value of the row field will conform to the value of
>the instance field. This first iteration of the ODBMS development
>allows us to work with DBMS in terms of classes, instances and values
>of instance fields. This OO system is still missing methods, virtual
>methods overriding, inheritance and encapsulation. Neverless, it is
>obvious, that no RDBMS values at that ORDBMS interpretation were lost.


If you follow the normalization rules for 3NF, you constrain the
object structures and instances, how about that? And if you don't,
then you give up the ability to run SQL efficiently, or at all,
against the database.


>Object - relational DBMS
>
>Lets move further. By analogy with OOP it is possible to implement
>single inheritance. The table, which has inherited base table, also
>inherits columns of that base table or, what is equivalently, inherits
>class fields. Base table should contain all class instances (= rows)
>from all derived tables, which were inherited from this base table.
>Some methods can be associated to the row (= instance). An interface
>of the class, which was determined in the basic table, is inherited by
>derived tables. Each row method should implicitly receive one row as
>hidden parameter (= this). These row methods can be regarded as class
>(= table) methods. These methods will be executed on data stored in
>the row of table (= class instance or this). Identifiers of all
>virtual methods of single class can be stored in some table known as
>vtbl. Lets add hidden field (= column) with identifier of vtbl to each
>data table. The vtbl identifier stored in hidden field in each row
>allows to implementing overriding of virtual methods. The call of
>virtual method of some row will be implemented as searching of the
>virtual methods table by the vtbl identifier stored in this row and
>then searching and calling the implementation of the method by its
>name in the virtual methods table. The availability of vtbl allows to
>invocate overridden methods, defined in the derived tables by rows
>contained in the base table. So, in the developed abstract DBMS
>support of inheritance and polymorphism concepts are presented. Also
>it is obvious that the addition of such capacity uphold all present
>RDBMS capacities.


Vtbl sucks, do something dynamic like python.


>The encapsulation is implemented in the developed DBMS by VIEWs using.
>VIEW allows protect some table fields from direct access, providing
>the access to fields interface. Due to the availability of vtbl
>identifier in each row the VIEW also provides access to methods
>interface.
>
>As is easy to see, such implementation of OOP concepts in the RDBMS is
>not new. PostgreeSQL is an example of already existing implementation.


Factoring into 3NF is an alternative to specialization, you have the
pattern of a base table ANIMAL with specialization annexes in tables
like REPTILE and MAMMAL, an entity always has an ANIMAL base record
and either one or the other table records, linked by a foreign key.
Well, OK, then specialization can be supported and INTEPRETED as a set
of tables under this pattern.


>Let's go on. Each row of the table is physically located in the
>storage at some unique address. Even if it was not yet implemented in
>the RDBMS used as prototype, it is technically possible to provide
>invariability of this address during all row lifetime. The analogue of
>this address can be bookmarks, used in the modern RDBMS for rows
>addressing. The availability of unique and invariant row logical
>address allows us to implement the concept of pointers to the rows.
>Previously it was developed concepts of inheritance, polymorphism and
>encapsulation. They are converting developed abstract ODDBMS to
>valuable OO programming system.


But if those pointers do not follow normalization rules, you lose the
underlying RDBMS. Is anything lost by using keys?

>Note, that the concept of references to the rows is also not new and
>was embodied long ago in such famous RDBMS, as Oracle.


And is considered a kluge.


>Neverless, it is obvious, that no RDBMS values at that ORDBMS
>interpretation were lost too. As before, developed abstract ORDBMS
>includes RDBMS as special case.


Only at the cost of constraining the ODBMS.


>Network OODBMS


(skipped)

>Resume
>
>During development no RDBMS capacities from the developed abstract
>DBMS were removed, but new capacities was only added to it. Developed
>ORDBMS includes RDBMS as special case.


That's not news, that an unconstrained description has constrained
grammers as a subset, that type 0 grammar has type 1,2,3 grammars as
"special cases", but the general case does not have some of the
properties of its simplified, special cases. See: fallacy of
composition. Just because this baseball is red, does not mean that
the set of all baseballs is red. If you want a red baseball, you have
to stay within the constrained subset. To generalize from a red
baseball to a set of red-or-blue baseballs, is not much of a leap.

....

>I will be very appreciated for your feedback. Thank You for reading.
>
>WBR, Dmitry Shuklin, PhD, Ukraine


J.

Reply With Quote
  #5  
Old 03-10-2007, 05:11 AM
Dmitry A. Kazakov
Guest
 
Default Re: An object-oriented network DBMS from relational DBMS point of view

Some disarrayed comments to...

On 9 Mar 2007 03:44:37 -0800, Dmitry Shuklin wrote:

> Naive ORDBMS


[...]
This is rather aggregation of ADTs, not yet full-blown OO.

> Object - relational DBMS
>
> Lets move further. By analogy with OOP it is possible to implement
> single inheritance. The table, which has inherited base table, also
> inherits columns of that base table or, what is equivalently, inherits
> class fields. Base table should contain all class instances (= rows)
> from all derived tables, which were inherited from this base table.


That's extension, a case of generalization. Specialization is no less
interesting, though.

[...]
(= ADT's of rows. Classes of.)

> Let's go on. Each row of the table is physically located in the
> storage at some unique address. Even if it was not yet implemented in
> the RDBMS used as prototype, it is technically possible to provide
> invariability of this address during all row lifetime. The analogue of
> this address can be bookmarks, used in the modern RDBMS for rows
> addressing. The availability of unique and invariant row logical
> address allows us to implement the concept of pointers to the rows.


What for? Identity is not always required.

If you already introduced ADTs you can make referential ADTs as well. No
need to introduce then as first-class objects, or limit to only rows.

That RDBMS have various kludges to achieve this, is just because their type
systems have stayed frozen on the state-of-art of mid-70's...

> Network OODBMS
>
> Let continue the building. The table of ORDBMS is a bookmarks
> collection which refers to some rows. So many tables can contain
> reference to one row and the same instance of row can be contained by
> several tables. The row instance will be contained by the table, which
> corresponds to the row class. And the same row instance will be
> contained by the all base tables (= classes). Interface, which was
> implemented by the row (= columns + methods), corresponds to the class
> from which this instance was inherited. It is significant that this
> interface is not equivalent to interfaces of base tables. It is wider
> than base table's interfaces. However, this interface is compatible
> with interfaces of tables, which are containing this row. That is how
> we are getting to the concepts of interface, abstract classes and
> multiple inheritance of interfaces.


Yes, ADT /= the ADT of the class of.

[...]
(= a typed system is, well, typed)

> Lets examine data interfaces more elaborately. Interface implemented
> by the row consists of the definition of signatures of methods, which
> are applicable to this row, and also of the definition of fields (=
> columns) which were inherited by this row from base tables.


Forget first about tables. Tables are just unordered sets of rows. You can
have different sorts of collections. Unordered set is just one case of.

When you want to derive, do it from a type (row). The type of the table is
another thing. You can get it from some abstract collection type
constrained by the class of rows (=the type of the element). The iterator
(index) is another parameter.

Nothing in a type system should prevent you to derive from any type. Tables
and rows are distinct types. Derivation from a row and from a table are two
sufficiently different things.

> Tables are collections of instances and are not
> classical relations.


Table is an instance of a type which has relations as methods.

> So relational DBMS is
> just a special case of network DBMS.


That is quite obvious. Similarly, relational systems is a case of general
case type systems. This alone is not yet an immediate advantage. The
weakness of DBMS is its total inability to deal with constrained cases.
Generalized cases are more rare, though also important. One difficult
issue is how the type system you introduce would handle specialization. How
constrains put on the types (like row) propagate across the system and the
validity of corresponding methods is checked. This is a big issue
independent on DBMS, which is only an application area of.

> The Object-oriented network knowledge base Cerebrum (OONKB) has the
> following features:
>
> It saves the current state of the graph of objects or the neural
> network in the OONKB between user sessions, including the current
> topology of objects so that it does not require the creation of
> objects again at the next run.
>
> It restricts the amount of memory used by the graph of objects or the
> neural network with larger quantities of class instances. The most
> frequently used objects are left in the RAM, the others are moved to
> the physical storage area and are loaded into the RAM upon demand. It
> unloads the rarely used objects when other objects are loaded to the
> RAM. The memory amount restriction allows not using the paging file so
> that it significantly increases the modeling performance of networks
> with larger quantities of class instances.
>
> The primary goal of this research is to create a virtual machine
> supporting free topology object-oriented network with up 2 billons of
> object instances within one physical storage area. This possibility is
> provided with implementation of the network object-oriented knowledge
> database. So that only a few class instances are in the RAM and the
> most objects are frozen in the file system.


Yes sure.

(I too stored fuzzy decision trees (actually graphs, DT is a legacy term)
in RDBMS, which was quite nasty, I must admit. But it is not the issue with
a persistency layer. The real problem is training in-situ. Though my system
could train trees on training sets both resident in a persistent storage,
that would twist the neck of any DBMS.)

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
Reply With Quote
  #6  
Old 03-10-2007, 09:15 AM
Walt
Guest
 
Default Re: An object-oriented network DBMS from relational DBMS point of view


"Dmitry Shuklin" <shuklin{}bk.ru> wrote in message
news:1173440677.467627.35460{}q40g2000cwq.googlegr oups.com...

[snip]

> Note, that the concept of references to the rows is also not new and
> was embodied long ago in such famous RDBMS, as Oracle.


[snip]

It's not only not new, but also not relational. Oracle's claims to be
relational. Many database builders, myself included, have designed
relational databases, and implemented using Oracle. However, some of the
features offered by Oracle are not relational. This is one of them.

Anyone relying on using a reference to a row as implicitly referencing the
data contained in the row is suing the graph model of data, and not the
relational model of data. It seems to me that the rest of this topic
overlooks this simple point.



Reply With Quote
  #7  
Old 03-10-2007, 10:22 AM
Marshall
Guest
 
Default Re: An object-oriented network DBMS from relational DBMS point of view

On Mar 10, 6:15 am, "Walt" <wami...{}verizon.net> wrote:
> "Dmitry Shuklin" <shuk...{}bk.ru> wrote in message
>
> news:1173440677.467627.35460{}q40g2000cwq.googlegr oups.com...
>
> [snip]
>
> > Note, that the concept of references to the rows is also not new and
> > was embodied long ago in such famous RDBMS, as Oracle.

>
> [snip]
>
> It's not only not new, but also not relational.


It's not only not relational, but also not necessary.

Every relation, by definition, has a set of attributes
whose values are unique, and which can therefore
be used in relational expressions to uniquely identify
a row. That's all you'd get out of a pointer. Further,
by requiring the unnecessary pointer, you constrain
implementations unnecessarily.


> Anyone relying on using a reference to a row as implicitly referencing the
> data contained in the row is suing the graph model of data, and not the
> relational model of data.


Hmmm. Various of us have pondered many different ways to
help educate the programming public about the value of the
relational model, but I don't think anyone has ever proposed
involving the courts before. But as an American I love the idea!
Let us sue other data models for false advertising.


Marshall

PS. Sorry.

Reply With Quote
  #8  
Old 03-10-2007, 10:55 AM
Walt
Guest
 
Default Re: An object-oriented network DBMS from relational DBMS point of view


"Marshall" <marshall.spight{}> wrote in message
news:1173540150.918109.138900{}p10g2000cwp.googleg roups.com...
> On Mar 10, 6:15 am, "Walt" <wami...{}verizon.net> wrote:
> > "Dmitry Shuklin" <shuk...{}bk.ru> wrote in message
> >
> > news:1173440677.467627.35460{}q40g2000cwq.googlegr oups.com...
> >
> > [snip]
> >
> > > Note, that the concept of references to the rows is also not new and
> > > was embodied long ago in such famous RDBMS, as Oracle.

> >
> > [snip]
> >
> > It's not only not new, but also not relational.

>
> It's not only not relational, but also not necessary.
>
> Every relation, by definition, has a set of attributes
> whose values are unique, and which can therefore
> be used in relational expressions to uniquely identify
> a row. That's all you'd get out of a pointer. Further,
> by requiring the unnecessary pointer, you constrain
> implementations unnecessarily.
>
>
> > Anyone relying on using a reference to a row as implicitly referencing

the
> > data contained in the row is suing the graph model of data, and not the
> > relational model of data.

>
> Hmmm. Various of us have pondered many different ways to
> help educate the programming public about the value of the
> relational model, but I don't think anyone has ever proposed
> involving the courts before. But as an American I love the idea!
> Let us sue other data models for false advertising.
>
>
> Marshall
>
> PS. Sorry.
>


My bad. Typo. "suing" should be "using".


Reply With Quote
  #9  
Old 03-10-2007, 11:28 AM
Marshall
Guest
 
Default Re: An object-oriented network DBMS from relational DBMS point of view

On Mar 10, 7:54 am, "Walt" <wami...{}verizon.net> wrote:
> "Marshall" <marshall.spi...{}> wrote in message
>
> news:1173540150.918109.138900{}p10g2000cwp.googleg roups.com...
>
>
>
> > On Mar 10, 6:15 am, "Walt" <wami...{}verizon.net> wrote:
> > > "Dmitry Shuklin" <shuk...{}bk.ru> wrote in message

>
> > >news:1173440677.467627.35460{}q40g2000cwq.googleg roups.com...

>
> > > [snip]

>
> > > > Note, that the concept of references to the rows is also not new and
> > > > was embodied long ago in such famous RDBMS, as Oracle.

>
> > > [snip]

>
> > > It's not only not new, but also not relational.

>
> > It's not only not relational, but also not necessary.

>
> > Every relation, by definition, has a set of attributes
> > whose values are unique, and which can therefore
> > be used in relational expressions to uniquely identify
> > a row. That's all you'd get out of a pointer. Further,
> > by requiring the unnecessary pointer, you constrain
> > implementations unnecessarily.

>
> > > Anyone relying on using a reference to a row as implicitly referencing

> the
> > > data contained in the row is suing the graph model of data, and not the
> > > relational model of data.

>
> > Hmmm. Various of us have pondered many different ways to
> > help educate the programming public about the value of the
> > relational model, but I don't think anyone has ever proposed
> > involving the courts before. But as an American I love the idea!
> > Let us sue other data models for false advertising.

>
> > Marshall

>
> > PS. Sorry.

>
> My bad. Typo. "suing" should be "using".


Walt,

You should know something about me: if there is a cheap
laugh to be had, I'm there with bells on. It was clear
it was a typo, however I found the idea quite appealing!
So I ran with it. The only thing that gave me hesitation
was that it might appear to be at your expense, so
I put in an explicit "sorry."


Marshall

Reply With Quote
  #10  
Old 03-10-2007, 11:32 AM
JOG
Guest
 
Default Re: An object-oriented network DBMS from relational DBMS point of view

> "Dmitry Shuklin" <shuk...{}bk.ru> wrote in message
> Note, that the concept of references to the rows is also not new and
> was embodied long ago in such famous RDBMS, as Oracle.


I worry that this is yet another system that focuses on technology
instead of the information part of IT, and which doesn't understand
what data is (data = given fact = proposition).

Considering two bits of data:
- Aristotle is a human
- A human is mortal

Now that seems fine to me. Two different bits of data, with different
structures (and hence different predication). A join also gives me
"Aristotle is mortal". All is good, and I certainly don't need any
"human object" inheritance - my foreign key indicates that connection
for me.

So you want to add 'row references' so that the real world
propositions to be recorded has become.
- Row A says Aristotle is a Row Z
- Row Z says a Human is a mortal.

This would add nothing to the data, it has a superfluous extra
addressing mechanism that has to be navigated along, and propositions
are no longer directly match those recorded in the real world or how
we communicate. This is not good.

I also find the overall conclusion to be back to front. Objects are
very constrained subsets of general relationships, not the other way
around. Regards, J.

Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 08:04 AM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.