Re: Application logic and Business logic

From: Dmitry A. Kazakov (mailbox_at_dmitry-kazakov.de)
Date: 03/10/05


Date: Thu, 10 Mar 2005 16:12:53 +0100

On Thu, 10 Mar 2005 14:36:23 +0100, Alfredo Novoa wrote:

> On Tue, 8 Mar 2005 16:55:05 +0100, "Dmitry A. Kazakov"
> <mailbox@dmitry-kazakov.de> wrote:
>
>>> See Mikito's post, but it could use the code created by you either.
>>
>>Which shows (as expected) that the relational approach is unable to
>>multiply matrices any close to O(n^2).
>
> You can not derive any conclusion about the performance because you
> don't know anything the implementation.

Well, I forgot about AI connected to RDBMS with a telepathic sensor which
analyses what I want and then writes an optimal program solving it. Come
on, anything is better than searching for elements of a matrix in a 10GB
table.

>>> You have the very same issues if you have a distributed database used
>>> by DBMSless applications.
>>
>>Yes and no. Firstly, many things can be done on the caller's context,
>
> The same as if you use a distributed DBMS with a module that is a DLL.

Which connects to the server via TCP/IP. Come on.

>>because data are not forced to be in DB. Secondly, with advanced ADT I am
>>not bound to one representation.
>
> RDBMS's are infinitely superior doing that.

Start with putting two different types on integers in the same column of a
table!

>> I can have equivalent subtypes: String,
>>UTF8_String, EBCDIC_String, Remote_String. Because the whole system is
>>typed the actual string will be converted only when necessary. The client
>>may work directly in the remote representation.
>
> That's the same if you use a DBMS.

Is there any capable to deal with Unicode? Take any and add new charset
without modifying the DBMS!

>>> For instance container libraries tend to have a low abstraction level,
>>> when you choose a container you are choosing the physical
>>> implementation.
>>
>>Probably because it is known which implementation is better.
>
> But you can not know that because among other things the best
> implementation depends on the data contained in the database at each
> moment.

No it depends solely on the facts of linear algebra. General case matrix
multiplication

>>> If you use an RDBMS you only have a kind of persistent
>>> container and it might be implemented on many ways, and the
>>> implementation might change at any moment without affecting the
>>> applications (except the performance, of course).
>>
>>I see no difference. In fact RDBMS selects an implementation for me at
>>will. I have no influence.
>
> DBA's should be able to select and to change the implementation at any
> moment.

I'm proud of it, but it is not what I want. I want to multiply matrices in
O^2.

>>> Some SQL DBMS's mantain statistics about data and the optimizer uses
>>> the statistics to deduce what is the best access path to the data and
>>> the best algorithms to use at each moment. There are optimizers that
>>> learn how to optimize better with each query.
>>
>>This is because they select a wrong implementation. If I know which
>>implementation is optimal I don't need all that stuff.
>
> There are not optimal data structures. The best structure depends on
> each particular case. That's why physical independence and dynamic
> optimizers are necessary.

That's why DBs are so slow, they optimize. Good to know...

>>OK, what about writing drivers in Prolog?
>
> Prolog is not a very succesfully 4GL, but it would be even more stupid
> to write data management code in Ada.

Actually there are DBMS written in Ada.

>> Unfortunately programming is not
>>about representing facts.
>
> Data management is, and if computerized data management is not
> programming, who cares?

Me, I am a programmer.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


Relevant Pages

  • Re: OT: SQL
    ... as part of a dbms is so spectacularly bad I am speechless. ... they are talking about in data management. ... A dbms is a *general-purpose* data management ... CPU is a general purpose computing device, ...
    (sci.logic)
  • Re: OT: SQL
    ... as part of a dbms is so spectacularly bad I am speechless. ... they are talking about in data management. ... A dbms is a *general-purpose* data management ... CPU is a general purpose computing device, ...
    (sci.logic)
  • Re: Base Normal Form
    ... > everything into the dbms. ... while programming languages have had a much freer development path. ... it comes to what they can do with data management. ... is a disaster for scalability. ...
    (comp.databases.theory)
  • Re: Searching OO Associations with RDBMS Persistence Models
    ... RDB is about data structure an OO is about ... RDB is about data management and OO is about application ... The DBMS must enforce all the business rules. ...
    (comp.object)