Slashdot Mirror


Ask Slashdot: Changing Career From OLTP To OLAP Dev

First time accepted submitter xby2_arch writes "After spending over 12 years writing OLTP applications (Java EE/JDBC/ORMs), I decided to dabble in the OLAP world. I had decent DB skills, considering most of my previous projects had involved data modeling and coding using Stored Procs, etc. Yet I hadn't designed or implemented any dimensional databases. Luckily for me, I had enough relevant domain knowledge to land a developer job in a data warehousing project. The work was enjoyable enough that it motivated me to spend that extra time and effort I needed to cope with the different dynamics of coding in the OLAP realm. In my past life, data volumes weren't the primary concern (instead, transaction volumes were), here, everything was about data. ETL/Integrations present another set of problems you generally skirt in a typical web/app-tier developer role. All in all, it turned out to be a non-trivial, yet worthwhile transition. I am certain that there are plenty of seasoned developers out there who plan to make a similar move (or have made already), who see data as the next chapter in their careers evolving toward becoming Enterprise Architects. I want to hear what's holding them back, or what helped them move forward. What should be considered a prerequisite to make this switch, and what are the risks, etc.?"

129 comments

  1. Welcome to Slashdot by Anonymous Coward · · Score: 5, Funny

    Please stand by while the trolls try to figure out how to respond to your question.

    In the meantime, you should expect about 50 posts by PHP developers asking what a stored proc is, and suggesting you move to RoR if you want an ORM.

    1. Re:Welcome to Slashdot by hedwards · · Score: 4, Funny

      The OP should quit his job.

    2. Re:Welcome to Slashdot by alphatel · · Score: 1

      On behalf of the trolls I would like to ask, why are you anonymous?

      --
      When the foot seeks the place of the head, the line is crossed. Know your place. Keep your place. Be a shoe.
    3. Re:Welcome to Slashdot by Anonymous Coward · · Score: 0

      I think they're acronyms that you use to blind the juniors into believing that you're working hard and know what you're talking about, while you spend six months reading Slashdot and trying to get management to pay for your next jaunt to LISA.

    4. Re:Welcome to Slashdot by defcon-11 · · Score: 1

      Anyone who works at a business that hires employees with the title 'Enterprise Architect' should probably quit their job.

    5. Re:Welcome to Slashdot by Anonymous Coward · · Score: 1

      So we can post stupid answers and not lose karma...duh.

    6. Re:Welcome to Slashdot by cayenne8 · · Score: 1

      Anyone who works at a business that hires employees with the title 'Enterprise Architect' should probably quit their job.

      Why?

      Those positions usually pay quite well...

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    7. Re:Welcome to Slashdot by Anonymous Coward · · Score: 0

      agreed. E.E.s actually do a lot more than paperwork. And they pay is rather comfortable.

    8. Re:Welcome to Slashdot by Anonymous Coward · · Score: 0

      Anyone who works at a business that hires employees with the title 'Enterprise Architect' should probably quit their job.

      Interesting viewpoint! I'm the Architect at my place of business; would you care to elaborate?

      Generally my work makes programmers and sysadmins happy, since I spend a lot of time telling the PHBs to shut up and actually listen to the experts they've hired.

      Maybe your architect sucks? Or maybe you don't have any suits that need to be kept out of technicians' hair? Or you don't have any arguments between technical departments that need to be sorted? Do tell, I'm all ears.

  2. Define, please? by danaris · · Score: 0

    So, um, what the crap are OLTP and OLAP?

    (And yes, this marks me as hopelessly undereducated, and obviously a fool who doesn't know anything about Real Programming. So sue me. Just tell us what they are, too, please?)

    Dan Aris

    --
    Fun. Free. Online. RPG. BattleMaster.
    1. Re:Define, please? by betterunixthanunix · · Score: 4, Informative

      You know, we can always check Wikipedia for definitions:

      https://en.wikipedia.org/wiki/OLTP
      https://en.wikipedia.org/wiki/OLAP

      It might have been nice if the editors had included these links in the summary, but it is not as though you do not know how to use Wikipedia.

      --
      Palm trees and 8
    2. Re:Define, please? by Anonymous Coward · · Score: 1

      OLTP is designing a database schema that is normalized for more robust and maintainable data storage. OLAP is denormalized to make it easier to produce pretty charts that managment can understand without having to think too hard about their select statements.

    3. Re:Define, please? by Koen+Lefever · · Score: 5, Informative

      OLTP: Online Transaction Processing: you buy a ticket, you want it immediatly. The seller types it in the computer and prints your ticket, a database checked if there were free seats and immediatly reserves one. "Immediatly" is the important word, the customer is not waiting. OLAP: Online Analytical Processing: How many seats from the US to EMEA have been sold by that kind of sellers with such produyt code. Managements wants the results by the end of the month, it is OK if the query runs a couple of hours/days. Many real life systems contain two databases, one tuned for speed (containing only the current tickets) and one for reference later (containing all tickets sold in the past n months/years). The difference between them is database tuning and SQL tuning. All the rest (such as path to architect: yeah, the more different systems you know, the more chance you will have to design new ones) is hype.

      --
      /. refugees on Usenet: news:comp.misc
    4. Re:Define, please? by FoolishOwl · · Score: 3, Insightful

      While it's a fair point that Wikipedia is an obvious starting point, I would have to say that the article on OLAP seems to suggest that OLTP is a synonym for OLAP, and the article on OLAP is short but dense. I'm left with an impression that there's a distinction being made between two approaches for constructing end-user interfaces to databases, but what the distinction between OLTP and OLAP is still unclear to me, and I don't have any idea why the distinction would be so significant as to constitute a career transition.

    5. Re:Define, please? by UnknowingFool · · Score: 3, Informative

      The difference between them is database tuning and SQL tuning. All the rest (such as path to architect: yeah, the more different systems you know, the more chance you will have to design new ones) is hype.

      That's like saying web coding is the same as application coding and the main difference is just languages used. There is a huge difference in the goals and methodology of OLTP and OLAP. DB and SQL tuning is a small part of the larger scheme of things. Take for instance your example of tickets; you can get an OLTP to show how many seats from US to EMEA by seller. It may not be very easy especially as you add conditions (by quarter, by day of week of travelled, by day of week sold, etc). In OLAP these questions become important and you have to design your DB structure to accommodate them and other queries. It also matters how this information is reported by tool as not all tools can take advantage of DB features. After all that then DB and SQL tuning comes into play.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    6. Re:Define, please? by emj · · Score: 1

      I think that was that he ment by tuning. Just the small matter of programming you know..

    7. Re:Define, please? by Anonymous Coward · · Score: 0

      OLTP is designing a database schema that is normalized for more robust and maintainable data storage. OLAP is denormalized to make it easier to produce pretty charts that managment can understand without having to think too hard about their select statements.

      I misread "denormalized" as "demoralized" at first, and interestingly enough, the message is still the same.

    8. Re:Define, please? by Anonymous Coward · · Score: 5, Informative

      If it's on the main page the target audience is pretty general, so you really shouldn't have to check Wikipedia. You should ALWAYS tell people what acronyms mean before using them exclusively. And if you have time enough to be an arrogant *&$# while posting links to Wikipedia you could also take the time to spell out what the acronyms mean. At the very least give the long form, e.g. Online Transaction Processing (OLTP), Online Analytical Processing (OLAP). See it's not that fucking hard.

      And since I am taking the time to rant (and because any technical article in Wikipedia gets hijacked by propellor heads who like to inject as much as of their industry specific double speak so that they sound important and a layman can't get at least an understandable overview in the summary):

      OLTP - Online Transaction Processing. An application/database designed for larger, equal, or nearly equal volumes of database inserts, updates, and deletes, as there are reads. The database is generally more (and often highly) normalized, meaning that there is less data duplication across tables and/or within tables.
      OLAP - Online Analytical Processing. Essentially a data warehouse designed for larger volumes of reads than there will be inserts, updates, or deletes (often relatively very, very few deletes). Less normalized meaning that there may be duplicated data across and/or within tables in order to increase query speed at the cost of possible consistency issues due to the data duplication.

    9. Re:Define, please? by kurthr · · Score: 4, Informative

      OLTP - Online Transaction Processing. An application/database designed for larger, equal, or nearly equal volumes of database inserts, updates, and deletes, as there are reads. The database is generally more (and often highly) normalized, meaning that there is less data duplication across tables and/or within tables.
      OLAP - Online Analytical Processing. Essentially a data warehouse designed for larger volumes of reads than there will be inserts, updates, or deletes (often relatively very, very few deletes). Less normalized meaning that there may be duplicated data across and/or within tables in order to increase query speed at the cost of possible consistency issues due to the data duplication.

      Mark this informative comment the hell up!
      And smash my Karma if you want to, but the (four letter) acronyms really didn't help the article much.

    10. Re:Define, please? by UnknowingFool · · Score: 1

      Tuning is optimization. Tuning is not design. In the example he gave, the OLTP database table may have SellerId, TravelDate, PurchaseDate, and CustomerId. The OLAP for his single report would have SellerId, MondayPurchases, TuesdayPurchases, etc. And that's if the OLAP architect decided to make a report into a single table. The OLAP architect may decide that the structure must accommodate many more queries. The OLAP architect may determine that a relational table isn't good enough and cubes should be used. The all queries must be written in MDX and not SQL. There is a much larger disparity in OLTP and OLAP than most people think.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    11. Re:Define, please? by Anonymous Coward · · Score: 0

      That's like saying web coding is the same as application coding and the main difference is just languages used.

      But it is. Anyone who says otherwise is just a crap developer.

    12. Re:Define, please? by SplashMyBandit · · Score: 1

      Sometimes though when people abbreviate you can get more than one abbreviation that fits the context. This is worse the more you know, as there are more ways you can see an abbreviation could possibly fit. The solution, of course, is for the original poster (OP) to define the abbreviation the first time they use it. That's a good rule of thumb for technical writing, and just as good on Slashdot too :)

    13. Re:Define, please? by secretsquirel · · Score: 0

      cubes is just a type of relational design (or at least it should be)

    14. Re:Define, please? by UnknowingFool · · Score: 1

      An OLAP cube is not a relational DB. Some cubes are built on Relational DBs like Essbase running under Oracle but OLAP Cube Servers are often separate purchases.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    15. Re:Define, please? by Anonymous Coward · · Score: 0

      OTOH, if you don't know what the acronyms mean, you're not exactly going to have anything to say about the question.

      Other than to troll people for not spelling out the thing you're ignorant of.

    16. Re:Define, please? by Koen+Lefever · · Score: 1

      I agree with most of your points. Of course there is more to it. I apologise for not including the programmers, table designers, network folks, etc... among the non-hype, my bad. On the mixed installations I've been working on, the systems to pump data from OLTP to OLAP were for example most intricate.

      The cubes etc... were done by middleware or client software, underneath it everything was relational. The tables were remodelled versions of the production systems: big item table, huge item_detail table, a bunch of reference tables with product codes, customer adresses and hour tables. The ways in which the tables were physically implemented, regarding partitions etc..., was different between OLTP & OLAP, but using the same kind of RDBMS (Oracle, Sybase, PostgreSQL, etc...).

      The OLAP queries were not written by programmers. They were generated by management and analyst, using drag & drop in the client software. Manual SQL tuning of those generated queries easily results in an increase of execution speed by factor ten, from 50 hours to well below 5 hours.

      I was being provocative in my formulation because the OP was in my opinion flowing a bit too much with the hype. The point I tried to make concerning the original "Ask /. question" was: switching between OLTP & OLAP is just learning some new tools and techniques, which is always a good thing - just don't listen too much to marketing when deciding what your carreer will be (unless if you want to have marketing carreer, then by all means go ahead). There is no "carreer change" from OLTP to OLAP, it is just more of the same: data in, data stored, data retreived, data out, data processed, old data purged or perhaps archived, backups taken.

      --
      /. refugees on Usenet: news:comp.misc
    17. Re:Define, please? by Koen+Lefever · · Score: 1

      I think that was that he ment by tuning. Just the small matter of programming you know..

      Absolutely.

      --
      /. refugees on Usenet: news:comp.misc
    18. Re:Define, please? by Anonymous Coward · · Score: 0

      Although you could develop your quoting method a bit. ;)

    19. Re:Define, please? by Anonymous Coward · · Score: 0

      Except if you try to get that info out of the production OLTP system, if the query sucks up resources that impact those transactions, someone is not going to be very happy. You, as the data analyst, would be expected to pull that query from some form of a reporting database, whether it be an actual OLAP database, a datacube, data warehouse, 1-day-old snapshot, whatever.

      An "OLAP" database at its core is a database where data is stored already summarized in one form or another starting at the lowest desired summary levels (such as aggregate tickets sold per flight, count of tickets sold days before the flight, how early people checked in their tickets, etc.), with the goal of making reporting take as little time as possible (which is different than having transactions take as little time as possible).

    20. Re:Define, please? by ulski · · Score: 1

      That reading disorder of yours, would be one of the side effects from when we had you deneurolized

    21. Re:Define, please? by Concerned+Onlooker · · Score: 1

      "OTOH, if you don't know what the acronyms mean..."

      Is that supposed to be some kind of joke?

      --
      http://www.rootstrikers.org/
    22. Re:Define, please? by mhelander · · Score: 2

      Well explained. I'dd only add something about where each of them fits. Roughly, to the best of my experience, Online Transactional Processing is for supporting business activity such as when customers place orders. The order is recorded first in the OLTP database for being processed by shipment systems etc. When the order is completed it is often deleted from the OLTP database that should be kept small and nimble to be able to keep up with incoming orders in a fast and responsive way. The OLTP database, as mentioned, is highly normalized (each item in the data is saved in only one place). This is to some extent to keep the database small but also to ensure consistency in the critical business data (when the same data is saved in two places it risks getting out of synch, perhaps leading to things like orders being shipped twice etc). For the same reason of consistency it is also important that all work is encapsulated in transactions. Transactions are a way to ask that several changes to the databases that go together logically for some business reason be done in an all-or-nothing fashion. For example, all the data changes to the database associated with, say, an order being placed can be saved to the database as a unit such that if all goes well all the data is saved but if any of the data changes for the order is met with an error none of the changes in the unit should be accepted into the database (thus the "Transactional" in OLTP).

      A copy of the order is also saved to the Online Analytical Processing database, where is does typically not become deleted so soon and its data may be saved redundantly in multiple copies (denormalization) to speed up queries. The purpose of this database is not to support customers placing orders, but to support managers asking questions about "what is historically our most popular shoe color in December" and things like that (the "Analysis" in OLAP).

    23. Re:Define, please? by bWareiWare.co.uk · · Score: 3, Informative

      A=Analytical: the problems of creating useful reports from vast amounts of mainly read-only data.
      T=Transactional: the problems of highly concurrent read-write transactions.
      Wikipedia simply states that the terms are derived from each other, the techniques they embody are very different.
      If you only have a small amount of data and a small number of transactions then you don't care about the difference, but once you have a large number of one or other (or worse both) then it is a very significant distinction.

    24. Re:Define, please? by olau · · Score: 1

      Another way of explaining this is that with OLTP, you often just have the latest version of the objects, say your current products, with OLAP you often store everything. In a sense, old stuff (say old orders) isn't interesting with OLTP, since you're focused on the selling new stuff, with OLAP it is since there you're focusing on understand the operations of the company itself and the customer base (so we sold x widgets last year, but only y this year, why is that?).

    25. Re:Define, please? by Anonymous Coward · · Score: 0

      I'd say not - the question was about switching from OLTP to OLAP as a specialty - if you don't know what they mean, how could you answer the question? Knowing one is not enough.

      If someone asked about a question about whats to be expected when being a gynecologist, and you said "please define vagina so I can answer the question", should you really be answering the question?

    26. Re:Define, please? by Agronomist+Cowherd · · Score: 1

      Woosh.

      He's pointing out that the 4 letter acronym OTOH (On The Other Hand) wasn't spelled out.

      --
      -DwS
    27. Re:Define, please? by Anonymous Coward · · Score: 0

      Managements wants the results by the end of the month, it is OK if the query runs a couple of hours/days.quote>

      Excuse me? This is sooo wrong that I don't even know how to start. OLAP gained strength exactly to allow management reports to run in MINUTES instead of hours. So no, a report running in OLAP for days isn't OK in any sense.
      And it may be weird for you, but there are management decisions based in data from the LAST DAY. So a D-1 report is need in the next day morning.

  3. This is exactly what is wrong with the world. by Anonymous Coward · · Score: 0

    FUCK. I can't tell you how many times I've tried to use software written by some ignorant fuck who thought that his knowledge of programming languages translated into knowledge of the industry he was in. Learn a language and and industry... and stick to it.

    1. Re:This is exactly what is wrong with the world. by physburn · · Score: 1

      Industries change in size and number of staff they need. Having only one language and one industry, couldn't garantee a career. Besides its boring not learn.

  4. As a DBA myself... by Ethanol-fueled · · Score: 5, Funny

    The first thing we did to strategize mission-critical web-readiness to expedite wireless users was leverage our dot-com ROI and aggregate robust e-markets. Being able to synthesize cutting-edge channels enabled us to unleash extensible users, which in-turn enabled us to orchestrate turn-key mindshare.

    Utilizing our synergistic functionalities, we were then focused towards mesh visionary markets and envisioneering collaborative initiatives with our partners. The net result was the incubation of plug-and-play experiences to transform vertical vortals and utilize cutting-edge deliverables.

    Plus, I have a large cock. That helped a lot.

    1. Re:As a DBA myself... by Hognoxious · · Score: 3, Funny

      That was so awesome I'm going to have a sex change just so I can marry you.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    2. Re:As a DBA myself... by Anonymous Coward · · Score: 0

      Yeah, but you didn't have a solution. What's the point if you don't have a solution?

    3. Re:As a DBA myself... by Anonymous Coward · · Score: 0, Offtopic

      Sorry buddy. I have crushes on Snowgirl and Samantha Wright.

        Their big....brains get my meat-missle throbbing and ready to launch. I would eat out their belly-button lint and clean out their toejam with my teeth.

      -- Ethanol-fueled

    4. Re:As a DBA myself... by unity100 · · Score: 1

      perfect corporatespeak.

    5. Re:As a DBA myself... by mike260 · · Score: 2

      The first step to a solution is always a robust solutioneering methodology.

    6. Re:As a DBA myself... by todrules · · Score: 4, Funny

      -1. You forgot the cloud.

    7. Re:As a DBA myself... by Anonymous Coward · · Score: 0

      What I love about Slashdot is how you guys can masturbate to the same exact jokes over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and it's true, they're exactly as funny as they were the first time.

    8. Re:As a DBA myself... by Anonymous Coward · · Score: 0

      I bet you've got an ITIL or PRINCE2 certificate, don't you?

    9. Re:As a DBA myself... by Anonymous Coward · · Score: 1

      You don't need DBAs for the cloud!! You just fire up a couple more instances and blammo!

    10. Re:As a DBA myself... by Mr.No · · Score: 1

      The first thing we did to strategize mission-critical web-readiness to expedite wireless users ....

      Superb.

    11. Re:As a DBA myself... by jones_supa · · Score: 1

      And just to clarify, you get a PRINCE2 certificate when you complete Prince of Persia 2: The Shadow and the Flame. It's handed over by the Jordan Mechner Foundation.

    12. Re:As a DBA myself... by greg1104 · · Score: 1

      Sure, you have one large cock to service wireless users with, but you haven't described how you will scale it to handle multiple access points.

    13. Re:As a DBA myself... by Anonymous Coward · · Score: 0

      I think that I am in love with you.
      Can I have your baby?

      Note: I do have to get an uterus implanted, but still.. If Schwarzenegger could, then so can I!

  5. Different worlds by Anonymous Coward · · Score: 0

    Man, I am glad I work in the world of startups where we just Get Shit Done.

    12 years doing "OLTP"??? Just fucking shoot me.

    1. Re:Different worlds by Capt.+Skinny · · Score: 2

      Meanwhile, those of us in established businesses Do Shit Right The First Time because our work is expected to hold up for years. "We Get Shit Done" is a euphemism for "We don't bother plan or learn best practices, we'll just kludge something together and fix it when it breaks."

    2. Re:Different worlds by SplashMyBandit · · Score: 1

      lol. The 12 years were probably getting *one* project out ... just kidding.

    3. Re:Different worlds by bjourne · · Score: 1

      And "Do Shit Right The First Time" is an euphism for "I have no fucking clue what I'm doing which is why this web gui is taking me two months to complete." :)

    4. Re:Different worlds by Anonymous Coward · · Score: 0

      The best is the enemy of the good. Some of us are good enough to do it fast and do it right. We don't fuck around posting to hip fora very much, but we're out there.

      My systems handle millions of dollars a month in the electrical utility business and they do it well. I wrote version 1.0 in six weeks from a blank text editor and an empty base directory, including the framework everything was built on. Some initial decisions could have been better, but 2.0 followed six months later and we had our first application customer a couple of months after that. I was the sole author, and I ran the system for the first year. The big utility companies' systems, full of consultants and "best practices" were a constant pain in the ass to other market participants--I spent more time writing defensive code against the stupid shit that came out of their systems than doing anything else.

      The project before that required an oscilloscope for debugging.

  6. Don't post here... by Anonymous Coward · · Score: 0

    ..post to a board that expands uncommon acronyms.
    You know, somewhere professional.

  7. Eh? by PCM2 · · Score: 5, Interesting

    So... you're saying you've already made the switch from OLTP to OLAP and you'd like to take this opportunity to gloat about it, but you'd still like to hear from other developers what they think the prerequisites are for making such a move and what has held them back from doing all the cool stuff you're doing? Or am I missing the question?

    --
    Breakfast served all day!
    1. Re:Eh? by Anonymous Coward · · Score: 0

      Maybe OP is making / has made the switch but would like info about whether he's making the switch as well as he should be doing, according to people who are better at OP's new job (and possibly OP's previous job) or who have more formal training in OP's new field than OP does. For example, maybe OP would like to hear from a professor, or someone who's really, really old.

    2. Re:Eh? by vlm · · Score: 4, Insightful

      My guess is its a subtle attempt at a philosophical statement that OLTP and OLAP are such wildly different problem domains that it may as well be like trying to horizontally jump from being a fluffer to being a farmer, despite them starting with the same letter and occasionally being confused, at least on /.

      Personally I disagree with that viewpoint. You're still in the realm of high performance computing, blah blah blah. They have different enough needs that maybe they need to be separate groups underneath separate supervisors, or at a big enough firm, maybe separate depts, etc, but I'm not seeing a huge fundamental difference. Consider yourself lucky to be at a firm that separates those roles at all. In the last decimal place the problem solving techniques are going to be different, but I'm sure 99.9999% of it is the same, which is probably how a OLTP guy got a OLAP job without the HR filter of "must have 9245 years experience with this specific version of software" filter which theoretically caused this whole discussion. I'm sure a guy who can figure out OLTP can probably figure out OLAP rather quickly and vice versa.

      Admittedly I've spent probably a hundred times more career effort on OLAP tasks than OLTP tasks, but very few firms have the luxury of full time personnel for those jobs, so I've spent most of my time doing other stuff.

      If anything, I'd say take some more risks. You fail at a OLTP task and customers and sales and marketing scream and data might be lost or corrupted permanently. You fail at a OLAP task and, eh, the TPS reports are released a little later today, we'll survive... Admittedly OLAP stuff is usually a lot more complicated that OLTP, which means you're used to poor / no documentation, maybe you should be worried about doing more documentation of OLAP stuff.

      Maybe another way to describe it, is fail once at OLTP and you get fired, fail repeatedly badly enough at OLAP and the company goes out of business before they figure out to fire you?

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    3. Re:Eh? by guruevi · · Score: 1

      Basically, the way I most easily understand it:

      OLTP provides you most of the business end of an application (it gives a structured interface to the data to read/write/modify) while OLAP provides you with the information end of an application (it gives an overview or what some may call a "dashboard" to the data which usually has limited (usually no) options for the data to be modified) which could or could not be in a feedback loop with each other.

      So OLTP gives you a database for your support staff and a database for your sales people and a database to HR and they use these databases daily and modify them.

      OLAP then collects the information in these databases and analyzes it (usually overnight) and (sometimes) stuffs it back into the OLTP databases (such as these types of customer have been annoyed recently, which geographical areas are trending in sales, how a new release or price point affects the market etc etc.) or generates reports to the managers or a report to the C-level executives.

      The problem with functioning in the OLAP space is that nobody knows what an enterprise has in the form of OLTP databases (you may know the amount of applications you host but how many do the individual departments host outside IT or how much Excel sheets does HR keep around?). Another problem is that in the OLTP databases you do know about, the information in it is highly unregulated, badly documented or done by a host of employees or even a third party. Then the third problem is that nobody of a seasoned DBA and/or architect and/or developer and/or business insider knows what the heck this flood of data means and how they can get a handle on it. Then the fourth problem is that even if some manager kind-of understands what he can get out of it, he'll ask for too much or too little and either it'll be unusable to his underlings or he'll constantly ask for modifications to the project that provides him with the data.

      Also many, many vendors of databases and OLAP tools have promised a lot and delivered little in this space (think Oracle, MS, Peoplesoft, SAP, ...) It is thus a highly stressful job where you manage not only a shitload of data but also the expectations of sometimes a whole company and the broken pieces of your predecessors and whatever scumbag tried to sell the company his snake oil.

      These types of projects are not only difficult but also require a lot of involvement on all levels. I've seen only few projects get completed successfully. In most cases the projects are small and to the point (such as combining a few data sources and getting very specific data out). In 1 other case, the project had unlimited resources (in time and money), it took them over 10 years and several millions but they have normalized practically ALL their in-house data sources over this time (such as - a customer id means this and should be implemented as such and these people should have access to it) and can basically link any data source they have to any other data source and run reports on it (which they are currently implementing with utmost ease). Yes, they paid IBM, Oracle, Peoplesoft and SAP a shitload of money too over this time but they are currently running on a combination of Oracle, MySQL and Hadoop platform which is highly customized and regulated (especially new datasources get a lot of scrutiny) but you can ask the team anything and usually within a few hours to days (depending on what you want and the required authorization) they'll have something ready that can fire you with reports whenever you want.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    4. Re:Eh? by Anonymous Coward · · Score: 0

      Fail once at OLAP and your freight-train of data goes flying off the track. Getting it back on track and getting your pipelines flowing again can be a whole lot of fun.

  8. No barrier at all by Intropy · · Score: 4, Insightful

    Moving from one specialized type of programming to a closely related type of specialized programming is pretty straightforward. Apply for such a position and you wont suffer compared with other candidates. Or, if your current employer needs something new done, do that new thing. You're not talking about a major career change here. Programming is programming. Even moving from something like standalone application GUI programming for windows in C# to back-end web service programming in C++ on Unix isn't that big a deal. If you can program, you'll pick up the new tech/language/idioms as needed and notice the striking similarity in the work you actually end up doing.

    1. Re:No barrier at all by Anonymous Coward · · Score: 0

      Moving to other languages, like from PHP to C++, assume you have some basic CS educational background.

  9. Need advice by michaelmalak · · Score: 4, Funny

    I'm thinking of making the leap from C# 3.0 to C# 4.0. Does anyone have any advice?

    1. Re:Need advice by Intropy · · Score: 2

      Go.

      For it.

    2. Re:Need advice by Surt · · Score: 1

      Well, considering the rather dire straights Microsoft is in (most of their earnings tied to dieing platform), you might want to consider Java. Databases don't seem likely to go away any time soon.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    3. Re:Need advice by SplashMyBandit · · Score: 1

      This leap is the same as going off a cliff. Use Java please.

    4. Re:Need advice by PCM2 · · Score: 1

      Go.

      For it.

      Will that still work with WinRT? I'd hate to end up having to duplicate a lot of work.

      --
      Breakfast served all day!
    5. Re:Need advice by julesh · · Score: 1

      I'm thinking of making the leap from C# 3.0 to C# 4.0. Does anyone have any advice?

      Have you considered Java 7 as an appropriate alternative? You're much more likely to get a job as an Enterprise Architect if you make the switch.

    6. Re:Need advice by Cederic · · Score: 1

      Given the way Oracle are buggering up Java, I'd be sorely tempted to find out what IBM consider their strategic language of choice.

      It may indeed be Java, but I know at least one dev house is switching to Ruby, HTML5/Javascript is guaranteed income these days and C or C++ will continue to get you jobs for some time to come.

      Or do what I did and get promoted. I get to draw pictures on whiteboards and let other people do the hard work :)

    7. Re:Need advice by Anonymous Coward · · Score: 0

      you certainly did

  10. acronym overload... by Anonymous Coward · · Score: 0

    For those of us living in the "real" world of actual consumer products and wondering what these IT acronyms may even mean, here is what google found

  11. Step backwards, and gloat by syousef · · Score: 2

    So... you're saying you've already made the switch from OLTP to OLAP and you'd like to take this opportunity to gloat about it, but you'd still like to hear from other developers what they think the prerequisites are for making such a move and what has held them back from doing all the cool stuff you're doing? Or am I missing the question?

    You forgot to mention that he thinks that moving from being a code monkey to a data monkey is suppose to land him an architecture role. I would have thought his original job would see him better qualified. At best this is a step sideways but in reality it is probably a step backwards....and if he doesn't realise this it's probably just as well for all involved.

    But then even slashdot's heyday ask slashdot was about clueless time wasters asking how to do their job or apply for one they weren't qualified for and had no idea about. Now that slashdot is a shadow of it's former self why would we expect the quality of these submissions to improve?

    --
    These posts express my own personal views, not those of my employer
    1. Re:Step backwards, and gloat by hedwards · · Score: 1

      Since when does programming qualify one to design a house?

    2. Re:Step backwards, and gloat by Anonymous Coward · · Score: 0

      a data monkey is suppose to land him an architecture role.

      The only way to enterprise architecture that I know of is to have Ivy league diploma, then you need about 5yr of experience as an analyst while you conspire to get the current architect promoted away while making you and people in your team (but not as good as you evidently) looking good.

    3. Re:Step backwards, and gloat by syousef · · Score: 1

      a data monkey is suppose to land him an architecture role.

      The only way to enterprise architecture that I know of is to have Ivy league diploma, then you need about 5yr of experience as an analyst while you conspire to get the current architect promoted away while making you and people in your team (but not as good as you evidently) looking good.

      Where I am competition is about as cutthroat as for most other management roles. But yes, 1 architect per 30-50 devs is sufficient, so it's quite specialized. I think job security would be the biggest issue for that kind of job...it's hard to fall back to developer because you go stale, and it's hard to find another architect role if you lose your current job.

      --
      These posts express my own personal views, not those of my employer
    4. Re:Step backwards, and gloat by SomeStupidNickName12 · · Score: 1

      Still best paying gig in our sector and its not that bad, most of the consulting house like IBM, Accenture, etc are desperate to get their hands on more even in the current climate.

  12. Changed Job by 1s44c · · Score: 1, Insightful

    So you changed job from one thing to a highly related thing. Great, but why tell us about it?

    You totally lost it on '...evolving toward becoming Enterprise Architects', Seems you have been hanging around the buzzword management types for far too long.

    1. Re:Changed Job by Anonymous Coward · · Score: 0

      The problem with buzzwords in this organization is that there isn't enough synergistic enablement between the vertical buzzword knowledge silos. If we're going to manage and exceed our clients' buzzword expectations, then we need to execute efficiently, energetically and deterministically, in as far as buzzword variability and uniqueness are concerned.

      Are you on base with this?

    2. Re:Changed Job by Gothmolly · · Score: 1

      To paraphrase Syndrome:

      "When everyone is an Enterprise Architect, no one will be."

      I'm sick of this grade-inflation/feel-good mentality where everyone is somehow an "Architect".

      --
      I want to delete my account but Slashdot doesn't allow it.
    3. Re:Changed Job by sribe · · Score: 1

      You totally lost it on '...evolving toward becoming Enterprise Architects', Seems you have been hanging around the buzzword management types for far too long.

      Duh. That's a necessary part of the evolution he mentioned...

    4. Re:Changed Job by Anonymous Coward · · Score: 0

      Enterprise Architects in the strictest sense are glorified gatekeepers of corporate data models. Knowing the family of schemas, e.g. star join, is essential but beyond data structures, EAs are not needed unless there is a project that ties together many not well documented data sources. The roadblock is that there are well documented fails of systems not meeting performance expectations.

  13. My head exploded with all the acronyms by Anonymous Coward · · Score: 0

    Sounded like a speech from a pointy haired boss....

  14. Changing career? by Kittenman · · Score: 2

    Reminds me of the cartoon of a dull-looking man talking to a woman at a party - text below was "You may not think it to look at me, but in my time I've been a bank clerk, bank teller and bank customer liaison officer".

    --
    "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
    1. Re:Changing career? by sribe · · Score: 2

      Reminds me of the cartoon of a dull-looking man talking to a woman at a party - text below was "You may not think it to look at me, but in my time I've been a bank clerk, bank teller and bank customer liaison officer".

      Great thing about that, you didn't even have to tell us that it was a New Yorker cartoon ;-)

    2. Re:Changing career? by Anonymous Coward · · Score: 0

      Christ, what an asshole.

  15. Dilbert by david.a.judge · · Score: 1

    Is this a conversation from a Dilbert strip, but without the punchline?

  16. Whats a "career"? by vlm · · Score: 4, Interesting

    ... the next chapter in their careers evolving toward ...

    Whats a "career"? We don't have those around here in "IT related fields". I suppose if you live in silicon valley there is a chance of upward mobility, or maybe TLA .gov jobs, but for everyone else, its just luck that got us in a good spot in a downsizing economy in a downsizing company and downsizing department where they haven't axed us yet.

    "Career" in general would be a more entertaining "ask /." topic. Work in the above plus the "ha ha noobs don't realize than even the concept of my job didn't exist when I was their age" and plenty of ageism whining and funny stories about nepotism and stuff like that.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  17. Data Mining and related Tasks by Anonymous Coward · · Score: 0

    To be good at such projects, you should have a decend masters degree in applied math or computer science (with a focus on basic theoretic concepts, such as logics, knowledge and meta modelling, PetriNets, graph theory, etc.).

    On a side note. Next time you ask a question, don't gloat that much about how cool you are and ask your question straight. And please try to use normal language. Thanks.

  18. Ralph Kimball and Pentaho Mondrian by Dishwasha · · Score: 4, Informative

    The prerequisites to making the switch is first and most importantly having an appropriate business case for OLAP. The second prerequisite is that you've tried doing analytics in a traditional RDMS, perhaps jumped on to the NoSQL bandwagon, and you've failed at it (i.e. success for a little while but then your data eventually brings your queries down to its knees). Don't worry, failure isn't necessarily wrong, it's just you and your team needed the experience before you could make the next leap.

    The risks are a knowledge jump in to an OLAP mindset from a traditional SQL mindset. Invest in you and your fellow developer's knowledge. Push back on management and sales when they want more immediate results and let them know that it will take 3-5 months to replace your current system. Do your proper technology evaluations. Learn FoodMart and Adventureworks and let them guide you down the path of good fact and dimension design. Don't snub your nose at Microsoft as they absorbed the company in the 80's that basically pioneered this stuff and made billions, but also don't take their stuff too literally as there are several products out there and some that do things better.

    Read The Data Warehouse Toolkit thoroughly and practice using Mondrian which is an open source Java OLAP engine that can sit on top of PostgreSQL, MySQL, and others. Find a good ETL tool rather than trying to write your own at first and don't be afraid to force your internal users to use this tool to create their facts. Don't worry if you don't get it the first time, but keep trying and keep discussing with your fellow developers as it takes a team to work out all the kinks. Later on you'll probably end up seeing how you did things wrong, but hopefully you can get most things right in the beginning.

    1. Re:Ralph Kimball and Pentaho Mondrian by jchevali · · Score: 1

      Dishwasha, I agree, that is the way forward (and I'm glad you've actually engaged with the question instead of deriding it as others have done).

  19. Must be a slow day on Slashdot by Anonymous Coward · · Score: 0

    Your lack of understanding that real programmers do everything you're talking about in the course of a year, not a career, is what's holding you back. You're never going to get to "Enterprise Architect", so you should cut over to DBA now while you can and find some very large company where you can remain hidden until you retire.

  20. Go into management first... by Anonymous Coward · · Score: 0

    Most Enterprise Architects I know started out as good programmers. They decided to become managers to boost their salary, then learned that they really sucked at managing. By then they were too high a level to return to programming so the company gave them a "lateral move" and the title of Architect. Now they go to meetings with the big shot managers and listen to vendor sales pitches; afterwards the VPs ask for their opinion in a way which leaves little doubt that their opinion had better support the decision the VPs already made based on cool buzzwords.

    1. Re:Go into management first... by Cederic · · Score: 1

      So close to the truth.

      Some of us skipped the whole management piece though :)

  21. ooooh by unity100 · · Score: 1

    50 posts by PHP developers asking what a stored proc is

    we feel offended. as if a thousand developers cried in agony because someone who is in a different field thinks that his field is more elite than ours. oh the humanity !

    hear ye ! hear ye ! person in random field thinks those in another field are less important and knowledgeable - and their work too.

    1. Re:ooooh by Anonymous Coward · · Score: 1

      The irony is that in 15 years, if you keep learning and advancing in the art of software development, you will be making the exact same post as the GP.

    2. Re:ooooh by Surt · · Score: 1

      And yet, PHPs raison d'etre is that real frameworks were too hard to figure out.
      And ever after, as people struggled to deploy real applications on it, it has evolved towards being a real platform. Now that they're half-way there, it's now half as complex to learn as a real framework. Quelle surprise.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    3. Re:ooooh by unity100 · · Score: 1

      And yet, PHPs raison d'etre is that real frameworks were too hard to figure out

      wrong. the main reason php came into being was the need for a framework that was fast to develop on, and non proprietary. asp was there otherwise. cgi was also there, but it was not flexible.

      'people struggled to deploy real applications on it' ? you probably are joking. or you havent at all delved into what php has become. flickr, facebook, yahoo ... if you are not counting what runs on these sites as 'real applications', then you are probably referring to non web related or niche applications that do other things than serving data out to users on the internet. quelle surprise ! - there are endless numbers of php libraries that do very queer things if you compile php with too.

      but who am i talking to. you are just going to keep yourself in your narrow world where 'real applications' reside.

  22. So much fun. by Anonymous Coward · · Score: 0

    Enterprise-class TLA-soup homework! Useful!

  23. OLAP by klahnako · · Score: 3, Insightful

    From my limited experience, the OLAP community is small and/or behind walled gardens, the tools are poor and closed source, and potential employers are only interested if you have experience in *their* BI tools (Pentaho, Microstrategy, Cognos, etc). Microsoft appears to be the only one trying to establish a theoretical basis for BI, but their efforts are starting to show age despite their being so much more that can be done in the field. Finally, you will be misunderstood by the majority of Rails/PHP/Web developers: The same one who think Key-Value stores and NoSQL are the height of modern technology.

    That said, BI can be technically satisfying. If you get down to the SQL/MDX you will appreciate what a database can do; which allows questions to be phrased succinctly. I have seen too much code written in procedural languages (Javascript being the worst of them) that are many lines long and run atrociously slow, that can be restated in SQL (or MDX) simply, and run a 1000x faster. I love that fact there are no loops!

    From a business perspective, you have much more exposure to management and other departments: You will have improved visibility in the company, and your worth will be inflated - as you will be the one that satisfies management's appetite for more information to help make decisions.

    1. Re:OLAP by Anonymous Coward · · Score: 0

      LOL...not even close. You are only looking at SMB solutions and completely ignoring enterprise scale solutions such SAP, IBM, Teradata. Last I checked, the 3rd highest paying job on Monster was for a SAP BI (OLAP) developer.

  24. Different Disciplines by afabbro · · Score: 2

    Your previous experience as a developer/DBA is largely irrelevant. Data analysis is a completely different discipline (and depending on tools, may even be a different language than SQL).

    Basic building cubes is something you could learn in 5 minutes. Advanced stats, how to look for patterns, what to look for, etc. is much more involved. Most of the people I know who are good data analysts have advanced degrees in mathematics.

    BTW, why do you think the career path is dev -> data analyst -> enterprise architect? Completely irrelevant. Plenty of data analysts who couldn't write code. Plenty of EAs who couldn't construct an OLAP cube - they're focused on infrastructure, apps, etc. EA really has nothing to do with data analysis, other than designing systems to support it. In many companies, EA is not some priesthood at the top of the food chain - often they're a virtual team made of different disciplines.

    --
    Advice: on VPS providers
  25. To the OP by vikingpower · · Score: 1
    Buddy, listen. Moving from OLTP to OLAP should be a minor, if not a micro move for anyone acquainted with database design. Don't waste our time and bytes with it.

    As for becoming an "architect", this is how I became one: I took all the ( little ) experience I had, I designed some stuff, made sure the code monkeys could and would actually code it ( me knowing their life as I had always been one ), got some $$$ incentives for them so they would build what I had thought up. I defended it in hard fighting with the management. Then the stuff went into production. It took balls, hard work and some luck - and, yes, some politics. "The rest is ashes and dust", as Russell Crowe has it in "Gladiator".

    --
    Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
  26. nope. by unity100 · · Score: 3, Insightful

    Actually i matured 5 years or so ago, after spending some 10 years in the delusion of thinking that the fields i was in were more 'elite' than the others. they were different fields than programming. but, the core concept of 'our work is tougher and more elite - other people are not as elite as us' nonsense was the same.

    i grew over it.

    1. Re:nope. by Anonymous Coward · · Score: 0

      Wish HR morons and head hunters would too.

    2. Re:nope. by unity100 · · Score: 1

      human resources ......... they constitute a total fantasy land in themselves.

    3. Re:nope. by ajo_arctus · · Score: 1

      Actually i matured 5 years or so ago, after spending some 10 years in the delusion of thinking that the fields i was in were more 'elite' than the others

      Commendable.

      human resources ......... they constitute a total fantasy land in themselves.

      Oh, so there are still /some/ people who aren't quite as elite as us ;)

    4. Re:nope. by heathen_01 · · Score: 1

      Actually i matured 5 years or so ago, after spending some 10 years in the delusion of thinking that the fields i was in were more 'elite' than the others

      Commendable.

      human resources ......... they constitute a total fantasy land in themselves.

      Oh, so there are still /some/ people who aren't quite as elite as us ;)

      He's working on it, but the HR people don't make it easy...

    5. Re:nope. by unity100 · · Score: 1

      i didnt look down on human resources. i pointed out the 'fantasy land' dreamscape of that field. their evaluations, expectations, criteria that are devoid of the practical reality, the disproportionate power they hold over the fates of the employees - these create a total fantasy land over practical reality.

  27. Be prepared to slow down by codgur · · Score: 1

    I made a similar transition and my furious pace and insistence on sub 300 millisecond response times for any query, or web page load was foreign to those in the OLAP world. I would submit a query to our OLAP (I was doing pricing optimization—cool enough) which took over 60 minutes to get a useable dataset. Most of the people I worked with were very nice and extremely bright though they existed on a very relaxed pace; one I just couldn’t adjust to. I had such a tough time of it I moved back to the OLTP world where someone would listen to my insistence, enjoy my furious pace and manic persona and I couldn’t be happier. Do give it a try though. It is very rewarding to be able to analyze all a company’s data and write one query that will help generate more profit. I do wish you well and just remember to slow down.

    1. Re:Be prepared to slow down by Anonymous Coward · · Score: 0

      As good Marxists we should all keep in mind that OLAP may be evil because it can help corporations generate more profit.

      Therefore we must ensure that it's only used for good: Helping government make sense of the monitoring data it's collected on the citizenry. In the pursuit of progressing towards a more orderly and equitable and perfected society, of course.

  28. Read this book.. by Anonymous Coward · · Score: 0

    Read the book, Star Schema by Robinson. Also, you can do both OLTP and OLAP - really, they complement one another.

  29. What I've seen... by Anonymous Coward · · Score: 0

    As a system administrator, I've supported OLAP processing for a good part of my career, although I'm not doing that work currently. What I've seen is that originally a lot of the data warehousing complex was used just to run the database with it's billions of rows and many terabytes of data, running something like Redbrick or maybe Sybase IQ. Then we started to spend more time handing "staging" (ETL) workloads, with tools like Ab Initio, SyncSort and N-sort. Every year, the amount of data increased, the number of details increased. We were constantly fighting to get the reports done in our 24 hour window. If you get behind, you may be catching up for awhile.

    These days, it's all about using Hadoop to prepare the data for load into a database, either Oracle 11g RAC using ASM, or perhaps a Netezza box. I see some of the column stores like Vertica becoming important for some workloads in the near future.

    As a result, I'd say that people wanting to move into data warehousing should learn Java, Hadoop, Oracle RAC. Keep an eye on HBase, Hive, and the NoSQL solutions for the future.

    One thing that I'll mention that I've found very useful is that throughout the time I was working on this stuff, perl was very handy. I imagine other scripting languages would be useful, too, but in my case perl provided the glue that made everything work.

  30. Useless by Anonymous Coward · · Score: 0

    OP asked a reasonable question and most responses were either wisecracks or otherwise simply ignorant and/or useless. Good thing I only come here for the most part to see what the tech headlines are; otherwise, I'd be disappointed when I read the usual half-backed, leftist, ignorant MS-bashing rants that pass for commentary on this site.

    1. Re:Useless by Anonymous Coward · · Score: 0

      Agreed. It's pathetic to realize that:

      1. There are a bunch of poseurs posting on /. who like to think they're all superior and cool and super elite technical and yet don't know what OLAP and OLTP are. (Thank goodness the submission didn't talk about HOLAP and ROLAP.) Hint - if you're in the IT industry more than, say, five years and you seriously haven't heard of OLAP, then you're not a professional, you're just playing games.

      2. Considering the massive amount of insults shoved at MBAs on this site, it's particularly ironic to know that a halfway decent MBA course probably includes an introduction to OLAP because it's so fucking important.

  31. SQL vs MDX, DMX by Anonymous Coward · · Score: 0

    Once you go beyond data warehouses and ETL, the programming language skills required for OLTP and OLAP are different
    MDX for multidimensional cube queries - can get a little hairy
    DMX for data mining models - a bit limited in terms of extensibility
    Correct cube design is also an issue - use case specific dimensions & measures; storage price / perf ratio

  32. been there by Anonymous Coward · · Score: 0

    I started my career with OLAP & BI, been at it for a decade or so now. Also doing OLTP like everyone else.

    Not sure what to say, it's just bits and pieces, and you need to process those so that you can meet requirements and things like that.

  33. An hero, plox! by Alex+Belits · · Score: 1

    This is one of the things described as "If you can see a difference, you are not qualified to work with either".

    Face it. You have spent 12 years mucking around with one single application that happens to be easy to shoehorn into multiple systems. You do not understand underlying theory. You can not solve a simple problem -- how to organize data to perform complex queries that can yield some analytical information. This is not something you can "learn" from a vendor manual to some expensive chunk of unreadable Java code. This is not something you can copy/paste from "tutorials". This is something you were supposed to know before you taken your current^H^H^H^H^H^H^Hprevious job. You think, you can fake your way up to the "Enterprise Architect" title?

    I have one advice for you -- kill all your friends, then yourself.

    --
    Contrary to the popular belief, there indeed is no God.
  34. Ground Up OLAP Experiences by Anonymous Coward · · Score: 0

    You are a little vague about your new role as a OLAP developer. I'll try my best to give you some advice from what i have learned in my first 5 years out of college as a OLAP developer. This by no means is a comprehensive guide and I am still learning as I go. My experience might be a little different from the norm; I work at a company where we rolled our own OLAP system completely from scratch.

    Subject matter and use cases are critical. You must work with your subject matter experts to understanding what your users are trying to accomplish with your data. This stage is easy to gloss over because sometimes you might think you know what and how the users want something. I have been humbled many times by making this stupid assumption.
    If you are writing your own reporting tool you will learn quickly how to write factories to generate queries. OLAP users like to stretch their reports in every dimension possible; it should be dynamic. Also if the queries are not at least aggregate aware you are wasting your time. Find good reporting interfaces such as tools that can draw tables and charts.

    Populating an OLAP database is more similar to network programming than anything else. You are simply loading data into structs, iterating over your data, and passing it along. Understand dimensional modeling. Carefully choose your dimensions and their scope; they will change.

    Read Kimball's book. I'm ashamed to say I have not done this myself yet.

    I'm not sure if my advice is coherent or even applicable to you. But if you have more details about your responsibilities I can try to help you out.

  35. If he's new, he can still beneifit from advice by bigsexyjoe · · Score: 1

    I mean the switch isn't so binary. He recently switched, he wants to hear other experiences to help him, and he generally thinks it would be a good Slashdot discussion.

  36. Ha ha by bigsexyjoe · · Score: 1

    I love the fact that you made that joke, and people still needed to blast you for mentioning MS. And they actually claim Oracle-controlled, lawsuit hell Java is in a better position.

  37. from a large DB OLAP and OLTP DBA by Anonymous Coward · · Score: 2, Informative

    Development is development. There are differences, but its still development. I am a DBA and a database developer. I have worked on very large OLAP and OLTP systems. Here are the main differences. My experience is primarily with oracle.

    1. You need to really learn SQL well to handle OLAP well. You often get very complex requirements. Processing large amounts of records always performs exponentially better using straight sql if possible. You want to use as little procedure code as possible. Don't write loops, use java, shell, or procedure database language.

    2. you need to dig into the DB's features. In particular, features for processing large numbers of records. For example, analytic functions are critical. They are somewhat confusing if you have not used them. They are part of the ANSI 1999 standard. Most people do not know them. I think most SQL databases have them. Each database will have an OLAP guide. It is not just about using the cool buzzword features. You have to dig into regular things. Understanding table partitioning is useful.

    3. you need to test this stuff out. The docs are not always 100% correct.

    4. There are alot of things you need to do to improve performance that will hurt performance in an OLTP. For example with Oracle, you may end up using parallel processing and alot of create table as nologging. Both of which do not scale with large numbers of users. OLAPs typically have less users, but larger batch processes. These are invaluable in OLAP processing. For example, if you have a very complex requirement, you may do a series of create table as statements to get to the report you want. This allows you to break up the logic so its simpler to follow, it is also fast. You can't do this with OLTP, since this hurts performance with alot of users. Create table as statements also allow you to break down very complex requirements into simpler chunks. I often do create table as (and many of them) to chunk my steps. Then when I figure out how to answer the requirement, I combine and simplify what I did.

    5. you have more freedom to do more outside the box coding approaches. As stated above, since you have less users, you can do alot of stuff that doesn't work in volume. Google around. Alot of these things are on the web. However, you need to often combine them to come up with better approaches.

    6. ETL... this means dumping, loading, and changing around large volumes of data between databases. This is large batch processing. This follows what I said above. Avoid using procedural logic as much as possible. Try to use as much straight sql as possible. Running a loop that calls sql for each row is the absolute slowest way to do this by alot. However, that is how most developers write their ETL because that is all they know how to do. You can look like a genius, by taking this code and getting rid of loops and sub loops. Once you do it a few times its easy, but you will look smart.

    7. if you use an ETL tool, make sure you understand what it does underneath. figure out how it is generating the sql and what the code all looks like.

    8. if you use the approach that java developers use (they are basically the only ones who do this) that the database is a data dump and then talk in mumbo jumbo and do all processing in java. your code will suck. someone like me will come in and do what I said to do in step 6. Ill look like a genius. you will look stupid. done that lots of times... the hardest part is getting past the java guys mumbo jumbo. IF your a python, C, .net, or any other language developer you will have an easier time doing OLAP because your not as caught up in the silly cliches I hear from java developers.

    9. let me add one more time. This is a mistake virtually everyone makes. Loop based procedural logic is the absolute slowest as absolute worst way to do OLAP, ETL. SQL is written in C. So it is optimized for array processing under the covers. If you use loop based logic, you eliminate that. Sometimes you have to, but avoid it as much as pos

    1. Re:from a large DB OLAP and OLTP DBA by Anonymous Coward · · Score: 0

      In reference to #6. I am a python mysql ETL developer and try to do as much marrying of data using queries from my operational store. However I would say 80% of of my ETL logic is in procedural code that loops over my married data. I considered using stored procedures and views in mySQL however i do not believe there is any performance benefit (in mySQL at least).

      I get what your saying... I have found that collating fact data into aggregates (and synergizing my buzz words) only using SQL is very fast. But i can not get away from procedurally looping over my data.

      We might be talking different langauges... I know that operating Oracle is a much more higher level processes than rolling your own OLAP. But I am curious to know what it is like on the other side of the fence.

      I think my question was that I wanted to get more clarification of what mumbo jumbo java developers are doing.

  38. Step 1 by Anonymous Coward · · Score: 0

    First, read An Introduction to Database Systems:
    http://www.amazon.com/Introduction-Database-Systems-8th/dp/0321197844

    Second, read Temporal Data & the Relational Model:
    http://www.amazon.com/Temporal-Relational-Kaufmann-Management-ebook/dp/B005UY0W0E/ref=sr_1_fkmr0_3?s=books&ie=UTF8&qid=1326737114&sr=1-3-fkmr0

    Then, read any book you want on data warehousing. If you like, read Kimball and/or Inmon. If you read anything by Kimball or about his methodology and think it's the right thing to do for a data warehouse, go back to steps one and two. However, you can use a varient of the Kimball methodology when you get to "Cube Land" (OLAP). But, for a data warehouse you really want to understand and implement temporal data in your data store of choice.