![]() | |
#41
| ||||||
| ||||||
|
|
"Carl Rosenberger" <carl (AT) db4o (DOT) com> wrote Alfredo Novoa wrote: Which other active OO database would you consider more 'advanced'? DBMS, not database. More advanced OO DBMSs are Dataphor, FirstSQL and even Oracle and DB2. Interesting news. - Does any of the above engines manage object identities within the client? For your understanding what I mean: If I access an object through multiple paths (queries, navigation) will I get back the same object every time? Utterly incoherent question. |
|
- What kind of object caching mechanism is used to provide this feature? |
|
Weak references? How does the mechanism integrate with garbage collection? |
|
- What kind of object-level locking is provided? More nonsenses. |
|
- Assuming I modify a class by adding a field. How does schema management work with the above engines? More incoherences. |
|
How many steps are necessary to get the database client and server to use my new field throughout my application? One or several. Do I need to reorganize the database? - How many steps are necessary to add a new class? One. What do I need to do exactly? It depends on what DBMS you are using. - How is class inheritance supported by the above engines? They use different approaches. Can I store deep inheritance trees? Another incoherent question. - Bob was speaking of an "active" object database. Can Java (or C#) code be run within the server? Some of the above products can run Java, and the next release of SQL Server can run C#. Can this code be triggered from the client? Incoherent question. The code can be triggered in response of client actions. Is it possible to switch back and forth between client- and server-side execution in closures? Incoherent question. - Can I run any of the above database engines in embedded mode? (one thread shared between application and database engine) It is monolithic mode. You can do that with Firebird SQL. - What do I need to do to my classes, so they can be stored with the above engines? snip - Assuming I want to use one of the two mainstream OO platforms, Java or .NET, can I store any existing JDK / .NET class that come with the system? Incoherent questions, to store a clas classes does not make sense. - How can I move or copy objects between database files (or client sessions) with the above products? Incoherent question. You are mixing logical and physical issues. - Do the above products support any object database standards like ODMG, JDO or ObjectSpaces? Fortunately they don't support that nonsenses. - Do the above products supply special database collections, so collections do not need to be fully loaded into client memory to use them? (LinkedList?, HashMap?) Yes, they support tables or relations and you do not need to fully load them into client memory. Are server-side proxy collections supported? Define server-side proxy collection? - What kinds of dynamic fetch mechanisms are provided? Define dynamic fetch mechanisms. How can I load certain fields of objects in one go? How can I navigate by loading further fields? More incoherences. - Is it possible to unload objects from RAM that were modified by the current transaction? To unload by who? - How does Rollback work? As is described in the transaction processing theory books. Can the state of instantiated objects be restored and how do I do it? More incoherences. The above catalog of features can help very much, if you develop object-oriented database applications. All you write are nonsenses and incoherences. I know that the four products that you listed are pretty bad at all of them, Alfredo. Perhaps they are bad, but they are a lot more powerful and sophisticated than your product. I would never call them "object databases" and none of the vendors uses this term either. Some of the vendors use the term Object-Relational DBMS. I don't care about your personal terminology. You don't have a clue on terminology or data management. Database engines that provide most or all of the above features are commonly known as object databases. Your incoherences are not features, and to call database to an engine is another incoherence. They are characterized by a very tight language integration that minimizes development and refactoring work. They excel at using very little ressources. They provide maximum performance for navigational access to objects by minimizing the amount of indirections needed, since no keys need to be matched. More nonsenses. I suppose this newsgroup was created for this product category. I don't know for what this group was created, but you are trying to use it to cheat the gullibles with meaningless pap. Regards Alfredo |
#42
| ||||||
| ||||||
|
|
"Alfredo Novoa" <alfredo (AT) ncs (DOT) es> wrote in message news:e4330f45.0402090456.14788ca5 (AT) posting (DOT) google.com... "Carl Rosenberger" <carl (AT) db4o (DOT) com> wrote in message news:<c06m43$7pb$06$1 (AT) news (DOT) t-online.com>... Alfredo Novoa wrote: Which other active OO database would you consider more 'advanced'? DBMS, not database. More advanced OO DBMSs are Dataphor, FirstSQL and even Oracle and DB2. Interesting news. - Does any of the above engines manage object identities within the client? For your understanding what I mean: If I access an object through multiple paths (queries, navigation) will I get back the same object every time? Utterly incoherent question. Not if one automatically assumes a network model and location based identity as Carl does. |
| - What kind of object caching mechanism is used to provide this feature? Again, only relevant to network model databases. Better databases than network model have better caching options available. |
| Weak references? How does the mechanism integrate with garbage collection? Why any references at all? Again, Carl implicitly assumes the user is stupid enough to want to chase pointers. |
| - What kind of object-level locking is provided? More nonsenses. Again, Carl implicitly assumes a total lack of physical independence. Thus, if one has a logical object one also has a physical resource that requires a physical lock. What makes Carl worse than most is his ignorance is willful and was chosen for his financial gain. He is morally bankrupt and intellectually dishonest. |
| - Assuming I modify a class by adding a field. How does schema management work with the above engines? More incoherences. I disagree that it is incoherent. His question equates to asking how the type system would handle the addition of a new possible representation. And the answer is: "Very well, thank you." |
| How many steps are necessary to get the database client and server to use my new field throughout my application? One or several. Do I need to reorganize the database? - How many steps are necessary to add a new class? One. What do I need to do exactly? It depends on what DBMS you are using. - How is class inheritance supported by the above engines? They use different approaches. Can I store deep inheritance trees? Another incoherent question. - Bob was speaking of an "active" object database. Can Java (or C#) code be run within the server? Some of the above products can run Java, and the next release of SQL Server can run C#. Can this code be triggered from the client? Incoherent question. The code can be triggered in response of client actions. Is it possible to switch back and forth between client- and server-side execution in closures? Incoherent question. - Can I run any of the above database engines in embedded mode? (one thread shared between application and database engine) It is monolithic mode. You can do that with Firebird SQL. - What do I need to do to my classes, so they can be stored with the above engines? snip - Assuming I want to use one of the two mainstream OO platforms, Java or .NET, can I store any existing JDK / .NET class that come with the system? Incoherent questions, to store a clas classes does not make sense. - How can I move or copy objects between database files (or client sessions) with the above products? Incoherent question. You are mixing logical and physical issues. - Do the above products support any object database standards like ODMG, JDO or ObjectSpaces? Fortunately they don't support that nonsenses. - Do the above products supply special database collections, so collections do not need to be fully loaded into client memory to use them? (LinkedList?, HashMap?) Yes, they support tables or relations and you do not need to fully load them into client memory. Are server-side proxy collections supported? Define server-side proxy collection? - What kinds of dynamic fetch mechanisms are provided? Define dynamic fetch mechanisms. How can I load certain fields of objects in one go? How can I navigate by loading further fields? More incoherences. - Is it possible to unload objects from RAM that were modified by the current transaction? To unload by who? - How does Rollback work? As is described in the transaction processing theory books. Can the state of instantiated objects be restored and how do I do it? More incoherences. The above catalog of features can help very much, if you develop object-oriented database applications. All you write are nonsenses and incoherences. I know that the four products that you listed are pretty bad at all of them, Alfredo. Perhaps they are bad, but they are a lot more powerful and sophisticated than your product. I would never call them "object databases" and none of the vendors uses this term either. Some of the vendors use the term Object-Relational DBMS. I don't care about your personal terminology. You don't have a clue on terminology or data management. Database engines that provide most or all of the above features are commonly known as object databases. Your incoherences are not features, and to call database to an engine is another incoherence. They are characterized by a very tight language integration that minimizes development and refactoring work. They excel at using very little ressources. They provide maximum performance for navigational access to objects by minimizing the amount of indirections needed, since no keys need to be matched. More nonsenses. I suppose this newsgroup was created for this product category. I don't know for what this group was created, but you are trying to use it to cheat the gullibles with meaningless pap. Regards Alfredo |
#43
| |||
| |||
|
|
- Does any of the above engines manage object identities within the client? For your understanding what I mean: If I access an object through multiple paths (queries, navigation) will I get back the same object every time? Utterly incoherent question. Not if one automatically assumes a network model and location based identity as Carl does. |
|
Weak references? How does the mechanism integrate with garbage collection? Why any references at all? Again, Carl implicitly assumes the user is stupid enough to want to chase pointers. |
|
- Assuming I modify a class by adding a field. How does schema management work with the above engines? More incoherences. I disagree that it is incoherent. His question equates to asking how the type system would handle the addition of a new possible representation. And the answer is: "Very well, thank you." |
#44
| |||||
| |||||
|
|
Utterly incoherent question. |
|
Incoherent question. |
|
More nonsenses. |
|
More incoherences. |
|
Incoherent question. |
#45
| ||||||||||||||
| ||||||||||||||
|
|
Alfredo, All the points that Carl made that you answered "Utterly incoherent question" to are valid. Consistent object identity |
|
, dynamic locus of control, |
|
solid schema management |
|
, complex model support |
|
, incremental object faulting |
|
A few examples... If I navigate to a portfolios by way of a category index, |
|
like 'a -> pooled fund>acme>portfolio object', vs. a link from a financial instrument 'b - instrument>holding>portfolio object', I would expect that 'a' and 'b' would be the exact same object, not two instances of a portfolio that reference the same data. |
|
I'd like to be able to move where the code executes between the client and the server at will, without having to modify either code base. |
|
If I add an attribute the database should provide tools to make that change painless. |
|
So, if I now need a #contract instance variable to the Portfolio class, each instance of Portfolio should have the #contact variable added and initialized correctly. |
|
I need to be incremental in how much of an object I fault from to the client. So, when listing all the 'Pooled Funds', I only want the #name of each fund for the list. But, when I select I fund, I want the full object faulted. |
|
Schema changes: we built tools that use the solid GemStone classes to manage our model. |
|
Application refactoring is fundamental to our development process, so we change things all the time. GemStone is not a limitation to that development philosophy. |
|
All of these would be non-trivial with something like Oracle & DB2 (been there). |
#46
| |||
| |||
|
|
Bullshit! object identity is extremely important when implementing an object oriented system. |
|
Alfredo, all of the items that Carl has listed here are legitimate issues surrounding the development of applications with object databases. None of what he has written is "nonsense". |
#47
| |||
| |||
|
|
"Corey Brown" <corey (AT) spectrumsoftware (DOT) net> wrote Bullshit! object identity is extremely important when implementing an object oriented system. The Relational Model does not allow logical pointers. |
|
Alfredo, all of the items that Carl has listed here are legitimate issues surrounding the development of applications with object databases. None of what he has written is "nonsense". It seems you are as ignorant as Carl. |
#48
| ||||
| ||||
|
|
Carl is not assuming a network model. The question is quite valid. Obviously you have no idea what application identity means. |
|
Bullshit! This question has nothing to do with whether the DB is object or relational. If you don't think that caching is an important aspect of every database implementation, you are sadly mistaken. |
|
Why any references at all? Again, Carl implicitly assumes the user is stupid enough to want to chase pointers. Carl is assuming that the user is creating an application using an object oriented language, which rely heavily on object navigation through (pointer) references. |
|
Carl provides a very good product for use in applications where an object database makes sense. Get over it. |
#49
| |||
| |||
|
|
"Corey Brown" <corey (AT) spectrumsoftware (DOT) net> wrote Bullshit! object identity is extremely important when implementing an object oriented system. The Relational Model does not allow logical pointers. |
|
Alfredo, all of the items that Carl has listed here are legitimate issues surrounding the development of applications with object databases. None of what he has written is "nonsense". It seems you are as ignorant as Carl. |
#50
| |||
| |||
|
|
Bullshit! object identity is extremely important when implementing an object oriented system. The Relational Model does not allow logical pointers. But the client application needs to build objects from the relational data. Making sure you don't have duplicate instances is critical to an OO app. |
|
Now, if you're not using objects in your applications, that's fine too. But then why spend time on comp.database.object ? |
|
It seems you are as ignorant as Carl. Can we give this 'ignorant' thing a rest? Everyone is ignorant of something. |
![]() |
| Thread Tools | |
| Display Modes | |
| |