At QCon New York 2015, David Fullerton presented a deep-dive into the monolithic C# / MS SQL architecture that powers the Stack Overflow website, which handles over 4 billion requests per month. Fullerton argued that by focusing on performance, scalability was included ‘almost for free’; and that by minimising the number of external application services, the need to pay ‘SOA tax’ has been avoided.
Mozilla, Google, Microsoft and Apple have decided to develop a binary format for the web. Called WebAssembly, this format could be a compilation target for any programming language, enabling applications to run in the browser or other agents.
NLog 4.0 has been released, and it brings improved exception logging, adds conditional logging, and support for JSON and Zip archives.
Data masking is a necessary, but error prone process. You only need to forget the mask one time to leak sensitive data. SQL Server 2016 attempts to address this with a feature called Dynamic Data Masking.
A common criticism for SQL Server’s security model is that it only understands tables and columns. If you want to apply security rules on a row-by-row basis, you have to simulate it using stored procedures or table value functions, and then find a way to make sure there is no way to bypass them. With SQL Server 2016, that is no longer a problem.
SQL Server 2016 seeks to make encryption easier via its new Always Encrypted feature. This feature offers a way to ensure that the database never sees unencrypted values without the need to rewrite the application.
SQL Server 2016’s new Temporal Table feature makes it easy to work with data that needs to be versioned.
Facebook has made changes to their Graph API which Microsoft says has forced it to drop Facebook support from several Microsoft applications. This means popular apps like Windows Photos and OneDrive will no longer exchange data with Facebook.
SQL Server 2016’s new stretch database feature promises to offer local server performance for hot data and cloud storage for old data without any change to the application.
Microsoft has released v0.3 of its native Visual Studio application, bringing with it support for Rust, as well as changes to keybindings.
In SQL Server 2014 we saw the introduction of Natively Compiled Stored Procedures. In 2016 we’ll be able to do the same for Scalar User Defined Functions.
Memory Optimized Tables promise significant performance gains, but tend to be difficult to work with. SQL Server 2016 reduces much of the pain by offering ALTER TABLE support.
Clustered Columnstore Indexes were one of the two headline features for SQL Server 2014. Designed for tables with over 10 million rows, they allow for good performance on analytical queries without the need to explicitly specify indexes. With SQL Server 2016, they gain the ability to support secondary indexes.
RyuJIT, Microsoft's next generation 64-bit just-in-time compiler for .NET, is now the default on .NET 4.6. Those upgrading from a RyuJIT CTP to .NET 4.6 should be sure to review settings to ensure that their applications are able to run correctly.
Non-clustered Columnstore Indexes are also getting some enhancements in SQL Server 2016. The most notable of these enhancements is the ability to be updated.