|Pro SQL Server On Linux|
Author: Bob Ward
Given the history of SQL Server as a Windows product, getting it up and running well on Linux is almost certain to involve someone working out of their comfort zone.
Either you're going to have a Linux expert trying to fathom the idiosyncracies and ecosystem of SQL Server, or you're going to have a SQL Server expert installing and configuring SQL Server in the 'here be dragons' territory of Linux. The author of this book, Bob Ward, is one of the principal architects of SQL Server for Linux - as well as having worked on every other version of SQL Server from OS/2 onwards, so is well qualified to show how to make SQL Server work well on Linux.
Ward is a popular speaker about SQL Server, and while that doesn't always translate to a well-written book, in this case his knowledge shines through. He says he decided not to choose either the SQL Server expert or the Linux expert as his reader, but instead to focus on the important things about using, developing for, and managing SQL Server.
The book opens with a chapter that asks the question most people will be asking - why SQL Server on Linux? If you're wanting to run SQL Server, surely you're better off on Windows, and if you're wanting a database for use on Linux, surely there are better alternatives - MySQL or PostgreSQL, perhaps. Ward's answer is more about why Microsoft decided to make SQL Server available for Linux and how they did it rather than why someone would want to use it. However, knowing how - essentially by using Microsoft's Drawbridge technology. This is a type of virtualization where a picoprocess, which is a process-based isolation container with a minimal kernel API surface is used to run a version of Windows cut down to run efficiently within a picoprocess.
Having explained the thinking behind the development, Ward then moves on to installation and configuration. Having got over one of the major hurdles for new users, the next chapter moves on to building a database and T-SQL fundamentals, using Visual Studio Code for the development tool. This chapter sets the scene for the next, which covers building an application and advanced T-SQL. These two chapters are excellent, and for many developers will be reason enough to buy the book.
One reason to choose SQL Server is the range of tools it includes, and most of these are introduced in the next chapter. Most get a brief introduction rather than being covered in detail, but it should be enough to see what's there and how to use it.
The performance capabilities of SQL Server, and how to get the best performance from it are covered in another excellent chapter. Ward looks at the configuration of the SQL Server instance, database, and Linux itself, as well as looking at the features in SQL Server that you can tune to accelerate its performance.- partitioned tables and indexes, columnstore indexes, and in-memory OLTP.
Security is the topic of the next chapter, with practical advice on how to manage the different elements to be as secure as possible. This chapter is followed by one on high availability and disaster recovery, looking at backup and restore, setting up and managing an 'always on' failover cluster and availability groups.
One of the advantages of SQL Server is the range of tools for managing and monitoring it, and these are covered next. This is followed by a look at migrating to SQL Server on Linux from other databases - SQL Server on Windows, Oracle, and PostgreSQL.
The final chapter covers SQL Server and containers, specifically running SQL Server with containers, using Docker, and using Kubernetes.
This is a really good book. It's easy to read, has some fascinating background information about why various choices were made, and excellent information of how and why to do things using SQL Server for Linux. Highly recommended.
|Last Updated ( Tuesday, 25 June 2019 )|