Still on vacation, hopefully hiking. Republishing Managerial Moneyball.
I have other articles on Data Masker if you’re interested.
Still on vacation, hopefully hiking. Republishing Managerial Moneyball.
There is no shortage of predictions that we all make every day. Long before PREDICT and the popularity of Machine Learning/R/Python and more, each and every one of us has regularly made guesses about what will happen in our world. Some of us make large predictions, like faxes will be used forever, and some of us make small ones, like it’s going to snow more than the forecast tonight. Our world shows us data and we make guesses.
Many of us are data professionals and we are looking to grow our careers and improve our skills on a regular basis. At least, I hope you are. A friend mentioned to me that it’s hard to decide where to focus energy and attention these days, as SQL Server grows and expands, and time is limited. Are there topics that might be better or worse for us to learn about? After all, no one wants to be the person that invested a year of their time in the next Notification Services.
I don’t have any great predictions for SQL Server, but I did think about the possibilities recently. I was interviewed by Mohammad Darab, and had to answer a number of questions looking forward. As I re-read the interview, I think I waffled a bit, mostly because the world doesn’t change at an even pace. Some companies will advance fast, and some slowly. I think it is important to expand your skills and consider the cloud and related technologies, but there will certainly be some companies that never move.
There are other interviews in his series, and as I read them, I think about the different perspectives. We’re all close in what we think, but with perspectives that skew slightly away from each other. Most people seem to view the world as changing, but not nearly as fast as some articles and talks would lead you to believe. Grab 3 or 4 random interviews and compare them.
While I do think that data and databases, including SQL Server, will grow in importance and relevance, I also think that we will have a constantly growing opportunity of potential jobs and projects to tackle. Where I become cautious, and the reason I advocate continuing to learn, is with convenience. Will those jobs be in your company? Or your town? Will your job continue on until you retire? It’s entirely possible that the world will change and potentially force you to make drastic changes in your life. Change careers, move to a new location, or endure conditions that make you unhappy.
The future has one certainty; it’s uncertain. I tend to hedge my chances of minimizing disruption through education. I’d encourage you to do the same.
Steve Jones
Listen to the MP3 Audio ( 4.0MB) podcast or subscribe to the feed at iTunes and Libsyn.
I’ve been playing with Data Masker for SQL Server v6 and it’s an interesting product. I like the way it works, but I do find it a little challenging sometimes to figure out how to mask values. I’ve written a set of posts for different scenarios.
In a previous post I showed how I could change column values across rows in a table. This is useful in that it moves my data from this:
to this:
That’s good, but since I haven’t changed the myid column, I really haven’t masked things well. In fact, it would be trivial to derive the initial mychar values from the set if I knew the original values.
Let’s fix that.
My masking set looks like this for now:
I want to add a new substitution rule that will mix up my myid values. I add the rule and configure the correct column. In this case I limit the boundaries of my random numbers to 1-100, but I could choose any value.
I save this and run just this rule. Now my data looks like this:
We’re partway there, but I don’t have grouping. Elric has two different values for myid, which is wrong. Let’s fix that. Just as in the previous post, we’ll now add a Table Internal Sync rule. We configure this in reverse of the previous article. Now we use the new, changed names in mychar as the group column and myid as the column to sync across rows.
If I execute this, then I get the following:
Tada.
Now I just need to ensure these rules run in order (all four) with dependencies and when I run the entire set, I’ll get my table synced. Here’s the final rule set. Notice that I’ve created dependencies.
I’ll save the set, and then re-run it. Now I get these results:
Data masking is something that’s never been this easy for me. I’ve built lots of large scripts that made perfect sense for me, but were difficult to turn over to anyone else for usage and maintenance.
I’d urge you to give Data Masker a try if you’re looking to ensure compliant, safe data sets for your non-production environments.
I have other articles on Data Masker if you’re interested.