Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Argenis Fernandez
Principal Program Manager, Azure Data
@DBArgenis
Interoperability and the SQL Platform Abstraction Layer
• In the Beginning, there Was Drawbridge
• Enter SQL Server
• Into Aris and Beyond
• The Interop Story for SQLPAL
Agenda
In the Beginning, there Was Drawbridge
Pico Processes in Context
• NT process with modified service handler• All 1200+ system calls blocked from user-mode (NTOS and win32k)
• Enforced by 35-line change to KiSystemServiceHandler
• No perf impact to other processes—leverages “slow path” used by UMS
• 50 new system calls added to process (Drawbridge system calls)
• Even hard-coded traps can’t break out
NT process
shared
address space
user32
gdi32
ntdll
ho
st
OS
ntoskrnl win32k
400+NT calls
800+Win32 calls
Picoprocess
picoprocess
isolated
address space
ABI boundary
PAL
ho
st
OS security monitor
ntoskrnl
45calls
Enter SQL Server
Host Extension
ABI (Memory, Scheduling, Synchronization, I/O)
Storage
Manager
Network
Manager
Resource
Manager
Process
ManagerSecurity
Manager
Availability
Manager
Config.
Manager
Hosted Windows APIs
SQL Server
Platform-Optimized APIs
SQL Server on Linux: A Story in 4 Numbers
5 3 18 15Estimated number
of years to port
SQL Server to
Linux natively
Weeks to working
prototype using
SQLPAL
Months to
release, including
support for
containers
Million Docker
container pulls
Using SQLPAL, SQL Server Went From…
Only on Virtual Machines
On both virtual machines and containers
To Being Available Across ALL Of These
• Linux experience end-to-end
• Runs under systemd
• Supports EXT4, XFS and NFS v4.2
• Performance on par with Windows
• All editions available from a single download, including our FREE Developer Edition
SQL Server on Linux: Highlights
Into Aris and Beyond
• Cognitive Services
• Speech Server
• Azure SQL Database Edge
• Aris: Big Data Clusters
• Stuff we can’t tell you about yet
After SQL Server on Linux Was Released
Thank you.
© Copyright Microsoft Corporation. All rights reserved.