IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Most of those are problems, not solutions.
Databases provide more than just "storage".... If you use them ONLY for storage, you are wasting them and probably reinventing many of these things from scratch or getting them from the OR tool. Thus, the OR tool becomes a half-ass database of it's own.


The OR tool takes over some of those functions because databases are themselves "half-ass" at many of them.

Example:

* Persistence
* State management
* Backup and replication of data


I fail to see how these 3 are different than the term, "storage". But I'll let you have a little padding in your list. Part of my point is that different DB's do replication (for example) differently, and deployers should be free to select a DB for such reasons. Instead, we have developers selecting which DB's they will support.

* Query languages or query ability
* Data computation/processing (such as aggregation and cross-referencing)
* metadata repository
* Access security
* Data rule enforcement or validation
* Multi-user contention management and concurrency (locks, transactions, rollbacks, etc.)
* Multi-language and multi-application data sharing


The last one is the only point I'll consider (multi-language). This is why, for example, many application-layer providers have drunk the XML Kool-Aid lately (although I think XML is overkill). Anyway, many O-R producers these days provide a socketed app that can serve multiple languages, or a DLL, or shared memory, or just connect components from dissimilar languages. It's not a hard problem--there are lots of options.

For the rest, I find it extremely cumbersome to perform any of those tasks within the data store. All of those concern business policies, which are modified often enough that they should be in application-level code. As businesses change, queries change, metadata changes, and security requirements change. Databases are well-known for sucking golf balls when these changes occur--they either:

1) force such concerns into SQL, which isn't powerful enough to handle it, or

2) introduce their own proprietary layer of "metadata", which an application developer then has to write a wrapper for anyway--we're back to the problem of writing Yet Another Wrapper module for each database we wish to support with our app.

both of which lead to

3) hiring another warm body just to manage "the database".

Placing these tasks into an app framework reduces cost, maintenance staff, and time-to-market. To repeat a mantra, "databases should be a commodity by now". If you disagree, then you've been suckling at the DB vendors' teats for too long. Separation of concerns is a Good Thing--DB's rock at storage, and suck at all those other things, doubly so in a hetero environment. One of the reasons they suck is that they try to be all things to all consumers.
New intense DBA and RDBMS bashing
I fail to see how these 3 are different than the term, "storage".


How exactly do you define "storage" then? Disk? RDBMS don't have to be based on disk. Many of them cache stuff in RAM, automatically. When I do an UPDATE query, I don't have to care about disks and caches in most cases. It is you OO'ers that seem to make a distinction between disk and RAM "state".

force such concerns into SQL, which isn't powerful enough to handle it


SQL is not meant to do *all* processing, nor does it have to in order to be useful. It is called "divide-and-conquer": The DBMS does what it does best and let code do the rest. It is not an all-or-nothing thing nor does it have to be.

Perhaps you just don't know how to use RDBMS effectively and would rather reinvent a tool rather than use one.

introduce their own proprietary layer of "metadata", which an application developer then has to write a wrapper for anyway--we're back to the problem of writing Yet Another Wrapper module for each database we wish to support with our app.


Like I said elsewhere, I am not yet convinced that an API can nearly completely wrap SQL except for the trivial. Even if one could, it does not have to be an OO wrapper and does not have to be an OR-mapper. A better solution from an app developer's perspective would be to target a specific dialect of SQL and then have something translate it to specific vendor dielects.

hiring another warm body just to manage "the database".


DBA's often do useful things such as tune performance, manage backups, make sure good schema design is used, apply data integrity rules, and that normalization is applied. Good normalization is pretty much the same as "once-and-only-once", which should be done on ANY "noun model".

Most biz data is used by multiple applications in multiple languages. Either you maddly replicate all over the place, or you hire SOMEBODY that does DBA-like work to manage the central repository. Whether you give them another name or divide up those tasks amoung app developers, somebody has to do it.

Placing these tasks into an app framework reduces cost, maintenance staff, and time-to-market.


If you want RAD and don't give a crap about sharing the data with other systems and tools (for whatever odd reason), then use FoxPro with native DBF files.
________________
oop.ismad.com
Expand Edited by tablizer May 22, 2004, 07:36:21 PM EDT
New ..heh. Only because they deserve it. ;)
Like I said elsewhere, I am not yet convinced than an API can nearly completely wrap SQL except for the trivial. Even if one could, it does not have to be an OO wrapper and does not have to be an OR-mapper. A better solution from an app developer's perspective would be to target a specific dialect of SQL and then have something translate it to specific vendor dielects.


"better solution" because...? Status quo?
New re: Only because they deserve it.
"better solution" because...? Status quo?


Better solution because:

1. A good many developers already know SQL.

2. They don't have to deal with Yet Another Layer of APIs.

A vendor-neutral SQL translator can solve most or all the problems you claim direct SQL causes.
________________
oop.ismad.com
New I assume you already expect my response:
1. A good many developers already know OO.

2. They don't have to deal with SQL at all.

Your solution has application developers working with at least two layers, where my solution has only one layer. *Framework* developers may deal with two, but not *application* developers. This is what we mean by making the storage layer "transparent".
New I will agree that...
RDB fans tend to dislike OO and OO fans tend to dislike RDB's. They have been fighting on places like C2 Wiki long before I made my presence known there. OO fans tend to be code-centric thinkers and relational fans tend to be declarative (data-driven) thinkers.

Note that liking OO does not mean you automatically know a given O-R framework off the mark.
________________
oop.ismad.com
New I've never claimed that _every_ O-R mapper is chicken soup
Note that liking OO does not mean you automatically know a given O-R framework off the mark.


True, but when it's bloody simple... the Dejavu "O-R framework" comes down to:

1. Units, which you subclass for your core data, and which only have three methods most app developers will use:
    a. set_property (a classmethod)
    b. memorize (makes a new Unit object persistent)
    c. forget (destroys a Unit)

and

2. A namespace, which manages Units. That only has three methods:
    a. associate(class, key, far_class, far_key), which oddly enough associates two Unit classes;
    b. recall(class, expression), and
    c. unit(class, ID=?), both of which retrieve Units

and

3. logic.Expression(<Python expression>), which makes an object out of an expression.

...all Python, all the time. I admit that if you've done all your OO in Java, then you have to learn Python to use Dejavu. But c.l.p. is replete with stories of programmers, both novices and experts, picking up 95% of Python within a week or two--it's designed to be easy to learn, natural, and expressive.

I don't see any of this as "bloatware".
New Most people can at least read Python within 5 minutes.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Whatever
________________
oop.ismad.com
     Have I mentioned lately that Python is BITCHIN??? - (FuManChu) - (167)
         The solution is to toss OO to begin with, not Python - (tablizer) - (166)
             Re: The solution is to toss OO to begin with, not Python - (admin) - (11)
                 not today -NT - (tablizer) - (2)
                     *BLAM BLAM* *VROOOOOooooommm.....* -NT - (pwhysall) - (1)
                         and when you do the same? -NT - (tablizer)
                 Bloat explanation - (tablizer) - (7)
                     Not what I meant. - (admin)
                     That's a very table-centric point of view - (FuManChu) - (5)
                         Of course. Tables rock. Code is ugly. - (tablizer) - (4)
                             Snort. - (FuManChu) - (1)
                                 Re: Snort - (tablizer)
                             So now you're down on "skinny" tables? - (ben_tilly) - (1)
                                 Re: So now you're down on "skinny" tables? - (tablizer)
             Not sure what you're pushing for. - (FuManChu) - (153)
                 Software engineering is gambling - (tablizer) - (152)
                     The only thing this app does is business modeling. -NT - (FuManChu) - (151)
                         I meant showing me code, not anecdotes -NT - (tablizer) - (150)
                             Ironic, considering how much code *you* have shown... -NT - (ben_tilly) - (9)
                                 Wonder how the L Compiler is getting on? -NT - (pwhysall) - (6)
                                     It's Late. - (admin) - (5)
                                         I was wondering where the L it was. -NT - (pwhysall)
                                         The P game - (tablizer) - (3)
                                             Re: The P game - (admin) - (2)
                                                 you still have no evidence of betterment - (tablizer) - (1)
                                                     No, you compare it. - (admin)
                                 The burden of evidence is on you - (tablizer) - (1)
                                     And what claim did I ever make? - (ben_tilly)
                             Well, here's the thing - (FuManChu) - (139)
                                 Unicorns - (tablizer) - (138)
                                     OT: Have you been reading Groklaw tonight too? - (Another Scott)
                                     General description - (FuManChu) - (136)
                                         SQL wrapper? - (tablizer) - (135)
                                             Generic SQL wrapper API - (admin) - (30)
                                                 I see bloated people - (tablizer) - (29)
                                                     Er... - (admin) - (19)
                                                         re: Er... - (tablizer) - (18)
                                                             Nice attempt - (admin) - (17)
                                                                 re: Nice attempt - (tablizer) - (13)
                                                                     re: Nice attempt - (admin) - (12)
                                                                         Forgot to add: - (admin)
                                                                         Aieee! Actual code! HOW DARE YOU!!! -NT - (pwhysall) - (10)
                                                                             Making it interesting - (ChrisR) - (9)
                                                                                 Heh. I think Bryce would rather have someone else write it - (FuManChu)
                                                                                 Don't you know? - (Arkadiy)
                                                                                 Putting words in my mouth - (tablizer) - (6)
                                                                                     Actually, what you said was: - (admin)
                                                                                     Re: Putting words in my mouth - (admin)
                                                                                     Code Talks. Bryce Walks. - (ChrisR) - (3)
                                                                                         I shall consider it -NT - (tablizer) - (2)
                                                                                             Thanks. - (ChrisR)
                                                                                             If you don't... - (admin)
                                                                 RE: Are you willing to admit this yet? - (ChrisR) - (2)
                                                                     Even OO fans are mixed about OR-mappers - (tablizer) - (1)
                                                                         Looks pretty specific. - (admin)
                                                     In Dejavu, one would write: - (FuManChu) - (8)
                                                         Re: In Dejavu, one would write: - (JimWeirich) - (2)
                                                             An earlier version was like that. - (FuManChu) - (1)
                                                                 Forgot: code links - (FuManChu)
                                                         ICLRPD - (drewk)
                                                         Why learn and/or create another query language? - (tablizer) - (3)
                                                             In case you missed it: - (FuManChu) - (2)
                                                                 only for the trivial - (tablizer) - (1)
                                                                     There are multiple ways of doing that... - (FuManChu)
                                             LCD *for my framework* - (FuManChu) - (103)
                                                 RDBMS > "data store" - (tablizer) - (102)
                                                     Re: RDBMS > "data store" - (admin) - (92)
                                                         still have not justified yet another tool/layers - (tablizer) - (91)
                                                             Re: still have not justified yet another tool/layers - (admin) - (90)
                                                                 before and after - (tablizer) - (89)
                                                                     Re: before and after - (admin) - (88)
                                                                         Then why have an OR-mapper middleman? -NT - (tablizer) - (87)
                                                                             Because: - (admin) - (86)
                                                                                 I forgot about query caching--a big part of my other app. -NT - (FuManChu)
                                                                                 Those are problems that OO introduces - (tablizer) - (84)
                                                                                     Re: Those are problems that OO introduces - (admin) - (83)
                                                                                         response - (tablizer) - (82)
                                                                                             Re: response 1 - (admin) - (3)
                                                                                                 Looks like a lot of beurOOcracy to me - (tablizer) - (2)
                                                                                                     Not claiming "victory" - (admin)
                                                                                                     Let's see your version, then. -NT - (pwhysall)
                                                                                             Re: response 2 - (admin) - (16)
                                                                                                 Re Re: response 2 - (tablizer) - (15)
                                                                                                     HQL is a superset of SQL - (admin) - (13)
                                                                                                         re: HQL is a superset of SQL - (tablizer) - (12)
                                                                                                             re: HQL is a superset of SQL - (admin) - (11)
                                                                                                                 Forced to use A to get B? Tsk tsk tsk. How MS of them. -NT - (tablizer) - (10)
                                                                                                                     You miss the point, anyway. - (admin) - (9)
                                                                                                                         I am not necessarily disagreeing with that here - (tablizer) - (8)
                                                                                                                             Re: I am not necessarily disagreeing with that here - (admin) - (7)
                                                                                                                                 not my burden of evidence - (tablizer) - (6)
                                                                                                                                     Wrong. - (admin) - (3)
                                                                                                                                         exist != good - (tablizer) - (2)
                                                                                                                                             Existence beats Non-Existence -NT - (ChrisR)
                                                                                                                                             I've already shown you. - (admin)
                                                                                                                                     Hm. So I can make any claim and force you to prove me wrong? - (FuManChu) - (1)
                                                                                                                                         Actually, what he said was: - (admin)
                                                                                                     Persistence vs. reporting - (admin)
                                                                                             Re: response 3 - (admin) - (55)
                                                                                                 Re Re: response 3 - (tablizer) - (54)
                                                                                                     Caching - (admin) - (2)
                                                                                                         Re: caching - (tablizer) - (1)
                                                                                                             Er, no it isn't. - (admin)
                                                                                                     Serial changes - (admin) - (50)
                                                                                                         "Bound" fields - (tablizer) - (49)
                                                                                                             No, no integration. - (admin) - (48)
                                                                                                                 re: No integration - (tablizer) - (47)
                                                                                                                     re: No integration - (admin) - (46)
                                                                                                                         So you want to see an Iwethey clone? - (tablizer) - (45)
                                                                                                                             I'd prefer you answer the points first. - (admin) - (44)
                                                                                                                                 We need code, not brochure-talk, to settle this - (tablizer) - (43)
                                                                                                                                     Re: We need code, not brochure-talk, to settle this - (admin) - (42)
                                                                                                                                         Is that part of iwethey? -NT - (tablizer) - (1)
                                                                                                                                             Yes. -NT - (admin)
                                                                                                                                         questions and comments - (tablizer) - (39)
                                                                                                                                             Reading comprehension? - (ben_tilly) - (2)
                                                                                                                                                 What is your complaint? - (tablizer) - (1)
                                                                                                                                                     Why not eliminate everything that is only a bonus? - (ben_tilly)
                                                                                                                                             Then don't bother. - (admin) - (16)
                                                                                                                                                 Fine. It is not "bloated". Just unknown. - (tablizer) - (15)
                                                                                                                                                     That's all I needed. - (admin) - (8)
                                                                                                                                                         Probably not telling you anything you don't already know... - (ChrisR) - (5)
                                                                                                                                                             I take it you mean... - (admin) - (1)
                                                                                                                                                                 Yep = That's what I meant - (ChrisR)
                                                                                                                                                             Re: Probably not telling you anything you don't already know - (JimWeirich) - (2)
                                                                                                                                                                 My memory is too taxed - (ChrisR)
                                                                                                                                                                 Memory Lane - (tablizer)
                                                                                                                                                         re: That's all I needed. - (tablizer) - (1)
                                                                                                                                                             re: That's all I needed. - (admin)
                                                                                                                                                     Caching - (admin)
                                                                                                                                                     Login checks and declarative processing - (admin) - (4)
                                                                                                                                                         re: Login checks and declarative processing - (tablizer) - (3)
                                                                                                                                                             re: Login checks and declarative processing - (admin) - (2)
                                                                                                                                                                 re re: Login checks and declarative processing - (tablizer) - (1)
                                                                                                                                                                     Re: Login checks and declarative processing (new thread) - (admin)
                                                                                                                                             I18N - (admin) - (18)
                                                                                                                                                 You are WRONG! - (tablizer) - (17)
                                                                                                                                                     My my, I touched a raw nerve, apparently. - (admin) - (16)
                                                                                                                                                         Grep is no substitute for clean, normalized data - (tablizer) - (15)
                                                                                                                                                             Re: Grep is no substitute for clean, normalized data - (admin) - (14)
                                                                                                                                                                 Depends on the scale - (tablizer) - (13)
                                                                                                                                                                     You've never used CVS either, have you? -NT - (FuManChu) - (3)
                                                                                                                                                                         No, only MS sourcesafe -NT - (tablizer) - (2)
                                                                                                                                                                             *shudder* - (admin) - (1)
                                                                                                                                                                                 Not my pickings -NT - (tablizer)
                                                                                                                                                                     Re: Depends on the scale - (admin) - (8)
                                                                                                                                                                         no no no - (tablizer) - (7)
                                                                                                                                                                             Re: no no no - (admin) - (6)
                                                                                                                                                                                 Doing my part to promote right shifting - (ChrisR) - (3)
                                                                                                                                                                                     "Oh goody, a new framework for xmas!" - (tablizer) - (1)
                                                                                                                                                                                         Re: "Oh goody, a new framework for xmas!" - (admin)
                                                                                                                                                                                     Internationalization (new thread) - (admin)
                                                                                                                                                                                 admin - (tablizer) - (1)
                                                                                                                                                                                     Resource files (new thread) - (admin)
                                                                                             Re: response 4 - (admin) - (3)
                                                                                                 Lock-in is lock-in - (tablizer) - (2)
                                                                                                     Query caching is a feature of JDBC - (admin) - (1)
                                                                                                         Yes - (tablizer)
                                                                                             Re: response 5 - (admin)
                                                     Most of those are problems, not solutions. - (FuManChu) - (8)
                                                         intense DBA and RDBMS bashing - (tablizer) - (7)
                                                             ..heh. Only because they deserve it. ;) - (FuManChu) - (6)
                                                                 re: Only because they deserve it. - (tablizer) - (5)
                                                                     I assume you already expect my response: - (FuManChu) - (4)
                                                                         I will agree that... - (tablizer) - (3)
                                                                             I've never claimed that _every_ O-R mapper is chicken soup - (FuManChu) - (2)
                                                                                 Most people can at least read Python within 5 minutes. -NT - (admin) - (1)
                                                                                     Whatever -NT - (tablizer)

Powered by a Shining Ingot of Ineptium!
438 ms