We frequently talk about how many DBAs are concerned our job may be phased out in the future. This episode discusses one common career path in going from DBA to Data Warehouse Architect and we talk with Thomas LeBlanc about his transition: his decisions, his path and his advice. Many companies can’t afford to staff separate individuals as developers, DBAs, analysists and architects, so there are generally opportunities for most of us to learn these technologies. Whether or not you can fully transition into a completely different job, never stop learning and broadening your knowledge base and abilities.
“The DBA role, I think, once it’s inside of you, I don’t think you ever can let it go.”
“It’s a gradual thing, you’re picking up more as opposed to generally making a full switch.”
“There’s analytics, modeling and administration. You can either concentrate in one of those, or you can do some of it good in each one of those and combine those skills together.”
“In order to be marketable, you’ve got to know some stuff and you’ve got to spend some time learning something new all the time.”
Listen to Learn
01:08 Compañero Shout-Outs
02:48 How Thomas got started in the transition
07:55 The learning curve
10:40 Things have changed since Thomas entered the data warehouse space
12:15 Operational Data Store vs Data Warehouse
13:32 Tabular hasn’t rocked Thomas’s world
17:14 Once a DBA, always a DBA…the transition is gradual
20:18 In most companies, data specialists usually have to be generalized
23:28 How to get customer buy-in when you’re an introvert
27:57 Tricky parts to transitioning from DBA to architect
29:36 When did Thomas decide to make the leap to make the switch to a new job?
32:06 More good tools for transitioning
34:17 SQL Family Questions
40:02 Closing Thoughts
Business Intelligence & Data Warehouse Architect, Data on the Geaux
Thomas LeBlanc (Microsoft Data Platform MVP) is a Data Warehouse Architect in Baton Rouge, and uses his 28+ years in IT to develop OLTP systems with normalized databases for high-performing T-SQL and dimensional data marts using SSIS, SSAS, SSRS, Power BI, and Excel. As a PASS volunteer, he is past chair of Excel BI and Data Arch VCs and is active in the Baton Rouge UG and SQLSaturday.
Blogs – TheSmilingDBA.BlogSpot.com and Thomas-LeBlanc.com
Carlos: Compañeros! Welcome to another edition of the SQL Data Partners Podcast. I am Carlos L Chacon, your host. Today our topic is Transitioning from DBA to Data Warehouse Architect and with me, I have Thomas LeBlanc.
Thomas: Hello, Carlos.
Carlos: How’s it going?
Thomas: Good, and how are you doing?
Carlos: Good, good. We’re excited to have you on today’s program.
Thomas: Yeah, I’m excited to be here.
Carlos: Yeah, we’re going to be talking about your transition and I know Kevin’s had some transition as well, and so we’ll be getting into that. Before we do that, however, I do have a couple of Compañero Shout-outs I want to give. First, to Ray Kim. James Rhoat, who’s actually traveling in China, reached out to say hello. That was nice of him thinking about us there. Alvaro Costa, long-time listener, finally connecting on LinkedIn, so thanks, Alvaro, for doing that. Lars Rasmussen, who I actually think is down in your way, Kevin, down in North Carolina.
Kevin: He is. Hello, Lars!
Carlos: Yeah, Hello, Lars. And Julian Schrenk. I’m sure I did not say that correctly. I apologize, Julian, but thanks for connecting with us on Twitter.
Also, wanted to quickly go some changes, if you will, or some additions, I guess is a better way to say that, to the SQL Trail. If you’ve been a listener to this podcast, you know that in October, we are hosting our SQL Trail event in Richmond, Virginia. It will take place over Wednesday, Thursday and Friday. So it will go over the 10th, 11th and 12th. We’ll start Wednesday at 2pm. Previously, we only had tickets to the whole conference, or to the Friday workshop. We have added another ticket option, which would allow you to come to the Wednesday and Thursday events, so a bit more of the traditional conference piece and you would not have to attend the Azure workshop on the 12th. So, that may be an option for you if you’re interested. We hope that we’ll see some of you there, on the SQL Trail in October. You can go to the URL sqltrail.com for more information about that.
Our URL for today’s episode is going to be sqldatapartners.com/leap, for making the leap to this new area, or sqldatapartners.com/143. With that, let’s get into today’s conversation.
We’re talking about making this transition. Obviously, you have made the transition. Maybe we should start with the why. Did you wake up one day and be like, “eh, I’m done with this. Show me the money. I want to go be an architect”? Let’s talk a little bit about how you made that leap, or what that looked like for you.
Thomas: At the time, I was a database administrator in SQL Server and I’d made the leap from developer to DBA when I saw our area had a need for DBAs, and a couple of companies did. I think the initial part was attending the PASS Summit Conference and just seeing the scope and breadth of what being a SQL Server DBA was all about. But once I became one, and my job was more of just keeping things running, I noticed that there were people writing articles, doing webcasts, so forth, that were explaining how to set a lot of these things up, more of an automated fashion, maybe more frequently, and that’s what I started doing. I started following and reading a lot about how to make our systems a lot better, where I did not have to just keep things running. What that lead to was less and less work to do. I realized, “hey, what else can I do?” I guess the feeling was being maxed out as a DBA. There was another part, too, the developers were using what is still around, the Entity Framework or O/RM. And that really started to eliminate the DBA developer from being a developer.
Carlos: Interesting, sure.
Thomas: Yeah, it was generating the code, they didn’t want my opinion.
Carlos: You’re getting in the way, Thomas.
Thomas: Yeah, the path of being where I was there, to being the manager, was eliminated out of the company and I noticed there was a data warehousing or business intelligence group. They actually called it Business Information. It was BI, but it was called Business Information. What happened was I was at a SQLSaturday, I actually spoke at it in New York City, I met some people. Thomas LaRock wasn’t working for them yet, but it was called Confio and they had a product called Ignite. They told me I could install it as a 14-day trial. Well, two or three years later, after that SQLSaturday, the BI group asked me to look at a system that used to take under a day that was taking under two days, it was their end of month process. I plugged this 14-day trial software in and found these four really badly performing queries. When I diagnosed them, it was some fact tables that were about 65 to 80 million rows with no clustered index. There were four non-clustered indexes that weren’t being reindexed or reorganized and I said, “well, give me a night and let me see if I can create a clustered index on these fact tables and then recreate the non-clustered.” And I did, and it went down from two days to ten hours, so this group liked me. The 14-day trial became four instances purchased and I just started looking at their stuff a little bit more. Now, back up about 5 or 6 years before this, I actually downsized a full data warehouse to a little data mart for a paper company that I was working for. So I went and there was a weekly blog on this guy creating a data warehouse. It sounded like it was either for Wal-Mart or K-Mart and so I read weekly of this guy’s diary and understood the flow of it. That’s how I got towards it, and really, later on we got that process down to about four hours and I started getting interested in these fact and dimension tables and what they were doing. They were in Cognos at the time, but my interest started moving towards that. Another skill that helped me a lot was I did a lot of reporting. Back in the day, when I was a developer in VB 3, 4, 5, 6, you had Crystal Report imbedded in Visual Studio, so I wrote. In my days, when you developed software, you wrote your own reports. Now, that seems to be passed on to BI, but you wrote your own reports, and so I had some report-writing experience, and that was all the basis of me getting into data warehousing and BI.
Carlos: Okay, so there you go. I think it’s interesting you put down maybe some fundamentals that you had, that enabled you to then start looking at some of these other facets, right?
Carlos: I think anybody, from a DBA perspective, would be like, “oh, clustered, non-clustered indexes”, we just talked about that in one of our previous episodes with Rick Lowe about heaps. This idea of having clustered indexes, and that’s very traditional stuff and so it’s interesting that some of it is the same, but then obviously, fact tables, dimensions, there are some new attributes there. How did you find the learning curve?
Thomas: Yeah, so then I started reading some of Kimball’s books. I think someone gave me the Data Warehouse Toolkit, and then I purchased the one that was directly towards Microsoft. I started reading those. I probably had to read the first four or five chapters many times. I probably still re-read it once a yearly basis. I didn’t get into the BI side, but I saw some things about it and some of the SQLSaturdays, I kind of looked about both people talking about it. But I got hooked on the dimensions and facts, I could understand the transactional ones, the snapshot and the incremental were a little bit different and you kind of had to change your mindset, but then that book about Microsoft introduced me to Analysis Services. So the Cognos had a similar tool as Analysis Services, but then I saw the power of Analysis Services. The company I was at, we had a custom report writer and it would log people, like someone would ask for a new report, it would put in this custom display. It was actually in Visual FoxPro and it would record how many people were running the report. What we noticed was a correlation between requested reports and actually using the reports.
Carlos: Oh, sure. There’s always a discrepancy, there.
Thomas: Yeah, and it actually helped us judge who would get the option to get the next report, was the ones that were actually using the ones that were already written for them. But I saw that a lot of these reports, the only thing different was the sorting or grouping. So, they would take the same report and just change the grouping. Some of them tried to dynamically change it, so you had to imbed logic in the grouping header. But when I was introduced to Analysis Services, I noticed, “wow, you can do all this grouping and slicing and dicing and just imbed the business rules in Analysis Services.” At that point, I moved from that company to another one that I was able to start doing multi-dimensional cubes and start to learn the MDX part of it. Most of the ones we do today are all in Tabular. But the struggle always is to get the business to understand the flexibility of Analysis Services and imbedding your business logic in it, rather than just keep writing queries and imbedding them in reports.
Carlos: I’m curious, we go through some of this transition and I’d like to bring Kevin in here as well. This idea, so you’ve kind of made the transition, you mentioned your story about starting with fact and dimensions and then adding a tool and things like that. How have things changed from when you quote, unquote, I’ll use the word entered, the data warehouse space to where they are now?
Thomas: To be honest with you, I hate to use that word, there’s not much difference in what I’m working with today.
Thomas: I know in the market that it’s changed a lot, especially with the internet things and the NoSQL databases, the big data type structures, but the places I’m at right now, we have not gone to that, and I don’t see it happening anytime soon in the business space that I’m in, currently. The only thing really big difference is we do more staging and more operational data store than just straight from transaction system to OLAP. A lot of that has to do with not having on-site developers and using 3rd party applications and their data extracts. I went from a custom software shop to a ‘let’s buy something already on the market’ shop and then put that in a data store that people can report off of and then spin off the data marts in order to use Analysis Services for their reporting.
Kevin: To help the folks in the audience, could you explain what an operational data store is, versus a warehouse?
Thomas: In our case, an operational data store is really almost a full copy of the existing transactional system. People want to be able to query the data immediately or by the next morning. We have analytical reporters that not necessarily have to build reports, but they need to crunch some numbers. And from that, they’ll then, in turn say, “okay, we would like this in Analysis Services” or “we want to put this on a PowerBI report”. So, our operational data store is the actual, some of them are backup and restores of databases, other of them are SSIS packages that moved particular tables in their same exact structure to the same structure in the operational data store. Or, maybe a table has 120 columns, and we only want 20 columns in the data store, so that is like a temporary area, usually a day old, or a day previous, that people can actually query without affecting the transactional system.
Carlos: One of the things that I thought you would come back and say, “oh gosh, this whole Tabular thing is really kind of thrown us for a loop”, because admittedly, I’m not completely in that world, but I feel like it’s changing a lot of things. Particularly for folks who have already built their multidimensional models, they’re like, “well, now what do I do?” It seems like Tabular’s kind of taking over the world, but it didn’t sound like that phased you all that much. Same ideas, I guess, just a different way to go about them?
Thomas: Yeah, I think my ideas changed from three or four years ago to today. I think what really did it was, first of all, they put in the bi-directional filtering, which helps with mini to mini relationships, which was a big thing.
Carlos: Yeah, there were some limitations in the beginning, no question, any kind of version 1 type issues.
Thomas: Correct, yeah, so that was a big step. The other is they actually have, I don’t know if it’s 2016, but I know it’s 2017, is they have object-level security, which multi-dimensional does not have. So there was this thing called perspectives, which, if you’re from the SQL world, it’s like a view, and perspectives would limit what you would see from that perspective, but there was nothing to limit the person from seeing all of the objects just by going to the root-level model. So now, with that introduction, that was a big step for Analysis Services and so that’s pulling people into it, as well. The other thing is people are now using PowerBI and the modeling in PowerBI is Tabular, so people are– what happens is they build these– they put their own query, they don’t model it, they just join all the tables in one query, get all their columns, all their calculations and then they’re like, “okay, we want to use that in another report.” Well, you’ve got to copy and paste that, you didn’t set up any relationships, so you want this additional dimension, so you’re going to have to add it inside of there. Or you can just build a Tabular model, let IT support that and you just keep hitting that on as many PowerBI reports as you want. Plus, you can still use Excel, you can use Reporting Services, pretty sure you can still use Crystal, even Tableau will connect to Analysis Services. So, by building that model in Analysis Services, and of course the precursor is formulating your dimensions and fact tables properly, then many people can have access to it without having to write their own queries or copy and paste queries. Now, the multi-dimensional, there are a lot out there, and from the consultants I’ve talked to, they’re going in there to help keep them running, but a lot of those IT shops or businesses are letting some of these consultants re-write it in Tabular.
Carlos: Right, interesting.
Kevin: Yeah, I’ve definitely seen a move toward Tabular. Case in point is Azure Analysis Services currently only supports Tabular models. I know it’s on the roadmap to support multi-dimensional, but it’s been out for a little while, it’s been GA for a little while, and there’s no multi-dimensional. It’s definitely a Tabular world.
Thomas: And you can actually, in Azure Analysis Services, you can import a PowerBI .pbix file, and it’ll import that model into Azure.
Kevin: Yeah, the only problem I’ve got with Tabular is you’re going to hit that size limit if you’re working in a large enough shop. Where multi-dimensional, files can be more than 10GB, I don’t care.
Kevin: But with Tabular, you’ve got those limitations where, I know that 10GB compressed using columnstore-style compression is a lot of data, but you can hit those marks.
Thomas: You definitely have to play in and support it well, whereas multi-dimensional, you didn’t have to worry about that.
Carlos: Interesting, so again, open to both of you to chime in here. I guess I’m not asking if you’d make the same decision again, but maybe the question to ask is, do you wish you would have made the move a little sooner?
Thomas: That’s an interesting question, because I still do DBA work today. The DBA role, I think, once it’s inside of you, I don’t think you ever can let it go. I’m still looking at perfmons, sometimes. I’ve got Diagnosis Manager running on some servers where I go look to see what’s going on. Especially all the new stuff with query plans, with the query store, I mean, I’m still using all of that stuff just to improve the performance of SQL anywhere. I mean, there’s tools you can still use as a DBA, even though you’re a data warehouse architect. The problem I run into is people know you know that, so you gotta figure out how to stop all of the requests from coming in, which could be difficult once they know you know some stuff. You kind of have to manage that very effectively.
Kevin: True. On my side, no, I’m happy with the path my career has gone, and I’ll say that the transition generally is not you just one day say, I am now in this field. Like Thomas said, it’s a gradual thing, you’re picking up more as opposed to generally making a full switch. I don’t really do database administration anymore, but I still do a lot of database development. I’m still working with the ins and outs of TSQL on a daily basis, even though I’m now in analytics and mostly, actually it’s my team that does all of the analytics stuff, I just take credit for it. But being in that space, those skills that you develop on the administration side or on the TQL development side absolutely pay off. The techniques and technologies that you switch to, well guess what, it’s more of the same. For example, you want to learn R? Well, hey, R is a functional programming language that has an entire set of packages around it designed to make it easier for a database developer to get in there, it’s the Tidyverse. The core mantra of this idea is you want tidy data and if you read the paper that says what tidy data is, it’s normalized data. It’s third normal form. And then denormalized to make it easier for analysis, but it’s what they’re getting into. And you’re working with tools like, say, dplyr. Well, dplyr is a tool that gives you functions like filter, select, having or aggregate, group by, arrange. It’s just slightly different names.
Thomas: Yeah, I’ll say the core concepts are the same. I mean good structured tables or primary keys and clustered indexes. One of the first talks I ever did was Third Normal Form, That’s Crazy Talk. I saw an article on SQLServerCentral.com that people didn’t know the difference between a primary key and a clustered index and an identity column. I mean, there’s so much that you have to know in the background of it to understand any tool that you bring on top of it. You know, it’s funny, Kevin’s talking about analytics, and I mean, that’s my next step. I’m working with the risk group and they’re using SAS, but I’m starting to look at the Python and R integration in 2017 and that’s one of the little side things I’m learning now, is another analytics language. I’ve gained the analytics knowledge from what I can do in Analysis Services, and now I’m looking in a different direction with analytics and I mean it’s going to be, I think it morphs all together. I remember in the beginning of being a DBA you had three kinds: an administrator, a developer, and a BI. I see the same thing nowadays. You might not call it a DBA, but there’s the analytics person, there’s the modeling person and there’s the administration person. So you can either concentrate in one of those, or you can do some of it good in each one of those and combine those skills together. Kind of like what Kevin’s doing now.
Kevin: Right, it’s a matter of specialization, that as you develop further you may have the opportunity to specialize deeper and thus get into something that’s a bit further afield, but for a lot of companies– I work at a company where we have separation between the database developers and the database administrators. I go talk to people, I interview people for jobs and they say, “I’ve never worked at a company like that. I’ve always been the guy who writes the integration services packages and maintains the databases and does the TSQL development and I tried out Analysis Services once but got confused and said it was garbage and left it alone.” That one person’s doing all of those things because that is the norm for a lot of companies, where they can only afford to have one or two data specialists and so the data specialists themselves have to be quite generalized. I think that trend is going to continue. It’s not like companies are suddenly going to say, “oh yeah, we now need a lot more specialists because we have this general notion of specialization.” It’s more that you work in some companies where they can afford the specialization where they can get the gains from having someone who’s deeply familiar with Python, from someone who’s deeply familiar with TensorFlow and Keras. Versus other companies where, eh, you don’t really need that person. If there’s a guy who’s playing around with it for a little bit, that’s cool, but then he’s going to back and run CHECKDB.
Thomas: That’s good stuff. Yeah, I think any part of this data positions that you can have in a company, as long as you keep learning another angle at it, you’ll always have some sort of job. You’ll have a little more enlightenment that you can do something different and you’re not always stuck in the same rut, and I think it helps an individual to work harder.
Kevin: Absolutely. So, Thomas, one of the trickiest parts of transition for me was moving from a place where I could sit back hidden in my cube and hope that nobody knows who I am, to actually going and having to talk to customers, to get buy-in for what this warehouse is going to look like, where customers can be internal or external clients. How do you do that? How do you get customer buy-in, especially if you do fit that stereo-type of the introverted DBA who just doesn’t want anybody to talk to him?
Thomas: That’s a difficult thing to do. I’ll tell you, I remember hearing a person say it’s really based in fear. I think a lot of us, moving forward, and they said, “all men of courage walk through fear.” You know, like I had a fear of talking or speaking and at church they needed a reader for some of the lessons. I got up there the first couple times just sweating, choking, I mean, it was embarrassing, but as I did it more and more and more, I got better and better and better, more relaxed. You go into the first one you do and it’s just horrendous. You’ve just got to say, “okay, I’m not going to give up on this, I’m going to try again. I’m going to try again and I’m going to try again.” You’ve just got to keep putting one foot in front of the other to get to that point where you’re more comfortable with doing those sorts of things. Now, what happens, and what’s happened to me, was actually getting the right requirements out of the business. And they speak a different language. Yeah, and I mean, in one of the talks I do I have a great example where the analytic person was giving us one thing to work on, but the VP wanted something completely different. And it’s hard to, in a company, because of the hierarchy structure, not to try to go to somebody higher than that person, but sometimes you do and sometimes you have to figure out how to talk to that person. I remember that diary I read every week from this guy doing this huge data warehouse, he had to go to higher people and get them all to have buy-in on what he was doing. So, the CIO and the CEO or the Senior VPs or the VPs, whoever that level up was, he would have to go to them either weekly or monthly and make sure that all of them had buy-in to what they were doing. That wasn’t something for him to push those guys to do, he would have to go to his boss and say, “hey, can you talk to these people? This is what I’m trying to accomplish,” and make sure everybody has buy-in. That way it goes down both sides of the hierarchy of the company.
Carlos: It’s so funny, going back to that idea of you have to try, you have to get good at it. We wouldn’t think twice about our very first, even, SELECT statement or our very first program, PowerShell script like bombing, like erroring out the first time you run it. That’s, okay, we wouldn’t think twice about it. “Oh, let me fix it, let me try it again.” But for some reason, that human interaction sometimes, or being in a meeting, we put so much pressure on ourselves there to be like, “oh gosh, I have to get this right or everybody’s going to find me out.”
Carlos: The knuckle-dragging Neanderthal that I am.
Thomas: Get caught. I’m afraid I’m going to get caught, that’s it.
Carlos: Yeah, that’s right. But in reality, we’ve all been there, we’ve all had to start someplace and most of the time, as long as you’re not a jerk about it, because we’ve all been in meetings with those people. That’s not fun either.
Kevin: No, it’s not fun being in meetings with me.
Carlos: I didn’t want to call you out like that, Kevin, but–
Kevin: It’s all right. I’m fine with it.
Thomas: You’ve got to try, you’ve got to put some effort in it and understand that you’re going to fail. I mean, I can’t recall how many times I’ve accidentally deleted a table or almost deleted a table or wiped out the rows in a table and then hopefully in 30 minutes I can restore backup somewhere to recover what I just removed. I mean, it’s happened to me just in the last two or three years, you know, after years and years of trying to be cautious with it, or lucky enough having replication turned on and that prevented me from deleting a table. You’re right, you can put both of those paths together on human interaction and failing as being a DBA.
Kevin: Are there any other really tricky parts to transition that you want to call out, here?
Thomas: I think the understanding of the dimension and facts if you’re like me and you’re so used to people have normalized databases, like third, fourth, fifth normal form. It’s kind of tricky to understand the dimension and facts part, especially when you duplicate data, you’ve got to kind of overcome that hump. I think the slowly changing dimensions are kind of difficult to understand. Just get used to having duplicate data in some of your tables is an okay thing. The Analysis Services part, there’s a lot of good tutorials, and you just need to keep running through examples. I know, for me, there’s sqlbi.com, there’s a couple guys that blog, Chris Webb and Bill Anton and some that I just have to constantly go read. I used to daily read on sqlservercentral.com, now it’s a couple of other things, and I just try to keep up and use examples. Usually there’s three or four hours of a week that I just push away what I’m working on and I just go try something new. So that practice really helps, and the human interaction is a big one and being able to understand people’s requirements and being able to pull that sort of stuff out. And the last thing is overcoming the want to still be a DBA and tell the DBA what to do. I think that’s a very challenging aspect is to keep your hands out of that part and learn how to make general suggestions, rather than demands.
Carlos: Yeah, “when I was doing this…” Yeah, I can see that. Now, I am curious, kind of playing along with that a little is, we’ve talked about this idea that we can pick up some of this today. We all have SQL Server, which means we all have Analysis Services, we’ve probably played with some Integration Services, things like that. But making the leap to, which for most of us, I think either means a new job, so where I’m no longer the DBA, I’m going to be hired in on a data warehouse or analytics team, what was that experience like or what made you decide that you were finally ready to be like, “you know what? I’m going to start applying to some of these other positions”?
Thomas: In my case, it was the fact that I didn’t see too much more I could do as a DBA and I needed to find another path where I wasn’t stagnant in something in particular. That’s what made me make the leap. To stay in it, I think I might get a little more sleep as a data warehouse architect than a DBA, so that was kind of encouraging. The people that you work with in data warehousing or business intelligence, they’re more the reporting and kind of the pretty stuff that people see. It’s kind of a good feeling. I hate to say that DBA is kind of a thankless job, but sometimes it is. Same thing with system administrators. You know, when something goes wrong, they come to you and you fix it and they’re like, “yeah, okay, thank you.” But if everything’s running okay, no one saying nothing and they’re like “what is he doing?” Or “what is she doing?” “Well, I’m keeping the systems running.” Whereas, when you present that report and then they say, “oh, I need to show this to such and such. They’ll love this.” You know, you get a little more inner good feeling towards it. So, working with those people, there is some competition. There is a little more competition, I think, between people in data warehousing and BI than there are as the DBAs to each other. So you’ve got to adjust to that, but being able to have that report or that– you know, show them, “hey look, open this pivot table in Excel” and you can just slice and dice whatever you want, and then you show it to them like three or four times and they’re finally, “oh, I get it.” That light comes on and then you don’t ever have to work with them again, they just go to town on the data, other than when they say, “hey, it’s missing this, can you add it?” And then you’ve got to get them to understand how long it takes to add something.
Carlos: Okay, good deal.
Kevin: Last question from me, you mentioned a few tools throughout the process, here. Are there any other big, interesting tools that you think are worth mentioning, either from the architecture side or the development side that have really helped you out?
Thomas: Well, of course, documentation is a big deal, and if you don’t document things, then you can’t go back to it. The Kimball group has a free Excel spreadsheet where you can actually design your data dictionary. The dimensions and columns or facts and columns and actually place a place for it to link to the source tables and columns. And then there’s actually a little button, two of them you can click on this, where it will generate the TSQL for creating your tables as well as creating a little diagram in the Excel spreadsheet. So I think that’s a very, very helpful tool with diagramming what you’re creating before you create it. Kind of the conceptual view before you do the physical view. The other thing is PowerBI. PowerBI is a really cool interactive tool. If you could get in there and start playing around with it and building some models, it really helps you understand the power of imbedding that business logic into a model. Those are the two big ones. Any sort of monitoring tool from whatever company you want to pull it from is good. SSIS is real good. Back in the day, DTS was the original SSIS and I was like a “no, thank you” for that. Then once I got into SSIS and tried it and used it a couple times, I was like, “this ain’t so bad.” But more and more as I use SSIS, some of the things I’m realizing is I could just write some of this stuff in stored procedures and then it could be scheduled from some sort of Enterprise scheduling software, rather than putting it into SSIS and not having someone else around that could support it. So, I think the tools you use, you’ve got to kind of look at the other people around you and what they can support, because if you’re not around, you need someone else to help you out.
Carlos: Well, good deal. Thanks. I think that’s some interesting ideas and kind of seeing some of that conversion. Should we go ahead and do SQL Family?
Carlos: Okay, so Thomas, your all-time favorite movie?
Thomas: All-time favorite movie was The Usual Suspects.
Carlos: Okay, now is that with Kevin Costner?
Carlos: Spacey, oh, Kevin Spacey.
Thomas: Keyser Söze.
Carlos: Okay. I actually don’t know that I’ve seen that one.
Thomas: You should see it. The other one, I was talking to somebody about the other day was Heathers. Have you ever seen that?
Carlos: I haven’t.
Thomas: With Wynona Ryder as, she was Veronica in it? It’s kind of a cult classic, back in the day. That was another good one.
Kevin: I don’t know that I would have pegged you for a Heathers watcher.
Thomas: Well, that was a long time ago. That movie was way back when. Those are two that come to mind.
Carlos: Kevin’s into old movies, so you know, the older the better, I think, sometimes.
Thomas: Yeah, you should go watch Usual Suspects, that’s a pretty good one. I think the other one, is it Momentum, the one that goes backwards?
Thomas: Momenta, yeah. That was another favorite.
Carlos: Okay, so the city or place you most want to visit.
Thomas: City or place I most want to visit. I’d have to say in Alaska, I went up there a couple of times and I’d like to go sit in Denali National Park up there one more time. I don’t think I got to sit in that cabin and just sit in the quiet and just nature part of the world, so I’d like to go up there again.
Carlos: Food that most reminds you of your childhood?
Thomas: Spaghetti O’s and meatballs.
Carlos: Now, I have to ask, is that still something that you regularly eat?
Thomas: No, but I (?) and the way I ate it and the grossness of being a kid with Spaghetti O’s and meatballs. That, or a grilled cheese sandwich, which I still eat grilled cheeses.
Carlos: Yeah, there we go, okay, very good. Now, when did you first get started with SQL Server?
Thomas: I first got started in SQL Server, really, the first job out of college. I worked for a software company that built a laboratory information management system and they transferred from, it was a professional basic program in DOS and they started writing servers, OLA servers to access different databases and one of them was SQL and the other was Oracle. I think the other one was DB2. And so I got to install and train people on the software and really it was just basically installing it and then just running the scripts to create the tables and then letting it run. So that was my introduction to it. When I was programming at a company called Innovative Emergency Management, Louisiana gave companies money to do training and so I decided to do the DBA track with SQL Server 7.0 and so I got my MCDBA. It was probably about 10-12 years ago, I got my MCDBA and then that’s when I really got involved with SQL Server.
Carlos: Right, made the leap there, okay. Now, if you could change one thing about SQL Server, what would it be, and we can expand this into, I guess, even the SSIS or some of the data warehouse components if you’d like to, but one thing you’d like to change about the tooling, there?
Thomas: What would I want to change about the tooling? Maybe when someone creates a table to warn them about the primary key being a clustered index, just so they know that, “hey, you’re about to create a clustered index, and that’s what differentiates a heap from a clustered index table.”
Carlos: Okay, so almost like a little warning or provide some guidance, there, like, “hey, this is kind of a big deal.”
Thomas: RedGate has that SQL prompt tool, and if I write an update statement and try to run it, it prompts me saying, “hey, you don’t have a WHERE clause on here.” So those little warnings, I mean it helps. It might make someone curious, “well, what are they talking about, clustered and non-clustered” you know? That might be one. Some of the best practices where they come up at you in Management Studio.
Carlos: Okay. Now what’s the best piece of career advice you’ve received?
Thomas: Best career advice I’ve received. I think from attending the PASS Summit for so long, that most of those people there, most of the speakers and most people you bump into will tell you always keep expanding your knowledge. You know, keep learning. Don’t rely on what you did yesterday, because you just don’t know what’s going to change. I see more and more, just to talk with older people, not that I’m young, you know, you used to work for a company for your whole life, and that’s not the case anymore. I don’t know if that’s good or bad, but in order to be marketable, you’ve got to know some stuff and you’ve got to spend some time learning something new all the time. Or refreshing your existing knowledge, not saying, “I’m not going to go to that session because I already know it.” Well, you never know if there’s like 5 or 10 minutes of a session that shows you something totally different that you didn’t see before.
Carlos: And our last question for you today. If you could have one superhero power, what would it be and why do you want it?
Thomas: That’s a good question. I think if I could change someone’s mind sometimes. But then that would seem too powerful, because then you wouldn’t help them learn something, so maybe the superhero power I would like would be able to fly. Just soar through the sky with the birds and just be at peace, you know, up in space.
Carlos: Yeah, the chances of you getting back to Alaska increase tremendously with that ability, right?
Thomas: There you go, there you go.
Carlos: Well, Thomas, thanks so much for being on the program with us, today. We do appreciate it.
Thomas: Thanks, Carlos, and thanks, Kevin.
Kevin: Thank you.
Carlos: So compañeros, that’s going to do it for today’s episode. Thanks again for tuning in. My takeaways from today’s conversation, I guess, are really two-fold. So one, what was old is new again, so I liked the idea that Thomas talked about, “hey, I can still do some of this stuff. Some of the things that I learned still apply to me,” and so it’s not like what we’ve been taught or what we’re training in we have to just toss out the window. We’re going to be able to use some of that stuff, we’re just expanding. And I think to Thomas’s career advice, that you have to keep learning is that a lot of these things, we can start taking on those responsibilities today. We are very fortunate, in a Microsoft world, to be able to have those licenses, SSIS, SSAS, are already there. We don’t have to convince someone to spend additional money for us to start playing around with them and we can take on some of those ideas and start looking at that data. You know, yeah, maybe it won’t be perfect, but it’s something that we can start with, and so I thought that was very interesting. So again, the show notes for today’s episode are going to be at sqldatapartners.com/leap. As always, you can connect with us on social media. You can connect with me on LinkedIn. I’m @carloslchacon and I’ll see you on the SQL Trail.