Tag: Database Weekly

  • The API Battle

    I think Oracle is a fine database platform, maybe too expensive, but it works. However, I’m not a fan of the company, and I find myself less enamored with them when I read about this case. This the Oracle v Google case, where Google is accused of violating copyright of Java APIs when it build Android.

    Essentially Oracle claims that the Java API, the packages, classes, methods, etc. are copyrighted and cannot be used in any other product. I assume this means that if I implemented the Java.SQL class, writing the code in C#, I’d be infringing on Oracle’s work.

    Even if I offered my software for free, this could be legal violation and I’d owe Oracle money. Or I’d need to license the API from Oracle. Any guesses on whether that would be inexpensive or prohibitive?

    In one sense, I do think that copyright and patent protection should exist. On the other hand, I think some of the applications of the original laws and ideas to the digital world don’t translate well. I certainly think that APIs shouldn’t be protected. These are essentially function names, and while I appreciate the need to copyright words, I don’t think it should go this far.

    I am hopeful that the Supreme Court will hear this case, and rule that this isn’t a violation. As someone that works for a software company, and has written software designed to inter-operate with other products, I think this would cause lots of chaos in our industry. I also think we have enough silly licensing and limiting practices in software, and I’d prefer to see less, not more.

    Steve Jones

  • Automation is a Key Skill for the Modern DBA

    This month we had T-SQL Tuesday #130, hosted by Elizabeth Noble. Elizabeth and I had some good talks about database development and DevOps last year, and I managed to convince her to host one of the blog parties. I had expected that people might focus on the software development side of automation, but many of the posts cover administrative topics.

    The recap is coming next week, and I look forward to it, but I shouldn’t have been surprised. Good DBAs, as well as many sysadmins and Operations staff, have known that automation is important for years. It helps to ensure a smooth running environment and helps us cope with the volume of work that is thrust upon us.

    There were a few interesting posts. Greg Dodd talks about the advantages for his employer when he automates things, which is important to think about. Spending time automating things can slow down the initial closing of tickets, but it pays dividends in the future. It’s an investment, which is something to think about when you try to reduce repetitive work. Especially if your boss is concerned about the time taken to solve some tickets.

    One of the big advantages of DevOps, as well as general automation, is consistency. Taoib Ali explains how he enforces trace flags with automation, and Kevin Chant talks about SQL Server updates. Deepthi Goguri explains how to handle DBA work at scale. These are all situations where a little automation is not only useful, but perhaps essentially to reducing mistakes and human error.

    As we move to a larger number of versions to support, a great variety of platforms, including the cloud, it’s critical that a DBA not be required to click around in SSMS or connect to lots of systems to manage them. Learning to automate can produce some great blog posts for your brand, give you interesting conversation ice breakers at events (or on social media), and generate some stories that will impress interviewers.

    If you aren’t sure how to get started, consider reading Eitan’s Laws of Automation. It’s a look at what to automate, why, and a few ideas on implementing changes.

  • Location Data Privacy

    I caught a post from Bruce Schneier that references an article about a company collecting location data from numerous apps (WSJ, AndroidAuthority). This is legal, though the company has ties to the US government. As expected, there are people upset with this tracking, and we don’t have a list of applications.

    Apparently a company, Anomaly Six, provides some tracking code to app developers, whom are paid to include this in their apps. I wonder if this for specific companies or contractors. The former is bad, but if the latter, do the clients know their contractor is including this code? I suspect many software development tools wouldn’t necessarily flag this, if a client even bothered to review the code they were provided.

    This does seem creepy, and disturbing to have someone tracking your code. However, the data is supposedly anonymized, meaning that they know a phone was moved through “these” locations, but they don’t know who knows the phone. I assume the government could actually get a warrant and track your phone if you were suspected of some crime, so is this bad?

    I can’t quite think of why I dislike this, but I do. Perhaps this is to perform some sort of traffic analysis? Either physical movement of individuals or maybe the correlation of cell phone location with other data? Maybe they look for how often phones come into contact with each other? There are likely lots of uses for this anonymous data that could be useful to planners, but I also think there could be lots of more open ways of getting this data, such as asking for it from mobile providers.

    This feels like yet another place where the US is woefully disrespectful of data about humans. We seem to be way behind other countries, and it’s distressing to me. I hope that we start to enact a framework of legislation to give people more rights over this data, but I’m not sure that I will see that happen anytime soon.

    Steve Jones

  • Digging Into Internals

    Hugo Kornelis is a fellow Data Platform MVP and friend. He runs SQL Server Fast, and we recently put up an interesting page with this title: Debugging with debugger: investigating SQL Server’s internal structures. That’s a great title, and it is for a presentation that he is building and getting ready to present. I suspect it will be at a virtual conference soon, but we’ll see.

    Hugo digs deep into the details of how things work. If you read his blog regularly, you’ll learn a lot about the ways in which SQL Server processes queries. You should learn how to better tune your own queries and produce efficient code. At least that’s the goal.

    However, I wonder if most of you feel that way. While I see performance tuning sessions are often being the most popular topics at events, are you interested in internals? Do you actually use information from posts and presentations to dig in deeper to the way your queries are compiled and executed?

    I know Plan Explorer is a very popular tool among MVPs, and lots of people download it, but I still see so many basic questions on execution plans, I sometimes wonder if people are really using the tool to change they way they write code.

    If you want to learn more about query tuning, Hugo, Grant Fritchey, Aaron Bertrand, Paul White, Erik Darling, and many others will try to teach you. Just be sure you try and use the knowledge they impart in your daily work.

    Steve Jones