| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Which Database (MySQL, Oracle, mSQL, Protgress etc.)
[geoff_at_innov8cs.com (Geoff Crawford)]
| >
| >I cannot possibly imagine how your day looks or what you do for a
| >living so from your point of view it might be natural for the DBA to
| >develop applications.
|
| I do view it as a sad statement, and yes if you know more about what
| my day looks like then perhaps you will understand.
...which was basically what I assumed.
| I, and other similar developers around me, amd responsible for the
| entire application development from top to bottom.
the problem is that not all projects are small enough for one person to manage or even understand fully. if one person can keep the whole problem set within sight and work on all aspects of the solution, that is in fact a lot simpler than when the size of the project dictates that no one person will have the time to involve himself in every aspect of the solution.
small projects that can be managed by one person permits a wider range of "methods" to be used -- in larger projects however, you need to think differently; usually you try to accomplish two things:
this often means that the DBA takes care of the database, while the application developer treats the database more or less as a black box. of course some knowledge of the database is needed, but the details can be left to the DBA -- and it should be left to the DBA.
| That includeds what other sites consider DBA work. Since our
| environment dictates at most an average of 15 minutes of DBA type
| work a day, there's no reason we cannot accomplish these tasks in
| addition to our regular duties.
I'm not sure we agree on what the DBA actually does. in my opinion the DBA does system administration tasks like ensuring that the server runs and that backups are okay, but the DBA is also responsible for knowing the structures inside the databases, knowing how to optimize the databases and working with the developers in a supportive role.
| I agree about the team concept as you desrcribed. It's just my
| experience that the DBA and the developer are the same person.
some times they are, some times they aren't. for small projects I have often taken on the DBA role myself, but I find that it distracts me from the "real work", which is to build an application. when taking on the DBA role myself I spend time optimizing database interaction, making decisions about indexes and query strategies and figure out problems that come up related to the server itself. I've even found myself writing software to analyze tables and relations in order to anticipate locking and performance problems before altering or inserting new tables, relations or triggers.
on larger projects not everyone can know everything all the time. on larger projects you design APIs and try to hide detail behind abstraction.
| It's better that way because the database design and implmentations
| gets done by the same person that designs the application. The more
| that is done as an integrated whole produces better systems, IMO.
this works for small systems, but it doesn't scale well when you want to build a system that may involve many "man-years" of work. not only will developers have to stay up-to-date on a lot of information, which produces a significant overhead, new project members will have to spend a lot of time understanding the system before they can become productive.
| >the DBA is typically a service role. this is the person that knows
| >how the database works and who makes sure that a) the database is in
| >good shape, b) the developers don't do stupid things, c) makes sure
| >that tables, indexes, clusers etc are optimized.
|
| This is where our experiences differ, and why I see the above
| statement as sad. A developer should know about the indexes. He's
| the guy who's got to use them, he knows about how the application is
| going to access data. Those two functions are best combined. (and
| then the developers stop doing stupid things)
I think it is more fruitful for the application developer to describe the way he would like to interact with the database and then leave optimalization to the DBA.
-Bjørn
-- Bjørn Borud <borud_at_guardian.no> | "The Net interprets censorship <URL:http://www.pvv.unit.no/~borud/> | as damage and routes around it." UNIX person, one of "them" | - John GilmoreReceived on Thu Feb 26 1998 - 00:00:00 CST
![]() |
![]() |