I just had the opportunity to spend some time with my four year old son at the doctor’s office. It was a painful experience, for my son as well as myself – but for different reasons. He was playing on the monkey bars, lost his grip and fell. A natural reaction when falling is to put out your hands to catch yourself (which in many cases is not the best idea but we do it anyway), which he did. For him, his pain began there when he injured his wrist. He wasn’t in writhing pain, and he was able to handle the pain without ibuprofen or Tylenol. Since he was still complaining about it after an hour or so, we called the doctor to get an appointment.
We arrived just before our appointed time (I left work to help out expecting the visit to be reasonable since we had an appointment) and took our place in the empty waiting room after signing the register. Forty minutes after our appointment time, I finally asked for an estimate. My pain had already begun, and my son’s pain was becoming more evident through the wailing and whining. Finally we were called back and they finally believed that he was in pain. The family practitioner was nice and professional. She seemed quite knowledgeable and seemed to care that he was in pain. ”Let’s get some x-rays takens,” she said. She then proceeded to instruct us to go to the hospital to get some x-rays taken. What? No x-ray machine at the office. Ok, so not all that unheard of, but I had become accustomed to being able to get x-rays at our previous doctors offices.
Down to the hospital we went. We had to fill out all the paperwork again, sit and wait again, and pay another co-pay (that is ridiculous). Once again the waiting room was empty and we had another forty minute wait. My son did great while getting the x-rays, but his patience was long expired by this point (mine was too but I hid it better). It took us all of two minutes to get the x-rays taken and be on our way back to the doctor’s office.
Once again we were waiting. This time there was one person in the waiting area and we sat for another 30 minutes. When we finally get called back again, we were in the room for a total of 10 minutes before we were headed home for the day. We had an appointment at this time to see the orthopeadic specialist on the other side of town – today at 13H00. And then we were told we would need to get a copy of the digital x-rays that had been taken (why we had to get a copy of the films when they were digital – who knows). Thus another trip to the radiologist.
While waiting all this time, I pondered on what it would be like in the DBA world if we were like doctors. Imagine using cursors and loops that cause long time delays, and being specialized in what we do. The DBA department could have a stored procedure writer, an index creator, a schema creator, a performance tuning specialist, a report writer, a corruption specialist, etc. In the medical profession it is somewhat necessary. Is it necessary in the database world?
Envision the scenario where a business user comes to the department requesting that a report be written. The report writer couldn’t do it by himself. He would need to spec out the requirements, submit them to the proc writer. The proc writer would write the stored procedure and then submit to the performance tuning specialist who would invoke the indexing specialist. Then the proc could be given back to the report writer who would work on producing the report based on the proc. If a problem were encountered, the report writer would iterate through the loop of the DBA department until the report was working as desired. Then finally get it back to the end-user. This is a bit how I felt with the doctor. I felt like I was stuck in loop that was deadly slow and consumed far too many resources.
That kind of system doesn’t portray information sharing and teamwork to me. There are plenty of cases where having people who do different functions within the database team is necessary and efficient. In these types of systems there is knowledge sharing and cross-training in many cases. A report writer may write a stored procedure and performance tune it in some cases – thus making it somewhat efficient. I just hope that the DBA profession does not become hyper-specialized like the medical field such that huge delays and endless loops are forced upon the end-user.