I have two new articles up on Database Trends & Applications magazine. I'd love to get your thoughts and feedback!
Welcome to the Weird, Wild World of SQL Server Licensing
Not long in the past, SQL Server licensing was an easy and straightforward process. You used to take one of a few paths to get your SQL Server licenses. The first and easiest path was to buy your SQL Server license with your hardware. Want to buy a HP Proliant DL380 for a SQL Server application? Why not get your SQL Server Enterprise Edition license with it at the same time? Just pay the hardware vendor for the whole stack, from the bare metal all the way through to the Microsoft OS and SQL Server....
DBTA E-Edition - December 2012 Issue
Virtualization Conquers the Database
I was privileged to deliver a session entitled Managing SQL Server in a Virtual World at the PASS Summit 2012, the largest annual conference for Microsoft SQL Server. It was a packed house, literally at standing-room-only capacity. I delivered the session with my friend David Klee and we were swarmed by attendees after the session wrapped up. With almost 600 people in the room, we conducted one of those informal polls that speakers like to do along the lines of "Raise your hands if …" and the informal findings were very telling. Probably around 90% of the attendees used VMware and SQL Server in some capacity and at least 60% used it in production environments. Another important fact was that only 10% of the attendees were actually able to get information on the performance of the actual VMs themselves. Most had to get all of their information and support from the VM / System administration staff....
DBTA E-Edition - November E-Edition Issue
Follow me on Twitter!
For all members of the Professional Association for Server (PASS), are you downloading slides and videos from all sorts of great PASS events? If not, what are you waiting for ... an invitation?
Ok, here it is. I invite you to download like a madman! (How a madman downloads, an almost entirely virtual activity, is not the question here, ok?).
For starters, there's the recent 24 Hours of PASS event. I hope you were able to attend all of the sessions you wanted. But even if you didn't get to see any, you can see them now as long as you're a (free) member of PASS. The session recordings are now available for streaming from the 24 Hours of PASS Archive website. Review your favorites or catch up on some of the sessions you missed, by gum! Questions? Contact us at firstname.lastname@example.org
Next on the list for downloads are the PASS Summit 2012 highlights. The navigation is a little weird. But all you have to do is simply click on the keynote that you're interested in. And may I recommend, as always, the excellent session from Dr. David Dewitt. Again, you need to be a PASS member, but it's free. And I'd be remiss not to mention the SQLPASS YouTube Channel.
During and immediately after each PASS Summit, attendees are able to buy the event records for around $175. That's over 150 hours of training, over three weeks of training I say, for under $200!!! I hear that this year, instead of a massive DVD set, we'll be getting a slim 32- or 64Gb thumbdrive. Yeah! But did you know you can also watch sessions from earlier years, free for members, at http://www.sqlpass.org/LearningCenter/SessionRecordings.aspx? That's right, brothers and sisters, if you didn't get to go to older events and didn't buy the DVDs, you don't have to bribe that scruffy mangy dog of a DBA to get your own look at the sessions. And since SQL Server versions don't change enormously from one year to the next, most of the content remains valuable and worthwhile for several years. For example, most recommendations and sessions from the PASS Summit 2008 event are still valuable even if you've upgraded to SQL Server 2012.
Take Another Look at PASS Virtual Chapters
Don’t have a local PASS Chapter near you? Want to learn from your desk? Or are you simply looking for more opportunities for free SQL Server training and learning every month with fellow IT pros from around the world? Virtual Chapters (VCs) are a great way to get involved in the PASS community from your own home or office. Virtual chapters are targeted, online monthly webcasts from top-rated speakers with related subject matter from one month to the next, such as database design, performance, virtualization, etc. Here’s how. But wait - there's more. All of the VC sessions are also recorded and posted online for later viewing, usually within a month of the initial broadcast.
Follow me on Twitter!
Here's a quick tip for you:
During some restore operations on Microsoft SQL Server, the transaction log redo step might be taking an unusually long time. Depending somewhat on the version and edition of SQL Server you've installed, you may be able to increase performance by tinkering with the readahead performance for the redo operations. To do this, you should use the MAXTRANSFERSIZE parameter of the RESTORE statement. For example, if you set MAXTRANSFERSIZE=1048576, it'll use 1MB buffers.
If you change the MAXTRANSFERSIZE, keep an eye on the PerfMon objects for Buffer Manager and Readahead IO. You may also wish to keep an eye on LOGBUFFER wait stats.
I'd love to hear your feedback. Have you tried this technique? Did it work as advertised? Did it require some changes to work on a specific version or edition?
Ok, I have to admit the painful truth. I'm reliably slow to the finish line. This year, I got my slides into PASS HQ by the skin of my teeth, the weekend before the event was to begin. Although I could say with a straight face "I uploaded my slides!". I have to be honest that I wasn't surprised when many of my attendees said that they weren't available for download by the time my session started. OTOH, I also have to say that I really do prefer for attendees to focus on the presentation while it's being presented and that they should grab the slides afterwards. But that's just my personal preference.
Having said all of that, I'm going to post my three session slide decks here so that you can grab them in case PASS has to take a while longer to get them posted. If you don't mind, the PASS program committee has introduced a new electronic feedback system. PLEASE PROVIDE FEEDBACK!
(Click on the session title to download the zip file of the slide deck).
This brief session is all about convincing your boss to do something you want - telecommute, make a big purchase of hardware or software, bring in a consultant, and so forth. See the PASS TV schedule for other sessions.
Abstract: Ever wanted to convince the boss to try something new, but didn't know where to start? Ever tried to lead your peers toward an innovative, fresh idea only to fail to achieve your goals? This session teaches you the eight techniques of influencing IT professionals and the means of communicating your ideas upward to management and out to teammates so that you can innovate and achieve change in your organization. You'll learn the fundamental difference between influence and authority and how you can achieve a high degree of influence without explicit authority. You'll also learn the eight techniques of influencing IT professionals, when to apply them, and how to best use them. And you'll discover the communication and procedural techniques that ensure your ideas get a hearing by bosses and peers, and how to best win support for them.
This session rocked the house! We had standing room only probably at 20 to 30 minutes before start time. Our attendance was over 500, but we probably could've filled the biggest 700+ person room. A special thanks to my friend David Klee (blog | twitter) for tag-teaming with my like mega-nerd luchadors.
Abstract: Why are so many organizations implementing VMware, and what does it mean for SQL Server DBAs? In this deep-dive session, you'll see that when configured and managed properly, SQL Server can run just as well in a virtual environment as a physical one. We'll review the benefits VMware provides, including hardware abstraction, easier failover, and simpler capacity planning. We'll also explore key tips to help administer a SQL Server instance running inside a virtual machine. You'll learn the differences in general administration, disaster recovery, and high availability on VMs; get a better understanding of activity and performance trends on VMs; and learn how to ensure effective capacity planning and optimal performance on VMs. If you’ve ever had a virtual deployment go bad, or if you’re struggling to manage the performance of virtualized SQL Servers, be sure to catch this session.
One of the most positive experiences I can have, as a former leader of the PASS organization, is when I see a neophyte become a passionate support and champion for the community. On my first day in Seattle, before the event had even begun, I was stopped several by people who'd attended their first PASS Summit last year. But this year, they were excited to tell me that they'd started user groups in their own community, spoken for the first time at a PASS event, or even helped launch a SQL Saturday event.
Wow! To go from a complete newcomer in the PASS community to an active and engaged community chapter is a major achievement!
Many years ago, the founding board of directors wrestled with the major issues of how to attract new members at the same time while lacking major funds to create services and offerings attractive to SQL Server professions. Compared to other major professional IT associations, we simply lacked the money to do the cool things that we saw happening elsewhere.
But one of the things that we settled on is that, while we didn't have the money to put on a big dazzle-dazzle conference or to publish hard-bound conference proceedings, we could simple be a more giving, supportive community. Being more friendly, more encouraging, more supportive. Those were things that we could excel at which would cost us nothing.
In those days, I have to admit, it wasn't really a difficult calling to be the 'more' friendly professional association. With board members like Kurt Windisch, Joe Webb, Stefanie Higgins, and Wayne Snyder, being friendly came naturally. As new board members, like Rushabh Mehta and Bill Graziano and Tom Larock and Andy Warren, joined the leadership the idea of openness and friendliness became an institution ideal.
By 2006, the concept of 'sqlfamily' wasn't simply something we aspired to, it was an integral part of our culture. I can recall plenty of decisions being settled with the question of "Does this decision make our community more inclusive or not?" If it didn't, then we didn't do it. At other times, in the face of conflict, we asked ourselves "What's the high road? What's the right thing to do?" Our intent wasn't to do what was most advantageous, the most expedient, or the least costly, especially if we had to compromise on our ethics. Do what's right. Do what is helpful to our people. And then don't look back.
That certainly doesn't mean that we made all of the right decisions or that there weren't any situations where we wouldn't do it differently if we could do it again. But it did ensure that, when we made a mistake, we didn't have too many regrets.
So here we are in 2012. How has that early initial decision to focus on building a community of care panned out? The association now has 126,000 members, with more than 300 chapters around the world, and more than 60 yearly SQL Saturday events per year. The annual Summit is more than 300% bigger than our first event, with about 100 more sessions over the course of three days.
And, in my opinion more importantly, I'm being stopped on the street by people to tell me how excited they are to have started a new user group, spoken at an event, or attended a conference. It's in these moments that all of those hard years of work on the PASS board are crystallized as a valuable and worthwhile. Those decisions are still paying dividends today. The spirit of SQLfamily is stronger than ever!
P.S. I'll be speaking on Thursday and Friday at the event. Come see me!
The PerfMon Counters That Just Won't Die
One of the things that's simultaneously great and horrible about the Internet is that once something gets posted out in the ether, it basically never goes away. (Some day, politicians will realize this. We can easily fact check their consistency). Because of longevity of content posted to the Internet, a lot of performance tuning topics become "zombies". We shoot 'em in dead, but they keep coming back!
In other words, those old recommendations were
a suggested best practices for long ago, for a specific version of SQL Server, but are now inappropriately for the newer version. It's not uncommon for me, when speaking at a conference, to encounter someone who's still clinging to settings and techniques which haven't been good practice since the days of SQL Server 2000. Here's an example of Microsoft SQL Server 2000 Best Practices that are very version-specific
So here's an example. The %Disk Time counter and the Disk Queue Length were heavily recommended as a key performance indicator for IO performance. SQL Server throws a lot of IO at the disks using scatter/gather to maximize the utilization of the disk-based IO subsystem. This approach leads to short bursts of long queue depths during checkpoints and readaheads for an instance of SQL Server. Sometimes the server workload is such that your disk can't keep up with the IO shoved at it and when that happens, you'll see long queue lengths too. The short burst scenario isn't a problem. The lengthening queue length scenario usually is a problem. So is that a good practice?
In a word, not-so-much.
Those counters can still be of some use on an instance of SQL Server which only has one hard disk drive. But that's exceedingly rare these days. Why?
The PerfMon counter %Disk time is a bogus performance metric for several reasons. It does not take into account asynchronous I/O requests. It can't tell what the real performance profile is for an underlying RAID set may be, since they contain multiple disk drives. The PerfMon counter Disk Queue Length is also mostly useless, except on SQL Server's with a single physical disk, because the hard disk controller cache obfuscates how many IO operations are actually pending on the queue or not. In fact, some hard disks even have tiny write caches as well, which further muddies the water was to whether the IO is truly queued, in a cache somewhere between the OS and the disk, or has finally made it all the way to the CMOS
on the disk.
Better IO PerfMon Counters
Instead of using those PerfMon counters, use the Ave Disk Reads /sec, Avg Disk Write /sec, and Avg Disk Transfers/sec to track the performance of disk subsystems. These counters track the average number of read IOs, write IOs, and combined read and write IOs to occured in the last second. Occassionally, I like to track the same metrics by volume of data rather than the rate of IO operations. So, to get that data, you may wish to give these volume-specific PerfMon counters a try: Avg Disk Transfer Bytes/sec, Ave Disk Read Bytes /sec, and Avg Disk Write Bytes/sec
For SQL Server IO Performance, Use Dynamic Management Views (DMV)
And unless you've been living in a cave, you should make sure to use SQL Server's Dynamic Management Views (DMVs) to check on IO performance for recent versions of SQL Server. Some of my favorite DMV's for IO include:
So how are you tracking IO performance metrics? Which ones are you using?
I look forward to hearing back from you!
It's always a feel-good experience for me to return to SQL Saturday in Orlando, the place where SQL Saturdays were started by Andy Warren (Twitter | Blog). On this trip, I delivered a full-day, pre-conference seminar on Troubleshooting and Performance Tuning SQL Server. I also delivered a session on SQL Server Internals and Architecture to a totally packed house. For those of you who emailed me directly, here's the link for the special SQL Sentry offer.
I got to attend the extended events session by Jack Corbett (Twitter | Blog), middle in the photo above. Good stuff, Jack! Jack led the Orlando PASS Chapter for a few years and, although he relocated back up to New England, he enjoys getting back to Orlando when the opportunity presents itself.
I also got a chance to do a podcast with Rodney Landrum (Twitter | Blog), in the SQL Saturday chef's outfit on the right. Rodney, you should get your blog details up at the PASS SQL blogger page, btw. Rodney is also known as "the guy with the Red-Gate tatoo". Ask him why, when you meet him in person. I'll post the direct link to our podcast when I get it from Rodney. But in the meantime, be sure to check out his SQLBeat webcast. There are lots of great speakers and respected authorities to hear on his podcast.
As I mellow with age, I've found that I most enjoy connecting with friends and building relationships. The above picture shows me, Eddie Weurch (Twitter | Blog), and Pam Shaw (Twitter), head of the Tampa PASS Chapter. Pam, Eddie, and I were swapping some hilarious stories about our early years in snowy climates. Pam had the good fortune to be pulled, face first, through the snow by her mom during a trip to the school bus stop on the first big snow of the season. Mom, it seems, wanted to make sure she got to the bus stop safely, but instead fell down two steps from the front door of their home, sliding all the way to the bus stop firmly clutching Pam's hand. ROFL!
I got to spend some time with Ryan Adams (left) and Kendal Van Dyke (right), as well. There may have been some liquor involved. However, the highlight of my evening was definitely when Kendal yelled "FINALLY!" at the waitress bringing our plates out ten minutes after the appetizers were served. Kendal was actually paying no attention to the waitress or the plates and was instead yelling at the TV where the Florida State vs South Florida football game was playing. The waitress, on the other hand, was mortified. Hilarity ensued as he tried to explain that he was not the least bit cross with her. :^)
Ryan is going to be presenting at the upcoming spring 2013 SQLCruise event. You should definitely attend! Ryan Adams has lot more content here (Twitter | Blog). Kendal, by the way, is a standing member of the current PASS Board of Directors. He's written some excellent content and, just recently, moved to Upsearch consultancy where my friend Allen White (Twitter | Blog) works. Kendal Van Dyke has more content here (Twitter | Blog).
I hope you're planning to attend a SQL Saturday event soon. And not just the event, but also the after-event gatherings as well. You can almost always be sure that most of the speakers will be there. It's a great way to enlarge your professional network as well as to make real and lasting friendships!
-Follow me on Twitter
I was chatting with my buddy, Buck Woody (Twitter | Blog), about a week ago and we were discussing that it's pretty hard to put together the entire history of SQL Server. Then the thought hit me that I'd already done this, to a degree, in my book Transact-SQL Programming. This was the first Transact-SQL programming book on the market way back in the SQL Server 7.0 days and even included full coverage of both Microsoft and Sybase variants of T-SQL.
The thing is, I was never able to put out a second edition due to some legal and contractual issues. So, help me catch up on the history of SQL Server:
The Ancient History of Microsoft SQL Server
SQL Server, like many things related to SQL, is a story of diversity. At one time, both Sybase and Microsoft had virtually the same product with Sybase's product targeted at Unix and enterprise environments while Microsoft targeted only the Windows enterprise. Today, the two products are entirely divergent. The code base for each product is unique to each platform and shares no code at all. For a while, both Sybase and Microsoft called their flagship database product "SQL Server", but now, Sybase calls their implementation of the product Sybase Adaptive Server Enterprise. So while the two products are now completely distinct, they continue to share a strongly similar Transact-SQL implementation. Other less noticeable similarities persist, such as the use of Tabular Data Stream (TDS), tempdb architecture, and a few other odds and ends.
Perhaps you want to know more about how things got to be the way they are? By reading this section, you will be making an admission that many programmers and developers are loath to - history is interesting ... perhaps even enjoyable. This is not actually a sign of weakness as some might attest. With tongue planted firmly in cheek, please read on. Table 1-1 shows the evolution of both Microsoft and Sybase’s version of SQL Server’s.
Notice that I stop at more than a decade ago. Help me add the subsequent details by leaving a comment! Extra points if you know the code name for each release.
1987 - Microsoft Buddies Up with Sybase
Microsoft and Sybase announce a technology and marketing partnership. Microsoft gets exclusive rights to market Sybase’s DataServer product on OS/2 and all Microsoft-developed operating systems. Sybase gets royalties and added credibility in the Unix and VMS markets. (Remember VMS?) Sybase ships their first commercial DBMS product, called DataServer, for Sun workstations running Unix.
It was only 20 years prior that the first Super Bowl was played as the Green Bay Packers of the National Football League defeated the Kansas City Chiefs of the American Football League, 35-10. (Hey, now this is important!)
1988 - Microsoft Buddies Up with Ashton-Tate
Microsoft and Ashton-Tate announce a marketing partnership. Microsoft can’t put a dent in dBase’s tremendous market presence. Ashton-Tate wants access to Sybase’s powerful multi-user database management technology, which ships this year. Microsoft forms a three-way alliance.
Another interesting three-way alliance was also making headlines at that time, as independent counsel Lawrence E. Walsh probed the Iran-Contra affair.
1989 - SQL Server v1.0 Ships
Ashton-Tate/Microsoft SQL Server version 1.0 ships.
Perhaps not coincidentally, NYC transit fare rises from $1.00 to $1.15.
1990 - Microsoft Ships SQL Server v.1. for, OMG, Windows!
Ashton-Tate dBase IV was floundering. Microsoft wanted to beef up its offerings for the new OS/2 LAN Manager product. Microsoft and Ashton-Tate quit the partnership. “Microsoft SQL Server” version 1.1 ships by summer with support for Windows 3.0
Another partnership came to an end that year: ousted Panamanian leader Manuel Noriega surrendered to U.S. forces, after taking refuge in the Vatican's diplomatic mission.
1991 - Microsoft Goes All-In on Windows 3.0
A proliferation of Windows 3.0 front-end tools spurs the growth of Microsoft SQL Server. Later that year Microsoft and Sybase amend their contract to allow Microsoft to make actual bug fixes - all under Sybase supervision. IBM and Microsoft call off their OS/2 partnership with Microsoft to focus on Windows. Sybase surpasses the $100 million revenue mark and goes public on NASDAQ.
Almost one thousand years ago to the day, significant improvements in front-end tools (i.e. the plow and horse yolk) spur a huge population boom in Europe. The Vikings and Europeans call off their partnership, with the Vikings dragging off most of the loot. Meanwhile, Islam is continuing its military expansion throughout the world. Fortunately, medieval Europe does not have to endure lengthy beta programs, although computer geeks have to endure a plague of viruses. No fair!
1992 - Microsoft Goes Nuts on Windows NT
Microsoft and Sybase SQL Server 4.2 ships. Microsoft diverts its attention away from OS/2 and into developing Windows NT. Microsoft SQL Server for Windows NT later ships in beta release while Sybase ships its much-vaunted System 10.
A famous diversion of attention in the political arena, you ask? Then President George H. W. Bush lost his lunch during a state dinner in Tokyo; White House officials tried to deflect attention saying Bush was suffering from stomach flu.
1993 - Microsoft and Sybase Become Unfriends
Microsoft Windows NT 3.1 ships, closely followed by Microsoft SQL Server. By 1994, Sybase SQL Server System 10 and Microsoft SQL Server were competing unabashedly as the two formally ended their partnership. (This is about the time that I started to use Microsoft SQL Server 4.21 on OS/2).
Likewise, the American voting public formally ended their relationship with “Read my lips” President George H. W. Bush.
1995 - Microsoft Enters the Enterprise Computing World
Microsoft SQL Server 6.0, a very significant release, ships in June. Up until this time, most Microsoft products were considered departmental-level only. SQL Server also begins to push out many PC-level database products, with the noticeable exception of Microsoft Access. Access will be a thorn in the side of SQL Server DBAs until ... uh ... probably 10+ years from now.
Other significant release for 1995 included O.J. Simpson - not guilty.
1996 - SQL Server 6.5 Goes Into Production
Though released in April, it’s no April Fool’s joke. SQL Server 6.5 is the most powerful and capable version Microsoft had ever produced. It also received considerable press because of its innovative user interface and free tools.
1997 - Microsoft SQL Server 7.0 Beta Released. Remember the Code Name?
Is there a causal relationship between the Monkees' appearance at the Hollywood Bowl (June 10, 1967) and the first shipment of the Apple II Computer (June 10, 1977) and the release of MS SQL Server 7.0 beta (June 10, 1997)? It does make you wonder, doesn’t it?
1998 - Microsoft SQL Server 7.0 RTM
Microsoft offers another set of new innovations in the SQL Server 7.0 release, including an "all-in-the-box" strategy. Other major DBMS vendors had, and still have, separate products for ETL (extract-transform-load), administration tools, scheduling, and business intelligence. Not Microsoft. With SQL Server 7.0, Microsoft included the Data Transformation Service (DTS) for ETL work, Query Analyzer and other administration tools, OLAP services (my brain gets a little cloudy on this one), along with the already existing scheduler, SQL Agent.
2000 - Microsoft SQL Server 2000
Branding experts said that version numbers should get too big, or else customers would perceive the software as stodgy and old fashioned. So Microsoft switched from the version number nomenclature to the one highlighting the year of the release for SQL Server 2000. This release included the game-changing Enterprise Manager (EM). Forced many other DBMS companies to at least attempt to build useful tools (anyone use SQL*Plus from Oracle). Again, my brain is getting dusty with old age and too many releases, but IIRC this was the release in which Microsoft finally got ride of page-level locking in favor of row-level locking. That shuts up a lot of Oracle-bigots, but doesn't truly ease their smarmy attitude. Grudge matches continue unabated.
I'm going to follow-up with another blog post carrying forward with SQL Server 2000, including highlights for important half-steps like SQL Server 2000 SP3, the "Slammer" security release.
Feel free to throw down some of your SQL Server trivia knowledge about release and features for releases. Share a picture of one of your old boxes, if you have one!
Twitter | Facebook | YouTube | LinkedIn | Blog
Relational?!? Move On, Geezer!
Maybe you're thinking that relational databases management systems (RDBMSs), like Microsoft SQL Server and Oracle, are going the way of punched cards and rotary phones. After all, there's been a lot of hype these days in the IT media about the rise of so-called NoSQL (Not Only SQL) databases. Many new and upcoming CS and MIS graduates who like working with data might think that relational databases are, at best, soon-to-be legacy systems and, at worst, are a career dead-end.
It's true that all the cool-cat computing services (Amazon, Facebook, Google, Pinterest, etc) are indeed making heavy use of NoSQL technology. They're also making heavy use of traditional RDBMS'es too. In fact, some of the world's biggest users of SQL databases are hand-in-hand the biggest users of NoSQL databases. The reason for that is that both types of data platforms are exceeding good at specific types of data storage and data processing. They also have their own unique weaknesses too. Meaning, each platform has a sweet spot and a weak spot, and that none are a 100% panacea for all imaginable data processing scenarios. Take a look at this article by my friend and former colleague, Guy Harrison - 10 Things You Should Know About NoSQL Databases, for a good discussion on the pros and cons of NoSQL in comparison to SQL data platforms.
Timewarp! Let's Take a Look Back at Why Relational Databases Were Needed.
These days, relational database management systems (RDBMSs) like Microsoft SQL Server and Oracle are the primary engines of information systems everywhere, particularly for enterprise computing systems and web applications. Though RDBMSs are now common enough to trip over, it wasn’t always that way. Not too long ago, you would probably trip over hierarchical database systems, or network database systems, or flat-file systems (heck, that still happens in many government IT shops who still use COBOL). A quick-and-dirty definition for a relation database might be: a system whose users view data as a collection of tables related to each other through common data values.
Perhaps you are interested in more than a quick-and-dirty definition for the term relational database? Here goes. The whole basis for the relational model follows this train of thought: data is stored in tables, which are composed of rows and columns. Tables of independent data can be linked, or related, to one another if they each have columns of data that represent the same data value, called keys. This concept is so common as to seem trivial; however, it was not so long ago that achieving and programming a system capable of sustaining the relational model was considered a longshot with limited usefulness.
Relational data theory was first proposed by E.F. Codd in his 1970 paper to the ACM entitled “A Relational Model of Data for Large Shared Data Banks”. Soon after, Codd clarified his position in the 1974 paper to the Texas Conference on Computing Systems entitled “The Relational Approach to Data Base Management: An Overview”. It was in this paper that Codd proposed the now legendary 12 Principles of Relational Databases.
If a vendor’s database product didn’t meet Codd’s 12 item litmus tests, then it was not a member of the club. Note that the rules do not apply to applications development. Instead, these rules determine whether the database engine itself can be considered truly “relational”. These rules were constructed to support a data model that would ensure the ACID properties of transactions and also eliminate a variety of data manipulation anomalies that frequently occurred on non-relation database platforms (and still do occur on non-relational database platforms). (As an aside, the transactional paradigm was conceived by my hero, Gray, Jim in 1981 while at Tandem Computer and presented in the paper "The Transaction Concept: Virtues and Limitations").
Codd’s 12 Rules for a Truly Relational Database System
Are you curious about Codd’s 12 Principles of Relational Databases? Don’t be ashamed that you don’t know them by heart; few technology professionals do, and no one on the marketing staff of technology companies do. However, the few folks who do know these principles by heart treat them like religious doctrine, and would likely be mortified by their “lightweight” treatment here. Nevertheless, I'll give them to you in my own paraphrasing:
- Information is represented logically in tables.
- Data must be logically accessible by table, primary key, and column.
- Null values must be uniformly treated as “missing information” not as empty strings, blanks, or zeros.
- Metadata (data about the database) must be stored in the database just as regular data is.
- A single language must be able to define data, views, integrity constraints, authorization, transactions, and data manipulation.
- Views must show the updates of their base tables and vice versa.
- A single operation must be able to retrieve, insert, update, or delete data.
- Batch and end-user operations are logically separate from physical storage and access methods.
- Batch and end-user operations can change the database schema without having to recreate it or applications built upon it.
- Integrity constraints must be available and stored in the metadata, not in an application program.
- The data manipulation language of the relational system should not care where or how the physical data is distributed and should not require alteration if the physical data is centralized or distributed.
- Any row-processing done in the system must obey the same integrity rules and constraints that set-processing operations do.
If you know much about SQL, then you probably recognize immediately that SQL ended up fulfilling rules #5, #7, #11 and possibly more. Others of the rule are manifest in the system tables of a relational database, such as DMVs in Microsoft SQL Server and V$ and X$ views in Oracle.
There is some debate about why relational database systems won out over hierarchical and network database systems back in the late 1980's and early 1990's, but a couple of reasons seem self-evident. First, the high-level language interface (SQL) is much simpler to learn and more intuitive than that mishmash of languages supporting non-relational databases. (In fact, the lack of something like SQL is a hindrance to adoption of many NoSQL database platforms). Second, relational databases provide efficient and intuitive data structures that easily accommodate ad-hoc queries and reporting. People just intuitively understand the value of storing data in tables. From phone books to hotel registries, relational databases (of the paper sort) are second nature to most people. Third, relational databases provide powerful integrity controls such as check constraints and referential integrity - thus providing higher quality data. And high quality data is near and dear to the heart of CFOs around the world.
In fact, the strength that relational databases demonstrate with data quality, consistency, and durability are the same reasons that they'll be with us - quite possibly - forever. So were NoSQL databases excel at storing data that is moderately important and requires eventual consistency, SQL database excel at storing data that is of paramount importance and requires immediate consistency. As long as we're exchanging money, there's a need for relational database technology and ACID transactions.
And, just my opinion here, but database administration is currently, and will continue for decades to be, an excellent career choice. Why? First, although databases are widespread, good databases are not. So there's always need for those who can tune, troubleshoot, and optimize what is currently in the marketplace. Second, just because database are widespread doesn't mean that they're everywhere they need to be. Some estimates gauge that only half of the enterprises that need SQL databases actually use SQL databases. Imagine if only half of the citizenry wore shoes, and of the half that wore shoes, only half of them wore both shoes and consistently tied them. It'd be a good time to be a maker of loafers! Well, that's where we're at today with relational databases.
So what do you think? Am I off the mark on the longevity of relational database? Do you think the sun has set on them? Will they be smashed, degraded, and humiliated by NoSQL database platforms? Or will they stand shoulder-to-shoulder with a variety of data platforms in the years to come?
PASS SQL Saturdays are free 1-day training events for IT professionals interested in Microsoft SQL Server, providing a variety of high-quality technical sessions, all happen through the efforts of local volunteers. The leadership team of the local chapter of PASS here in Nashville (Facebook | LinkedIn) have worked hard to make this year's SQL Saturday a day of great training and networking.
The local NashSQL leadership team includes yours truly (blog | twitter), Joe Webb (Twitter | Blog), Louis "Dr SQL" Davidson (Twitter | Blog), Christina Leo (blog | twitter), and Shelton Dickson (website). We also get a lot of operational help from Matt LeBlank (LinkedIn | Twitter).
We think you'll find it's a great way to spend a Saturday!
Register for the free community day with 5 concurrent tracks of hour-hour technical sessions running all day long: www.sqlsaturday.com/145/eventhome.aspx
Also, we are very pleased to announce the SQLSaturday #145 Pre-con event on Friday, October 12th. We have four paid sessions available from established industry experts. Session details are provided in the links below.
Please be aware that each Pre-con is priced at a staggeringly cheap $129.95 + $8.14 processing fee.
Registrations made by August 31, 2012, will receive an EARLY BIRD REGISTRATION rate of an $99.95 + 6.49 processing fee!!!
Don't miss out on this fantastic offer! Register now: SQL Satuday #145 PreCons
A continental breakfast will be served and tea and coffee will be available throughout the day. Lunch will be provided.
Every now and then I go off on a tangent away from databases and try to improve some of my other important skills, like maximizing my knowledge of the various Microsoft Office products I use in-and-out everyday. (Let me tell ya, a good shortcut cheat sheet is worth its weight in gold! Let me know where I can find some of those for the Office products, if you know of any.)
Anyway, I learned about some new(ish) resources on my latest productivity expedition that I thought I'd so that you can take advantage of them too. (Let me know if any of these links go dead).
Microsoft Office Social Media
I'm kind'a surprised by the value of some social media pages. Others, not so much. Here's some good ones to investigate:
The Office Blog
I used to read a ton of different email newsletters from Microsoft. Now, I just go to The Office Blog
. It's comprised of all of those older newsletters, like Inside Office Online
, Office Offline, Templates & Clip Art
, and Crabby Office Lady
blogs. So now we have a single place to get (and share productivity stories, find useful ideas, and build better solutions on top of Microsoft Office. You can also get involved and join the conversation. When you leave comments, you can include links to your Web site, blogs, and Twitter feeds so that the world can learn more about you. They even want contributions! (Let the staff writers know if you have an idea or want to contribute a blog post).
Office 2010 Resource Center
There are so many other great resources out there, depending on your special needs. I'm tossing a bunch of these additional resources below because A) it's easy to just cut-n-paste and I'm basically lazy, and B) you might not already know about them.
Office 2010 General
Microsoft Office 2010 Engineering
Office Web Apps Official Blog
Microsoft Office Resource Kit Blog
Microsoft Office Sustained Engineering Blog
Microsoft Answers for Office
Office 2010 Backstage
Microsoft Office Product Blogs
Get insight directly from the product teams. They sometimes even know what they're talking about!
Microsoft Access 2010 Team Blog
Microsoft Excel 2010 Team Blog
PowerPivot Team Blog
Microsoft Outlook 2010 Team blog
Microsoft PowerPoint Team Blog
Microsoft Word 2010 Team Blog
Microsoft Project Team Blog
Microsoft Publisher 2010 Team Blog
Microsoft SharePoint Team Blog
SharePoint Workspace Team Blog
SharePoint Designer Team Blog
SharePoint for End Users Blog
Microsoft Visio 2010 Team Blog
Microsoft InfoPath Team Blog
Some Miscellaneous Microsoft Office Links
This stuff isn't my cup of tea (except for the BI content), but maybe you haven't heard of it and it'd be helpful for you:
Microsoft Business Connectivity Services
Microsoft Business Intelligence Team Blog
Office Global Experience Blog
Office Development for Visual Studio 2010
Microsoft Office 2010 Partner Site
SharePoint 2010 Community
Again, let me know if any of these links go dead or you have other resources you'd like to post here. Thanks!
Twitter | Facebook | YouTube | LinkedIn | Blog
I had the honor of traveling the great state of Colorado last week, speaking at the PASS chapters in Boulder, Colorado Springs, and Denver. At all three events, we had a stellar attendance and, at least in Denver, broke all the records in recent memory both in terms of overall attendance and in first-timers. Denver, in fact, was standing room only and had nearly 30 first time attendees. Great news! I also want to give a special shout-out of thanks and appreciation to Chris Shaw (Twitter | Blog) whose hard work and tenacity ensured that all of Colorado got to see me speak. From left to right, Gabriel Villa (Twitter), me, Chris Shaw, and Rebecca Mitchell (Twitter). If it weren't for Chris, I wouldn't have been there. Thanks for putting in the time, amigo!
New Slide Decks!
During the 3-day jaunt, I presented two of my more popular sessions. These are updated slide decks, in case you want to download them here:
UG - End-to-End Troubleshooting
UG - Top 10 SQL Server Administration Mistakes
Be sure to check in the Slides area of the website, if you want to see the links for SpeakerRate, and in the case of several of my presentations, white papers, video recordings, etc. It's the People that Matter
A Blast from the SQLPASS Past!
I've always tried to maintain the relationships I built with the founding members of the PASS board of directors. After their time on the PASS board, almost all of them have moved on from SQL Server to other adventures. Pam Smith, the first president of the organization, is now a professor. Guy Brown, the second president, is now the director of IT at his same employer, rather than just SQL Server as when he was on the PASS board. A few, such as Kurt Windisch, a former VP of PASS, and my good friend Joe Webb (Twitter | Blog), are still active in the SQL Server space. One relationship that I've enjoyed over the years is with PASS' original Microsoft liaison and now a Denver-area software entrepreneur Steve Murchie (at right) running his own healthcare IT outfit. Steve has been a source of inspiration to me and also of great advice for all things startup-related. It was great to connect with Steve and catch up on his latest doings.
I also got to enjoy an evening out with the local attendees after the Denver user group meeting. It was great to hang out with folks there. I got to meet Kevin Cox (twitter), a member of Microsoft's incredibly talented SQLCAT group, and for whom I was a technical editor on a SQL Server v6.5 book back in the Neanderthal era. That shows just how old both Kevin and I actually are. Other cool folks that I got to meet included Steve Wake, Mike Fal, Marc Beacom, Jason Kassay, Jason Horner and my ol' buddy, Kelly the Greeley Geek.
On top of that, long-time SQL Server MVP and all-around awesome guy Steve Jones (Twitter | Blog) visited. I kept him out way too late that night which, to be honest, isn't usually my style. But the good conversation propelled us on past midnight.
The Good Folks at SQL Server Professional and Windows IT Professional Magazines
I've written for SQL Server Professional (formerly the artist known as "SQLMag") in some form or another starting from my first cover article for them way back in the mid 1990's. My Tool Time column has been going strong there since, oh, around 2006 iirc. For most of the time I've known the folks at SQLMag, they were located in Loveland, CO but they were able to move to some incredibly nice digs just up the road in Fort Collins. In all the many years, I've written for them, I'd never been to their offices - until now. It was great to visit and break bread with Megan (to my right), Blair (across), and Jaylee (across and to my right)!
I've always supported SQLMag and encourage you to subscribe. On top of the goodness already in the digital magazine, there are some neat developments coming down the pipeline with SQLMag which I think we'll all enjoy. Be sure to subscribe today! (You can click the badge on the left or simply go to http://www.sqlmag.com).
My current travel schedule is pinned up on this blog post HERE. However, I also know of a couple on-line appearances and probably a trip between the long gap between now and my next in-person appearance at the Orlando SQL Saturday at the end of September, where I'll also be teaching a pre-conference seminar (register HERE for the seminar).
The first on-line event to note is my a presentation by SSWUG of my Leadership Skills for IT Professionals video series, starting on August 24th. Sign up using the hyperlink (note that a video plays immediately upon loading the webpage, in case you want to be ready to pause or stop it). You can also buy a DVD set of the 14 hours of leadership training content.
24HOP - The 24 Hours of PASS Event
I'll also be speaking on the topic of influence in the next 24 Hours of PASS coming up on September 20th and 21st. Registration for the twenty-four hours of around the clock presentations is completely free and well worth your time. Check the schedule for the event and register! Even if you can only watch one or two sessions (or even zero sessions), be sure to register so that you'll automatically be notified when the sessions become available as streaming media.
-Follow me on Twitter, LinkedIn, and Facebook
Let’s get one thing clear right off the bat – I’m not typing “Board of Directors” repeatedly throughout this blog post. It’s just too much typing. BoD will have to do. Live with it.
Perhaps, you’ve been paying attention to the PASS Twitter feed, read the newsletters, or otherwise stay abreast of happenings within PASS. If you haven’t, here’s a news alert – it’s time for a new round of the PASS leadership cycle. And since this is the season of PASS nominations, I thought it’d be an appropriate time to share some of my lessons learned about effective BoDs.
Having spent over a decade sitting on various BoD’s, I can testify that the most effective directors are those that bring at least one of the three W’s to the table. (I learned the three W's from a former executive director of PASS, Jon Lindberg). Note that the three W’s are not characteristics or traits. They are behaviors, that is, observable sets of activities. The keywords in the previous sentence are observable and activities. You might have every intention in the world of doing the three W's. But if other people on the BoD cannot observe that you are performing the actions, they don't exist. The three W behaviors are Wealth, Work, and Wisdom. They’re major behaviors in my leadership ethos, called servant leadership. (I’ll talk about servant leadership in another post at some time).
Let’s talk about the three W’s in detail:
This is simple and direct. Some directors come to the boardroom with a checkbook and they’re willing to use it to further the goals of the organization. Because they fund strategic initiatives of the organization in cash or in-kind, they literally change the reality for the organization. Directors with this W remove barriers and constraints that would otherwise end many discussions and initiatives before they got off the ground due to lack of resources.
However, directors with wealth are usually their as a part of their job. In other words, their employer has a strategic reason for supporting the success of the organization. Therefore, directors with wealth often seek to ensure that the organization is tracking against certain high-level goals that coincide with the goals of their employer. This is not to say that such directors have ulterior motives. They are typically very ethical and insightful members of a given BoD. But this perspective also means that a director with wealth may be interested in activities or metrics which other directors have considered. After all, if you were to pony up big dollars for a new initiative on your child’s soccer team (say, new training equipment) you’d also want to ensure that money was spent to greatest effect.
Note that wealth doesn’t always mean cash. It can mean many other things - your presence is a form of value. (Many times, directors come to BoD meetings and proceed to work on their email. That's a major breach of sharing your wealth of knowledge). Here’s a more concrete example. Back in the early 2000’s, around 2003, PASS received a significant amount of in-kind support from Compaq Corporation at the encouragement of then Microsoft liaison and board member Ryan Trout. (In-kind support, by the way, is support that has a cash value, but is an action or activity offered instead of actual cash). In effect, Compaq conducted a major direct mail campaign to their sizeable SQL Server user base to help drive attendance at the PASS Summit and to encourage interest in both the international organization and local user groups. This contribution marked a major turning point for PASS both in terms of high-level vendor support and in visibility to the SQL Server user community.
Axiom: The golden rule, for directors with wealth, is “he who has the gold makes the rules” with all the positive and negative connotations that holds.
There’s no getting around the fact that the directors who are most willing to invest personal time and energy are the most effective. (And I mean the term “effective” in the most literal sense of “having a measurable effect on the enterprise”). In a typical strategically-oriented board, the extent of work is usually to remain current on all important reading material, to strive to be aware of shareholder issues and concerns, and to formulate opinions on important strategies for the organization to consider or implement as a form of guidance for the CEO and COO.
In a portfolio-oriented board, such as the structure used by PASS and many other large IT professional associations (including most of the other major database BoD’s such as IOUG, IDUG, ISUG, ITUG, and Share), directors not only have the burden of the strategic director, but also act as the head of a specific function of the organization. For example, in a portfolio-oriented BoD, a single director might be responsible for growing and guiding the local chapters of the association (the Chapter Portfolio), another might be responsible for driving value back to members (the Membership Portfolio), a third might be responsible for the selection and implementation of the content delivered at major events (the Program Portfolio), and so on. There is no doubt that some directors are much more effective than others at managing a portfolio and leading a group of volunteers within that portfolio.
While a full discussion of the best practices that make some directors really effective at this second W could fill a couple additional posts, I’ll put a few quick hallmarks here in case you’re curious:
Smart directors set their sights on a very short list of goals that follow the SMART standard. And by “short list”, I mean a list with no more than three goals. The goals are achievable and, usually, not terribly expensive nor complex to implement. If one of their top goals turns out to be much more expensive or complex to get rolling, then they move on to their next most important goal that is easily achievable.
Axiom: It is better to make small, measurable gains than to set big goals that never get accomplished.
Smart directors make sure that the goals they’re working to achieve complement the overall strategy of the organization. This alignment provides a strong incentive for other members of the BoD to back their proposals and to act as allies in the event that a board vote is needed to settle the way resources will be directed or whether a proposed goal is accepted by the board as a new policy or program. Alignment of goals with the top-level strategy of the organization also means that successor directors will have a much easier time continuing where the original board member left off because the work simply makes sense. Plus, when a director’s goals seem unusual or very different than other goals of the organization, organizational resistance is sure to come in to play.
Axiom: Unless there’s an emergency, it is better to couch visionary change within the overall strategy of the organization than it is to introduce changes that represent a major shift in long-standing culture, priorities, or processes.
Directors who have a short list of goals are also much more successful when they devote their energies to …, oh wait a sec, gotta check email. Just kidding. But I hope you get the idea.
I’ve seen a lot of brilliant individual directors who, upon prioritizing their work, spent enormous amounts of time and energy working on other people’s problems, working on their own issues at the wrong level, or talking about an issue way after its major parameters have been decided. I’m not saying stop helping others or stop discussions. But I am saying that a portfolio director must remember that the success of their team is their success. Many IT professionals are used to being individual contributors and so they feel that if they’re busy and working hard, it must be good, right? No. If the director isn’t working to achieve the goals of their portfolio, they’re basically not working at all. Here are some common traps that damage focus:
A common way IT pros on a BoD lose their focus is to get into the details of a new program or process. For example, say that PASS wanted to introduce a cool new feature on their website. An unfocused director would immediately begin to start designing the system in their mind – “We’ll use Active Directory to authenticate new users and then they’ll connect to the services using that cool REST-ful technology I’ve wanted to try. And maybe we could use SSIS packages to…” You get the picture. The BoD hasn't even fully fleshed out the business plan for the new program and yet this director is off and running after the specific technological solution to the problem. The problem that is not yet fully mapped out and understood. Remember, directors are supposed to assess and manage the business value of any given process or new organization program, not sling code. By focusing on the intimate details of the technology first, the director short-changes the business value of the initiative. It's like the programmer who starts writing code before any requirements are understood or documented. I’ve seen directors invest huge amounts of time into initiative which, in the broad analysis, were only half-baked and not worth pursuing. The focus must for a director, first and foremost, be about business value. (As a side-bar to this line of thought, many directors are the only person who can make certain important decisions. If that person is encumbered with relatively routine but demanding work, they actually shortchange the organization of their true value. If the VP of Finance is spending a lot of time working on a technology problem, they're not just working on technology - they're also NOT WORKING on financial matters).
Another common mistake that IT pros make when managing a portfolio is failing at delegation. IT pros, as I mentioned earlier, are usually most successful when they’re a strong individual contributor. They’re used to being judged on their own technical skill. They’re not used to being judged on the success of a team. Consequently, inexperienced directors frequently under-delegate and/or under-communicate which leaves volunteers feeling unwanted and unimportant. In the same vein, directors may act rudely to their committee members or other volunteers, or may simply treat them like employees –definitely not the way to treat a volunteer. This behavior is like torching your own support network. Volunteers can quickly become demoralized, or even quit, when they feel unproductive or unwanted.
Axiom: As a smart director of a portfolio, it is better to focus on business outcomes and the success of the team than it is to perform the detailed work yourself.
Dictionary.com tells me that wisdom is “knowledge of what is true or right coupled with just judgment as to action”. Money cannot buy wisdom. It can only be earned through many years of manifold experiences. Some young people are wise and insightful, but frankly it’s usually the grey-headed types who’ve usually lived through enough dumb decisions to recognize when a pattern in a social situation or set of human behaviors is being repeated. A great example of wisdom on the PASS board comes from the two CA representatives who sit on the board, Neil Buchwalter and Rick Bolesta. In addition to serving on the PASS board for perhaps longer than any other sitting board member, they’ve also both sat on other boards before and concurrently with the PASS board. Their stability, deep history, and analysis of the interplay between people (or groups of people) are extremely important to the successful workings of the board.
You might thing, based on what I’ve said described about wisdom, that a wise director is prone to pontificate and engage in long-winded discourse. Nothing could be further from the truth in my experience. The typical wise director tends to be brief, interjecting comments and thoughts of great weight and importance. What they say is usually worth careful consideration. Conversely, directors who spend a lot of time talking are often the least worth listening to. Many long-winded directors often use discussion to figure out what it is they really think about a given situation. Wise directors already know what they think and, when the speak, produce fully formed thoughts and arguments in a given situation.
In some cases, a BoD can help build institutional wisdom through diversity. As I mentioned earlier, wisdom is earned through experiences (usually bad experiences). When the members of a governing body like a BoD are young and/or inexperienced, they can supplement their breadth of experiences by selecting members of a variety of background, ethnicities, nationalities, ideologies, orientation, etc. This broaden of perspective raises the quality of dialog, helps identify problems and issues in policy discussion, and helps to foresee major obstacles on the horizon.
Axiom: Wisdom and insight are crucial in building a base of institutional knowledge, context for key decisions, and insight into the highest-probability for success in socially complex situations.
If you’re involved in a governing body of some kind or are considering volunteering with PASS (or any other BoD for a professional association), do a little introspection. Do you possess one or more of the three W’s? Or do you have big dreams or a burning ember of ambition? What do you need to learn to equip yourself with one of the W’s?
Let me know what you think!
Even though I've recently changed jobs, I'll still be speaking at a lot of SQL events across the country and internationally. There are still a few trips that I've yet to finalize, in particular with the fine folks in Houston, run by my friend Nancy Hidy (blog | twitter), and my friends in San Francisco and Silicon Valley, run by my friend Mark Ginnebaugh (blog | twitter). Also, do to some missed deadlines, it looks like I won't be speaking at the Nordic SQL Rally this fall. My bad! On the other hand, you can see when checking my roster, that I hardly have time to catch my breath with this travel schedule.
I'll also be doing several on-line events with the PASS Professional Development Virtual Chapter, run by Mark Caldwell (blog | twitter), through out the year.
Here's what's on the docket up through the start of the holiday season:
New York City
SQL Saturday 158, August 4
The Colorado User Group Tour
Boulder PASS user group meeting, August 14
Colorado Springs PASS user group meeting, August 15 (Register here for Colorado Springs PASS user group meeting).
Denver PASS user group meeting, August 16
Comatose, August 17 (Not an actual city in CO).
SQL Saturday Performance Tuning Pre-Con, September 28
SQL Saturday 151, September 29
SSWUG 2012 Fall vConference, Oct 2-4, (Please register using code 'VCKEVIN'. I will personally hug you, virtually.)
SQL Saturday Performance Tuning Pre-Con, October 5
SQL Saturday 165, October 6
East Iowa PASS user group meeting, Oct 8 TBD
Quad City PASS user group meeting, Oct 9 TBD
Nashville (Go Titans!)
SQL Saturday Leadership Skills for IT Pros Pre-Con, October 12
SQL Saturday 145, October 13
SQL Connections, Las Vegas, Nov 1-4
PASS Summit 2012, Seattle, Nov 6-9
Let me know if you're nearby and if you're coming to any of these events. I'd enjoy seeing you personally and getting a chance to shake your hand!
Hope to see you soon,
-Follow me on Twitter!
-More content at http://KevinEKline.com