I am the host of “.NET Rocks!”, an Internet audio talk show for .NET developers online at www.dotnetrocks.com and msdn.microsoft.com/dotnetrocks. My co-host Richard Campbell and I interview the movers and shakers in the .NET community. We now have over 180 shows archived online, and we publish a new show every Monday morning. For more history of the show check out the May/June 2004 issue of CoDe Magazine, in which the first column appeared.
In show #181 Richard and I talked with the always mind-bending Kimberly Tripp about improvements in SQL Server 2005 Service Pack 1 (SP1), converting Oracle users to SQL server, Virtual Server, and more.
Carl Franklin: So Kim, what you have been thinking about and talking about and working on lately?
Kimberly Tripp: A variety of different things actually, mostly related to content and new resources around the release of SP1 for SQL Server 2005 and a lot of the new products, some of which haven’t been fully announced yet. I know Richard knows a little bit about some of these, but there are just some really exciting things going on in terms of SQL Server and database development and even testing and QA (Quality Assurance) and I don’t think you guys...
Richard Campbell: Absolutely.
Kimberly Tripp: Some of the things you guys started talking about. There are some exciting things that I think if people stay tuned and look at some of the announcements that may be come out around TechEd, I think you will start seeing some exciting future developments for database developers, and testing, and quality assurance and just all sorts of cool stuff coming down the pipeline. So, I started to get a little bit involved with that and I just finished a 54-page lab on database mirroring and SP1. So, people that go to TechEd can do a hands-on lab that is very extensive and we actually are going through quality assurance on a DVD that you will be able to walk away with to...
Carl Franklin: Wow!
Kimberly Tripp: …to basically reproduce the database mirroring lab and use the VPC environment for learning. So, I just finished that and I have got three sessions, a couple of chalk talks, and a pre-con at TechEd so I am kind of...
Richard Campbell: Ouch!
Kimberly Tripp: …rounding out that stuff, and so it’s just-I’m in kind of, major resource mode right now so...
Carl Franklin: Right.
Kimberly Tripp: And then of course, I am teaching in my spare time. I just taught-this was really cool, you guys would kind of like this-I did an event last week that was for what we jokingly called “SQL skeptics.” And it was just a fun name that we are saying but it was really for people that were skeptical of whether or not SQL Server was a viable platform...
Carl Franklin: Huh...?
Kimberly Tripp: …for large VLDB production cases, and so it was...
Richard Campbell:(Laughing)
Kimberly Tripp: No seriously, it was mostly targeted towards Oracle experts that were architects in the Oracle space that...
Richard Campbell: So this wasn’t about whether the databases are the right tool for this, but specifically Microsoft SQL Server.
Kimberly Tripp: Exactly, exactly. And just telling people that are really knowledgeable about databases and have a really strong background in databases, [and] really just kind of proving the point that SQL Server is a viable platform and has an amazing set of tools and resources that can-if it’s not necessarily the exact same feature-it might be able to still do some of the things that they were doing in Oracle, for example, but just differently. So I mean, just giving people with a different mindset and a different architecture and just like I said, a different way of doing things and approaching problems, and there were big discussions about grid-based computing and Oracle rack and…
Carl Franklin: Probably a lot of numbers being thrown around too, right?
Kimberly Tripp: Yeah, but numbers aren’t that scary. I mean, SQL Server can play with the big boys in terms of transaction processing. And I think the things that were the most interesting was just architectural and style differences; that the mindset of an Oracle person to a certain extent is one way, and the mindset of a SQL person is different, and I am not saying that Oracle is all evil or SQL is the best thing on the planet. It’s just-sometimes what it takes is thinking outside the box, looking at the problem in a different way, and you can find a solution that isn’t feature-by-feature exactly the same, but yet still performs well, stays available, and so forth. So, it was a fun, different mindset kind of class.
I actually just got an e-mail today that said something like, “I thoroughly enjoyed the discussions around ‘shared nothing’ and ‘shared everything’. I was pleased to note that Microsoft religiously believed in the ‘shared nothing’ architecture and why it felt that it was the right way to address the data issue.” That school of thought is almost forgotten when you work with Oracle for a while. So, that was in an e-mail that I got just today. So, it’s interesting, and like I said, it’s just a different approach to the problem. And sometimes the design is what makes something work, not so much having XYZ feature to do it.
Carl Franklin: I got a question for you Kim. Do any of the speakers that speak against you in the same time slot at TechEd ever, like, send bombs to your house and stuff and give you death threats and...?
(Laughs)
Kimberly Tripp: It’s so funny. I have some of the funniest stories about either the same time slot or-but the TechEd organizers have been doing some pretty ruthless things to us over the years. Like this year in a very hot time slot. Okay, so there are lots of kind of jokes on how sessions tend to score better when they are later in the week, and the best time slot is XYZ, and so there are all these theories, theories on how to have a great session, and...
Carl Franklin: Right.
Kimberly Tripp: I do have to admit that 8:00 a.m. in the morning is not the best time slot.
Carl Franklin: Yeah.
Kimberly Tripp: You don’t get as many people...
Carl Franklin: Yeah, for anybody.
Kimberly Tripp: People are hung over.
Carl Franklin: That’s right.
Richard Campbell: It’s TechEd.
Kimberly Tripp: You know the blah, blah, blah.
Carl Franklin: You don’t want to be there; they don’t want to be there.
Kimberly Tripp: Exactly, 8:00 a.m. is totally not the best time of day; so it’s really funny. There is this great time slot that I have this year which is Thursday, last time slot of the day before everybody goes to the party, it’s like 4 o’clock, 5 o’clock something like that...
Carl Franklin: Nice.
Kimberly Tripp: And they put Steve Reilly in exactly the same time slot and I think Mark Russinovich as well; so they have got these three probably pretty large sessions, all going at the same time by speakers that give each other grief all the time. So, it’s just funny. So I think they’re given us a run for our money this year.
Richard Campbell: Making you work for it.
Carl Franklin: Yeah.
Richard Campbell: So, Kim you mentioned Service Pack 1 for SQL Server 2005, and the way you talked about it, it’s not like, this is just a patch of bugs from the RTM; There are new features in Service Pack 1.
Kimberly Tripp: Yeah, yeah totally. Two of the features that got a lot criticism when SQL 2005 shipped were database mirroring and what they were calling at the time-oh! my God, I don’t even remember what it was called-the SQL Express, something. It was basically like a little Management Studio-light applet and it was meant for querying and Microsoft made the decision to not allow production use of database mirroring and they chose not to ship this little Management Studio-light applet, mostly because the applet that did exist at the time really was a little bit Spartan. So, it wasn’t that it wasn’t robust, I mean, it was really more that, it was just-it didn’t have a lot of features, it was like this really just limited little query tool. You go in, you would execute a query; it didn’t even have all the keystrokes of Management Studio. So, I mean, it was just an environment that I think those of us that used it went, well, okay, if I have to run one query real quickly, and not do anything else, I might use it, but outside of that it’s not an environment that I really want to spend that much time in. And they realized that and they said, let’s not ship it.
And then database mirroring is one of my favorite features. I even liked it at the RTM timeframe, but they decided not to support it for production use mostly because-and if you think about it, it makes total sense-if it’s a feature for high availability, you want to make sure that it has been extensively tested in a variety of different circumstances and has gone through a lot of failovers. And in terms of all of their early adopters of the product, having the system set up for high availability is one of the last things you do per se; you have to get the application working. You have to use the new features and design things, and so as they (Microsoft) kept getting closer and closer to ship, the number of customers that had actually fully-tested failover scenarios was pretty low and they were kind of going, “Well, do we really feel comfortable in this going out as a production feature without more testing?” and so they made the decision. I thought this was a great decision to not pull the whole thing from the product, but to leave it in the product, allow you to use it, allow you to prototype with it-and allow you to test for it, and all you needed to do was turn on a fully-documented trace flag. And the whole feature was documented in [the] RTM-so that’s cool. And nobody is going to go [into] full production use the day that a product ships. So, it’s like-get it out there-get people working with it. 99% of the functionality was good; nothing ever ships perfect, right? I mean, if it did, we would all be out of a job.
So, seriously though, every software product, every product, every company on every platform, there are bugs. So, it shipped out of the box. It was in a good state. I really enjoyed using it and thoroughly learning it, so that when SP-1 shipped it was like, yeah, this is now supported [for] production use. They didn’t really change all that much. Everything that you did, works really well and all they did really, in terms of enhancing it-in addition, yes, they fixed bugs-but in addition they added something called the Database Mirroring Monitor, which is a way for you to get some insight into when you last received activity from the principle, if you are in this kind of high availability configuration and, just all sorts of good stuff.
So, I was really pleased, SP1 came out and-I know some people have had issues with SP1 not installing, even I did on one of the machines that I was working on. I found this kind of a cool tip if any of you guys have struggled; if you go into Control Panel and go to the SQL Server support files and you repair the support files, that almost always has solved my SP1 failure installation. [So if] I failed to install for SP1, I kind of fix it by repairing the support files through this little thing that’s an Add/Remove Programs in Control Panel. But outside of that, I haven’t really had any problems with SP1. I have been pretty pleased with it, and those are the two major things that were in SP1. And then, of course, if you go the knowledge base, you can see the whole fix list of issues and bugs and so forth, and there will be more.
Carl Franklin: That’s cool.
Kimberly Tripp: That’s what keeps it interesting, right?
Carl Franklin: Right.
Richard Campbell: It’s funny how Service Packs have evolved. I mean, it used to be that they really were just patches, just fixing little problems, but it’s almost like we come to expect something big and new in every Service Pack.
Kimberly Tripp: Yeah, I have to admit that’s true, and I am not actually very fond of that. To be honest, I wish this were SQL 2005 A, you know what I mean? I kind of wish that they were naming these things a little differently and that a Service Pack really was just bug fixes-but that’s just kind of me. But you are right, we have kind of almost come to expect it now and they are still delivering on that. So, I guess that’s good, but I kind of do wish there were a separation there…
Carl Franklin: Hey Kim, what’s the largest, biggest, most honking application of SQL Server you have ever seen?
Kimberly Tripp: There is kind of a difference between [what] I have ever seen in production and [what] I have ever seen in design and test. Some of the design and test systems I have seen are bigger than some of the production systems that I have seen, but an interesting kind of banking-based application that I had some insight into was 20 terabytes in size with a 100 gigabytes of growth a month, and it was a large partitioned scenario that was, oh! God, nine million users, and I forget how many transactions a day. And it was an interesting kind of dilemma and problem that they were running into. I needed to be highly available. So, that was kind of an interesting architecture.
Carl Franklin: What kind of hardware was that?
Kimberly Tripp: It was-oh, God! See, the problem with that one is, this is now about two years old and they changed the hardware like five times, and, I don’t even remember at the time what it was-I mean, it was all fan based.
Carl Franklin: Pretty serious to say the least.
Kimberly Tripp: It was pretty serious-and the funniest part about it is, every time I talk to them about various hardware features that they could leverage, like something that I think is really cool, it’s called Snapshot Split Mirror Backup, which is a way to take a SAN implementation and ..
Carl Franklin: Can you define SAN?
Kimberly Tripp: Oh! Storage Area Network; so, basically just this big honking heater, but…
Richard Campbell: SAN is what you use when you don’t care how much you spend on storage, which has got to be incredibly reliable and enormous.
Carl Franklin: Okay.
Kimberly Tripp: Yeah, they are basically rack-mounted, just disk.
Carl Franklin: Like back playing connected disk?
Kimberly Tripp: Yeah, they are usually fiber, fiber-connected and multi-path I/O as well. So, you have multiple ways of connecting to these huge, rack-mounted Storage Area Networks. So and it’s just massive amounts of disks. Paul Flesner gave a discussion to our group last week, our “skeptics,” and he was talking about data explosion and how, when he was working about 15 years ago, 10-15 years ago at Baxter, a terabyte of data was measurable in square meters, you know what I mean, like it would take just a massive, massive room that…
Carl Franklin: I know why that is. I know why it’s blown up so much. [It’s] because [of] everybody storing their porn in there.
Kimberly Tripp: No, no, no this is-now come on, don’t get me in trouble putting Paul Flesner’s name with porn, okay?
Carl Franklin: I didn’t. You did.
Richard Campbell: Here we go.
Kimberly Tripp: No, no, no it was just a massive amount of storage to have a terabyte; and now, I mean, under Richard’s desk, I am aware of this, he has multiple terabytes of storage that are measured in just a couple of square feet and it’s just-it’s amazing to me. Paul also mentioned, soon we are going to have the personal petabyte where you let (voice overlap)
Carl Franklin: That sounds dirty…
Kimberly Tripp: Isn’t that cool?
Carl Franklin: What the hell is a petabyte?
Kimberly Tripp: A petabyte is a thousand terabytes.
Carl Franklin: Good Lord.
Kimberly Tripp: I mean a massive amount….
Richard Campbell: The personal petabyte.
Kimberly Tripp: Yeah. Hey, you guys stay clean now. This is a family show.
Carl Franklin: Yeah we are just saying, if anyone [like that] had moved into my neighborhood I would probably move away. (Laughing) Here we [have] a personal petabyte and …
Kimberly Tripp: If they have their own personal petabyte?
Carl Franklin: In Waterford, Connecticut? Yes...
Kimberly Tripp: No, but it is amazing how much data has changed over the years and how much you can fit on even a USB key-Oh! God, here we go. So, it’s just amazing.
Carl Franklin: Have you seen these little Hitachi hard drives that are four GBs that supposedly PDA sized?
Kimberly Tripp: Oh yeah. Those are very cool.
Carl Franklin: Are they out? Do we have those now? Last I knew they were...
Richard Campbell: Nan drives.
Carl Franklin: Huh...?
Richard Campbell: You are talking about the Nan drives that are all solid state?
Carl Franklin: Yeah. No. No, these aren’t solid state, they actually look-they are little platters and little heads and everything, they are about the size of a pair of dice. Four GBs.
Kimberly Tripp: Oh, size of dice.
Carl Franklin: Yeah, they are very small.
Richard Campbell: There have been the Compaq Flash ones for a while, and they’re like the size of a book of matches.
Carl Franklin: Right, yeah, this is actually a magnetic drive.
Kimberly Tripp: Well, now interestingly, I just searched and I found Arc disk, four-GB hard drive as a USB key but this is the one that I was thinking [of], and this one looks like it’s about two by two as in inches.
Carl Franklin: Yeah.
Kimberly Tripp: About two inches by two inches; that’s the one I know of, but you say there is like a thumb drive-sized one?
Carl Franklin: Yeah, it looks just like you took a big 5¼ hard drive and shrunk it to the size of a pair of dice.
Kimberly Tripp: Wow!
Carl Franklin: And I read about this in Popular Science of all places, and it was a Hitachi thing, they were coming out with them. I will find it. I will find it and put a link to it. But supposedly, the idea was that these are going to go in PDAs because they have the speed of a magnetic drive but they were small enough to fit in a PDA.
Richard Campbell: Here is an article from a year ago, talking about a one inch four gigabyte drive and designed to go into cell phones.
Carl Franklin: Yeah that must be it. It was that I had...
Richard Campbell: Priced at like 65 bucks; so not only minuscule, but cheap.
Carl Franklin: Right.
Kimberly Tripp: Yeah, I am looking online too, and I am finding a few that are these four GB drives with batteries and so forth, and they are very small. They are a little bit more expensive than that. These are in the 200-300 buck range, but it is amazing...
Carl Franklin: Pretty cool.
Kimberly Tripp: It is totally amazing when I think about. When I had a dual 5¼ floppy, running Word off of [it]-or yeah, actually at the time it was WordPerfect. Swapping floppies. It just cracks me up.
Carl Franklin: Yeah.
Kimberly Tripp: And I have only been in the industry so long and it just still seems like it’s amazing…
Carl Franklin: Yeah.
Kimberly Tripp: …the changes we have seen. So, who knows?
Carl Franklin: I heard about a SQL2000 installation that would-and it might have been a demo at a TechEd or something, I don’t know where it was, I’m trying to remember, not successfully. And it was basically a voting system where they simulated the load of a national voting day-and voting is a particularly horrible thing because everybody wants the bandwidth at the same exact time and whereas most of the time it’s dormant but for that surge of those 4 6-hour intervals or whatever, it’s absolutely has to perform. And there were just boxes and boxes and boxes and boxes.
Kimberly Tripp: And the data can be a lot, you know what I mean?
Carl Franklin: Right, right...
Kimberly Tripp: It’s critical data in a very short burst timeframe. It has to have massive transaction loads, yeah.
Carl Franklin: Right, yeah so...
Kimberly Tripp: I don’t know of that specifically, but...
Carl Franklin: But they basically did it with SQL Server and some serious hardware, probably like Compaq or HP hardware and they simulated the load that it would [take]-based on the number of people who vote every year, which I guess isn’t that many, but less than American Idol.
Kimberly Tripp: Are you talking about American Idol or are you talking about...?
Carl Franklin: Yeah, less than American Idol. No, presidential elections basically...
Kimberly Tripp: No, no I know but there is all that...
Carl Franklin: They can handle it.
Kimberly Tripp: This week especially, because that was the finale of American Idol; they were talking about the fact that there were 64 or something million votes cast in the four hours and…
Carl Franklin: It’s insane.
Kimberly Tripp: …a lot of people vote more than once, so that’s a little bit different than the national election obviously, but I am...
Carl Franklin: Now, if we can do that and we are still (Beep) around with dimpled chads in Florida, what the hell…
Kimberly Tripp: I know, isn’t it bad?
Richard Campbell: (Laughing)
Carl Franklin: What the hell?
Kimberly Tripp: People can vote via their cell phone. They can call in and that system in four hours can take 60 million votes, I mean, do the math on what the transactions per second is for that and...
Carl Franklin: Right. So, Mr. Bush if you are listening, Richard and Kim and me, maybe Forte and Miguel Castro, we can get together and solve this problem in probably a couple of days. Oh, maybe not.
Kimberly Tripp: From billable hours, let’s actually make it a couple of weeks but...
Carl Franklin: Couple of months.
Richard Campbell: (Laughing)
Carl Franklin: Couple-5 or 6 months, 7, 8 months; but it is amazing.
Kimberly Tripp: Okay, so that’s 4444 transactions a second.
Carl Franklin: Nyah!
Kimberly Tripp: 4000-that’s pretty impressive.
Carl Franklin: That is impressive.
Kimberly Tripp: 4444 transactions a second.
Richard Campbell: That’s like a TPM number in the quarter million range. That’s, [as] big as they get.
Kimberly Tripp: Yeah that’s pretty impressive. So, yeah, it would be interesting to know what the American Idol hardware is.
Carl Franklin: Yeah it would, wouldn’t it?
Kimberly Tripp: I am actually-this is what I am doing while you guys are…
Carl Franklin: We’ll find out.
Kimberly Tripp: …are talking to (Laughs).
Carl Franklin: (Laughs) Call the studio.
Richard Campbell: (Laughs)
Carl Franklin: Get them on the show.
Richard Campbell: So, let’s talk 64-bit.
Carl Franklin: Yeah.
Richard Campbell: I love my 64-bit SQL Server. It’s amazing. It’s awesome. I have now got a 64-bit system running as a workstation. Kim, if you go on I…
Kimberly Tripp: Yeah, but how much memory do you have?
Richard Campbell: Four GBs.
Kimberly Tripp: Yes, see 64-bit on four GBs is just-I don’t know, it’s...
Carl Franklin: Just stretching out a little bit. (Laughs)
Kimberly Tripp: Say that again.
Carl Franklin: Just stretching out a little bit.
Kimberly Tripp: Well, you are not seeing the full benefit of 64-bit, because in the 32-bit address space for Windows you are at four GB and so, Windows can do pretty well with that. You don’t tend to see just huge gains until you start going into the extended memory or the areas where you might be putting pressure on resources that have to live in real memory…
Carl Franklin: Right.
Kimberly Tripp: …which-stored procedures, locks, user connections, those kind of things that have to live in real memory, those are the things that, if those are your bottlenecks or your problems and you go to 64-bit, you’ll just be like, “Wow, this is amazing!” But I have also had people that say to me, we went 32 to 64, and we haven’t really seen a big benefit yet. But again, they are more scalable, they are going to be able to access their data cache more efficiently and effectively, and they’ll be able to grow significantly better going to 64. So we maybe don’t see the benefit now, you should be able to see the benefit, but boy, when you are on larger memory implementations, data warehouses and so forth, those are the guys that just kind of go, Our data warehouse bill dropped from X hours down to half that or quarter that, and there are a lot of things there and they can get some huge benefits. But I am running 64-bit at home too, Richard. I am right with you, I am running a dual-core, dual-proc, four GB of memory, 64-bit machine as my main, kind of, test machine and so forth. So I love it-I love it, but I do run into things occasionally where I want to stick some stupid little applet or some gadget on my machine and there aren’t 64-bit drivers…
Richard Campbell: Yeah.
Kimberly Tripp: So I get irritated, but I mean…
Richard Campbell: The killer is our-USB related things…
Kimberly Tripp: Exactly.
Richard Campbell: USB devices stuff where they just don’t have the driver for it.
Kimberly Tripp: Yeah, exactly, and I just kind of get frustrated with that. I’m like, darn it. I wish I could run this on this machine so I still-right now, I am still struggling with having to have multiple 32- and 64-bit machines, but I run Virtual PC as well, actually sorry, Virtual Server because there isn’t a 64-bit Virtual PC. But Virtual Server, Richard, I don’t know if you know this, I just learned this myself, you guys know Virtual Server is free?
Richard Campbell: Yeah.
Kimberly Tripp: Virtual Server R2 is actually fully downloadable for free from www.microsoft.com, 32-bit or 64-bit? So, very cool.
Carl Franklin: Wow.
Richard Campbell: And I have been blown away at how well VPC’s perform running on the 64-bit…
Kimberly Tripp: There you go.
Richard Campbell: Virtual Server host, it’s awesome.
Kimberly Tripp: That’s what I was going to say, yeah. That’s what I loved doing, like on my 64-bit machine. I’ll have like two VPC’s running, each requiring a GB of physical memory, and they are just-and switching between them and everything’s cool-I mean, I love that. So I have to admit, 64-bit for that and then...
Carl Franklin: Now this isn’t Virtual Server, this is a Virtual PC you are talking about.
Kimberly Tripp: Well I am sorry, I keep saying VPC’S because I am talking about virtual machines; I actually created the virtual machines on Virtual PC, but you can take the same VMCs and VHD’s, bring them over to Virtual Server, and they pretty much run exactly the same…
Carl Franklin: Okay.
Kimberly Tripp: So, I use-I actually move them between my machines. When I am on my laptop, I am on a 32-bit machine on Virtual PC. And when I am on my server at home, I am on Virtual Server on a 64-bit machine and I literally just copy the VPC over and start it right up-it’s awesome. I mean, you can move between the environments with no problem and it really performs significantly better on the 64-bit machine with four GBs of memory.
The conversation continues online at http://dotnetrocks.com/default.aspx?showID=181