Scaling API-first – The story of a global engineering organization
Emerging Technologies in RDBMSs
1. Emerging Technologies in
Relational Database
Management Systems
Women Who Code Brisbane
28th October 2015
BYTE MINDED> educating kids bit by bit
2. What is a RDBMS?
BYTE MINDED> educating kids bit by bit
Relational Database Management System (RDBMS)
A software program that is used to administer relational databases
Modern RDBMS’s include:
- MS SQL Server
- Oracle
- IBM DB2
- MySQL
- Microsoft Access
5. Azure Integration
BYTE MINDED> educating kids bit by bit
Storage Services
Infrastructure-as-a-Service
Platform-as-a-Service
Hybrid Solutions for SQL Server
6. What’s Coming in SQL Server 2016
BYTE MINDED> educating kids bit by bit
QueryStore - maintains history of query execution plans
PolyBase – integrated into primary SQL Server SKUs
Stretch Database – dynamically stretch DB from on-prem to Azure
JSON Support – natively integrated into SQL Server
Row Level Security – natively integrated into SQL Server
Always Encrypted – protect data at rest and in motion
In-Memory Enhancements – extended functionality
AlwaysOn Enhancements – DTC support
Notas do Editor
Intro
Ask for a show of hands who has worked with one of these RDBMSs?
Because expertise is SQL Server, going to focus on emerging technologies in this product. Oracle and DB2 are doing similar things, but the architecture may be different to how Microsoft has done it. The SQL Server two main product suites – database engine component and business intelligence components. Only going to cover database engine component.
Introduced in 2012
Provides HA and DR
Offload reporting workload to a secondary replica
With the SQL Server relational engine, a client application connects to the TDS (tabular data stream – protocol/endpoint) Handler and calls interpreted T-SQL. The interpreted T-SQL goes through the Parser, catalog and optimizer phases to validate the T-SQL code and retrieve or create an execution plan. The T-SQL code is then executed, which will read data into memory from disk (if not already in the buffer pool).
The In-Memory OLTP engine is integrated with the SQL Server relational engine. A client application still connects to the TDS Handler regardless of whether it’s calling interpreted-TSQL or natively-compiled stored procedures. This means that In-Memory OLTP can be implemented into a database without having to make changes to the application.
Natively compiled stored procedure calls still go through the Parser, Catalog and Optimizer phases and then proceed to the In-Memory OLTP Compiler where the code is compiled into machine code and executed.
We can also see that Interpreted T-SQL can access both disk-based tables and through the interop capabilities memory-optimised tables, but natively-compiled stored procedures can only access memory-optimized tables.
Is only available in the 64-bit editions of SQL Server 2014 and it is an Enterprise Edition feature only.
QueryStore – upgrades introduce changes to query optimiser, which can negatively impact query performance. QueryStore maintains a history of query execution plans with their performance data and quickly identifies queries that have gotten slower recently, allowing administrators or developers to force the use of an older, better plan. Configured at the database level.
PolyBase – is a technology that bridges SQL Server and Hadoop (big data technology), allowing you to construct and run SQL queries over Hadoop data stores. PolyBase will be integrated into the primary SQL Server SKU’s.
Stretch Database – dynamically stretch an on-prem database to azure. Hot data or frequently accessed data stays on-prem and infrequently accessed data is moved to the cloud.
JSON Support – JavaScript Object Notation is a standardised data exchange format that has not been supported by previous versions of SQL Server. To perform JSON imports and exports you need to hand-code complex T-SQL, SQLCLR or JavaScript. 2016 incorporates JSON support directly into SQL Server much like XML and will natively parse and store JSON as relational data and will also support exporting relational data to JSON.
Row Level Security – now natively integrated into SQL Server, restricting which users can view what data in a table, based on a function. Limited functionality in 2016, with updates and inserts not being covered.
Always Encrypted – an enhanced ADO.NET library allows the encryption and decryption of data to occur transparently inside the application. Encryption key resides with the application and data stored in SQL Server is encrypted. SQL Server can perform operations on the encrypted data and data is secure, even from administrators.
In-Memory Enhancements – added support for parallelism (multiple CPUs), max database size increased from 256 GB to 2 TB, T-SQL surface area expanded, support for table constraints – foreign keys, check and unique constraints.
AlwaysOn Enhancements – support increased to 3 synchronous replicas. Will support DTC as well as round-robin load balancing of secondary replicas. Automatic failover based on database health.