Get Some Cross Training Today

  • Comments posted to this topic are about the item Get Some Cross Training Today

  • Although I believe that some cross-training is certainly necessary on the part of DBAs and hardcore SQL Developers, what I'd really like to see is more of those folks learning more about their own jobs according to what I've seen on these very forums and on the job (especially during interviews) over the years. 😉

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • While I've had more than one employer that's been reluctant ("loath") to provide training resources to employees, I'm not sure I have worked for any that truly hated ("loathed") it.

    ~~ Everything in moderation, including moderation. ~~

  • I'd say that part of the need for 'cross-training' comes from hiring overspecialized people to begin with - which the market in the past couple decades has tended towards.

    Programmers who know only one language are an obvious manifestation, DBA's that don't know anything about storage hardware are another.

    At a low level, I expect entry level employees to have these limitations. At a very high level, there are going to be people who have limited knowledge outside their specialties, but be really, incredibly good within them.

    At the medium, high, and very high levels, I fully expect people to start or continue branching out. DBA's should branch out into some or all of SQL development, development practices in general, storage architecture, SAN design, systems engineering, and network engineering (including storage networks). Programmers should learn other languages, other ways of doing things.

    Everyone should learn low level details - it all boils down to storage/memory access, a little math, and IF GOTO with branch prediction, at the processor level.

  • I understand how networks work, it seems to be mandatory now a days at home with everyone having their own computers.

    I would like to learn more about NAS/SAN storage, but how deep does a DBA really need to go? Personally, just knowing enough how they are used and configured would be where I would like to go, but I don't know if I need to be able to actually go in and configure these devices.

  • Lynn Pettis (4/9/2012)


    I understand how networks work, it seems to be mandatory now a days at home with everyone having their own computers.

    I would like to learn more about NAS/SAN storage, but how deep does a DBA really need to go? Personally, just knowing enough how they are used and configured would be where I would like to go, but I don't know if I need to be able to actually go in and configure these devices.

    I wouldn't say a DBA needs to know how to configure any specific device, but I would say that a DBA needs to know more than old DBA tales like "RAID 10 good, RAID 5 bad".

    Everyone will have different opinions, but I'd roughly start out as

    OS level fragmentation, LUN vs. RAIDset vs. spindle definitions, SQLIO or other detailed benchmarking, general cache effects, reading and interpreting Perfmon and SQL performance metrics, sector and stripe sizes, partition/LUN/etc. alignment, and potential bottlenecks from drive head to output data.

    Of all of this, knowing the possibilities and being able to benchmark well are the two most important; if you can benchmark many configurations, then you'll understand your own environment, and have the capability to make rational choices. Benchmarking well is difficult, especially benchmarking fragmentation effects; too many fragmentation techniques leave sequential fragments filled in non-randomly, often over a small enough area that cache effects play a large part in their results.

    While a DBA doesn't (always) have to be a SAN engineer, at companies with SAN engineering, a DBA should be able to have a technical conversation with one, be able to understand the SAN configuration that's being set up/was inherited, be able to suggest the pros and cons of different configurations (dedicated vs. shared spindles at varying levels of granularity, different RAID levels for different database files), and be able to provide both best guess estimates and know how to run tests to provide reasonable evidence of whether a given performance issue has storage as a major contributing factor.

    Sometimes the DBA does have to be a SAN engineer, particularly at companies which don't have a lot of experience at databases on SANs; they're a special case in many ways, depending on workload. Averages don't matter as much if an expensive enough SLA is about peak latency. I've seen setups that ended up with spindled dedicated to "databases"... but with multiple Raidsets and LUNS for a given set of spindles, and those shared out such that major production OLTP databases, and development databases that run multi-million row queries share spindles, without any attempt at alignment. As a result, while each LUN was dedicated, at at an OS level everything looked fine, when one kicks off a multi-million row query, the OLTP performance suffered (SAN and server caches weren't large enough, either).

  • One additional element of employer sponsored(funded) training may be for the interested individual tie

    it(the discussion) to achieving business goals or maybe some project completion to skills improvement.

    Too many times when individuals have come to me wanting additional company sponsored training it had

    no links to their goals or job. Clearly not in the best interest of the company achieving it's goals.

  • I'm a trained minister. Does that count as "cross training?" (drum-roll please!)

    As far as DBAing goes, I'm not sure there's a solid line between "training" and "cross-training" without going completely outside the realm of IT, and even there it gets fuzzy at times.

    Knowing how your I/O channels work; how your SAN is configured (and how it should be configured - not necessarily the same thing); how your backups are being stored; how connections from the web servers are being done (pooling, ANSI settings, transaction management, et al); even how code is being written (SQL injection anyone?); and the differences you'll see between a dedicated source-agnostic DAL, a database API in the stored procedures layer, and inline SQL work, as well as mixed variations thereof; are all imporant things for a DBA to know. So does that mean you need to know at least a bit of software development, and is that "training" or "cross-training" if you do?

    A bit more extreme: Do you need to know how the business defines its data, as opposed to how database schemas define it? I'd say that would be useful, since it will impact database use. So does training in the departments with end users count as "training" in that case?

    How about legal issues? Does training on the subject of credit card security in a database count as training, or as cross-training? It's a legal issue, not a technical one. Same for various other compliance issues. Sarbanex-Oxley impact on data retention - training or cross?

    All of those things impact my job as a DBA. My whole job exists to support the business. I have no purpose as a DBA if my servers and databases aren't helping the business cut costs and increase income, remain legally compliant, et al. So training in anything that supports that seems a bit more direct to me.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • Ron Stettler (4/9/2012)


    One additional element of employer sponsored(funded) training may be for the interested individual tie

    it(the discussion) to achieving business goals or maybe some project completion to skills improvement.

    Too many times when individuals have come to me wanting additional company sponsored training it had

    no links to their goals or job. Clearly not in the best interest of the company achieving it's goals.

    I absolutely agree, or they might just want a free trip to Vegas on the company dime.:-D

    "Technology is a weird thing. It brings you great gifts with one hand, and it stabs you in the back with the other. ...:-D"

  • The concept of cross-training since has been applied in the military and professional sports since...well, forever. Nice to see Corporate America has come to the party.

    In other words...DUH!


    James Stover, McDBA

  • I have often found that most people have a hard enough time doing their own job competently, let alone someone elses. 😀

    "Technology is a weird thing. It brings you great gifts with one hand, and it stabs you in the back with the other. ...:-D"

Viewing 11 posts - 1 through 10 (of 10 total)

You must be logged in to reply to this topic. Login to reply