SlideShare a Scribd company logo
SQL SERVER:
NOW IT’S EVERYWHERE YOU WANT TO BE
Ed Leighton-Dick
ABOUT ME
Email: ed@leightondick.com
Blog: edleightondick.com
Twitter: @eleightondick
SESSION GOALS
• Show SQL Server on Linux and Docker
• Discuss how it works… and what needs work
• Talk about why this is important
SQL SERVER ON LINUX…
WHAAAA?
SERIOUSLY? WHY??
• Competition
• Massive (and growing) Linux installation base…
especially in the cloud
• Containers!
OK, FINE…
BUT DOES IT WORK?
Demos
HOW DOES IT WORK?
TRADITIONAL APPROACHES TO
PLATFORM SHIFTING
• Rebuild:
Rewrite everything!
• Traditional VMs:
Emulate everything!
• WINE project:
Translate everything!
• None of these would have worked well
HOW MICROSOFT DID IT
• Compared Win32, et al
to Linux
• Most commands had direct
correlation => TRANSLATE
• Small subset required
specialized code =>
EMULATE
Image source: Young Frankenstein
PIECES ALREADY EXISTED…
Image source: Microsoft Technet, SQL Server Blog
THE SOLUTION:
PLATFORM ABSTRACTION LAYER
(PAL)
Image source: Microsoft Technet, SQL Server Blog
THE SOLUTION:
PLATFORM ABSTRACTION LAYER
(PAL)
Image source: Microsoft Technet, SQL Server Blog
THE SOLUTION:
PLATFORM ABSTRACTION LAYER
(PAL)
• Runs in user mode, not kernel mode
• Used for both Linux and Windows
• Benefits to both platforms
• All resources are managed by SQLPAL
• Uses a fraction of the disk space of a VM
• SQL Server can be identical on all platforms!
SYSTEM REQUIREMENTS
Windows
• RAM: 1GB/4GB
• CPU: 1.4GHz/2GHz
• Disk: 1.5GB-8GB
• File System:
NTFS
Docker
• RAM: 4GB
• CPU: N/A
• Disk: 4GB
• File System:
N/A
• Docker 1.8+
Any Linux or
Docker for Mac/Win
• RAM: 3.25GB
• CPU: 2GHz
• Disk: 6GB
• File System:
EXT4, XFS
• RHEL 7.3,
SUSE v12 SP2,
Ubuntu 16.04LTS
Linux
WHAT’S THE SAME?
• Everything unless explicitly listed
• It’s the same code!
WHAT’S DIFFERENT
• Configuration utilities
• A few capabilities aren’t supported
• They rely on Windows-specific functionality, or
• Demand isn’t projected to be high enough, or
• It’s complicated, and they haven’t gotten it finished yet
WHAT DOESN’T WORK (RC2)
Replication – Transactional AGENT – Subsystems (partial) SQL Server Browser
Replication – Merge AGENT – Alerts R Services
Stretch DB AGENT – Log Reader Agent StreamInsight
Polybase AGENT – CDC Analysis Services
Distributed query (partial) AGENT – Managed Backup Reporting Services
Extended stored procedures Data Quality Services
FILETABLE Database Mirroring Master Data Services
CLR assemblies (except SAFE) Encryption Key Management (EKM)
Buffer Pool Extension
SIGNIFICANT KNOWN ISSUES (RC2)
• Server name length limited to 15 characters
• One instance per server
• Distributed transactions requiring MSDTC not supported
(SQL-to-SQL works)
• Some TLS algorithms unsupported
• SQL 2014 In-Memory OLTP must be upgraded before restoring to Linux
• Some FTS filters unsupported
• SSIS – Catalog, Windows authentication, Third-party components, Scale out
• Maintenance plans unsupported
PERFORMANCE
• SQL Server’s code is identical
• Your code is identical
• 85-100% of performance on Windows… or better!
WHY IT’S IMPORTANT
THIS ENABLES SOME VERY
INTERESTING POSSIBILITIES!
Image source: Pixabay. CC0 license.
CLOUD
• Allows more widespread use of SQL Server
• Enables use with cloud platforms
• Enables use with orchestration (Swarm, Kubernetes)
CONTAINERS
• Higher density on servers
• Up-to-date images of databases for development
• DevOps integration
DEVOPS
• Quick to spin up, smaller footprint
• Maintain a library of images for development and testing
• Single-use containers for unit tests
WRAP-UP
SESSION GOALS
Show SQL Server on Linux and Docker
Discuss how it works… and what needs work
Talk about why this is important
CONCLUSIONS
• Valuable addition to the toolbox
• Especially useful for containers and DevOps
• Sign of positive changes within Microsoft
FOR MORE INFORMATION
• Microsoft Docs
https://docs.microsoft.com/en-us/sql/linux
• SQL Server Blog
https://blogs.technet.microsoft.com/dataplatforminsider/
• SQL on Linux Engineering Town Halls
https://www.microsoft.com/en-us/sql-server/sql-server-2017-linux
QUESTIONS?
Email: ed@leightondick.com
Blog: edleightondick.com
Twitter: @eleightondick
THANK YOU FOR ATTENDING!
~ Please remember to fill out your comment cards ~

More Related Content

What's hot

BePUG - PowerShell and REST - Expanding your Horizon
BePUG - PowerShell and REST - Expanding your HorizonBePUG - PowerShell and REST - Expanding your Horizon
BePUG - PowerShell and REST - Expanding your Horizon
Eurocontrol
 
PP_Eric_Gandt
PP_Eric_GandtPP_Eric_Gandt
PP_Eric_Gandt
Eric Gandt
 
Oracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANKOracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANK
ibankuk
 
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application StartupHow Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
Rudy De Busscher
 
JavaEE Microservices platforms
JavaEE Microservices platformsJavaEE Microservices platforms
JavaEE Microservices platforms
Payara
 
ESB integration for node.js
ESB integration for node.js ESB integration for node.js
ESB integration for node.js
SÎNICĂ Alboaie
 
Docker in the Cloud
Docker in the CloudDocker in the Cloud
Docker in the Cloud
Sascha Möllering
 
Secure JAX-RS
Secure JAX-RSSecure JAX-RS
Secure JAX-RS
Payara
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
Rudy De Busscher
 
Effective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfileEffective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfile
Payara
 
A Day in the Life of a Silicon Valley Startup
A Day in the Life of a Silicon Valley StartupA Day in the Life of a Silicon Valley Startup
A Day in the Life of a Silicon Valley Startup
Sachin Rekhi
 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
Sascha Möllering
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
Ortus Solutions, Corp
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
Ido Flatow
 
RavenDB 3.5
RavenDB 3.5RavenDB 3.5
RavenDB 3.5
Oren Eini
 
JPA 2.1 on Payara Server
JPA 2.1 on Payara ServerJPA 2.1 on Payara Server
JPA 2.1 on Payara Server
Payara
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next Generation
RightScale
 
RavenDB embedded at massive scales
RavenDB embedded at massive scalesRavenDB embedded at massive scales
RavenDB embedded at massive scales
Oren Eini
 
Chicago Microservices Integration Talk
Chicago Microservices Integration TalkChicago Microservices Integration Talk
Chicago Microservices Integration Talk
Christian Posta
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new features
Christian Posta
 

What's hot (20)

BePUG - PowerShell and REST - Expanding your Horizon
BePUG - PowerShell and REST - Expanding your HorizonBePUG - PowerShell and REST - Expanding your Horizon
BePUG - PowerShell and REST - Expanding your Horizon
 
PP_Eric_Gandt
PP_Eric_GandtPP_Eric_Gandt
PP_Eric_Gandt
 
Oracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANKOracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANK
 
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application StartupHow Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
 
JavaEE Microservices platforms
JavaEE Microservices platformsJavaEE Microservices platforms
JavaEE Microservices platforms
 
ESB integration for node.js
ESB integration for node.js ESB integration for node.js
ESB integration for node.js
 
Docker in the Cloud
Docker in the CloudDocker in the Cloud
Docker in the Cloud
 
Secure JAX-RS
Secure JAX-RSSecure JAX-RS
Secure JAX-RS
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
 
Effective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfileEffective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfile
 
A Day in the Life of a Silicon Valley Startup
A Day in the Life of a Silicon Valley StartupA Day in the Life of a Silicon Valley Startup
A Day in the Life of a Silicon Valley Startup
 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
 
RavenDB 3.5
RavenDB 3.5RavenDB 3.5
RavenDB 3.5
 
JPA 2.1 on Payara Server
JPA 2.1 on Payara ServerJPA 2.1 on Payara Server
JPA 2.1 on Payara Server
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next Generation
 
RavenDB embedded at massive scales
RavenDB embedded at massive scalesRavenDB embedded at massive scales
RavenDB embedded at massive scales
 
Chicago Microservices Integration Talk
Chicago Microservices Integration TalkChicago Microservices Integration Talk
Chicago Microservices Integration Talk
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new features
 

Similar to SQL Server: Now It's Everywhere You Want to Be

Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux OverviewNordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Travis Wright
 
AWS to Bare Metal: Motivation, Pitfalls, and Results
AWS to Bare Metal: Motivation, Pitfalls, and ResultsAWS to Bare Metal: Motivation, Pitfalls, and Results
AWS to Bare Metal: Motivation, Pitfalls, and Results
MongoDB
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
Sergey Dzyuban
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
Paul Withers
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
Travis Wright
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
John Adams
 
6232 b 01
6232 b 016232 b 01
6232 b 01
stamal
 
Exploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservicesExploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservices
💡 Tomasz Kogut
 
SQL Server vNext on Linux
SQL Server vNext on LinuxSQL Server vNext on Linux
SQL Server vNext on Linux
Travis Wright
 
NoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using CouchbaseNoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using Couchbase
Brant Burnett
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
Lalit Kale
 
SQL Server Workshop for Developers - Visual Studio Live! NY 2012
SQL Server Workshop for Developers - Visual Studio Live! NY 2012SQL Server Workshop for Developers - Visual Studio Live! NY 2012
SQL Server Workshop for Developers - Visual Studio Live! NY 2012
Andrew Brust
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
Particular Software
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
Bob Ward
 
Using Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseUsing Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your database
Red Gate Software
 
Using Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseUsing Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your Database
Red Gate Software
 
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginnersSQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
Tobias Koprowski
 
Distributed query deep dive conor cunningham
Distributed query deep dive   conor cunninghamDistributed query deep dive   conor cunningham
Distributed query deep dive conor cunningham
Radityo Prasetianto Wibowo
 
Lecture 9: Dynamic web application
Lecture 9: Dynamic web applicationLecture 9: Dynamic web application
Lecture 9: Dynamic web application
Artificial Intelligence Institute at UofSC
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
Bob Ward
 

Similar to SQL Server: Now It's Everywhere You Want to Be (20)

Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux OverviewNordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
 
AWS to Bare Metal: Motivation, Pitfalls, and Results
AWS to Bare Metal: Motivation, Pitfalls, and ResultsAWS to Bare Metal: Motivation, Pitfalls, and Results
AWS to Bare Metal: Motivation, Pitfalls, and Results
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
 
6232 b 01
6232 b 016232 b 01
6232 b 01
 
Exploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservicesExploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservices
 
SQL Server vNext on Linux
SQL Server vNext on LinuxSQL Server vNext on Linux
SQL Server vNext on Linux
 
NoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using CouchbaseNoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using Couchbase
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
SQL Server Workshop for Developers - Visual Studio Live! NY 2012
SQL Server Workshop for Developers - Visual Studio Live! NY 2012SQL Server Workshop for Developers - Visual Studio Live! NY 2012
SQL Server Workshop for Developers - Visual Studio Live! NY 2012
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
 
Using Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseUsing Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your database
 
Using Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseUsing Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your Database
 
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginnersSQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
 
Distributed query deep dive conor cunningham
Distributed query deep dive   conor cunninghamDistributed query deep dive   conor cunningham
Distributed query deep dive conor cunningham
 
Lecture 9: Dynamic web application
Lecture 9: Dynamic web applicationLecture 9: Dynamic web application
Lecture 9: Dynamic web application
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
 

More from Ed Leighton-Dick

How to Keep Your Databases Secure in Just Minutes a Day
How to Keep Your Databases Secure in Just Minutes a DayHow to Keep Your Databases Secure in Just Minutes a Day
How to Keep Your Databases Secure in Just Minutes a Day
Ed Leighton-Dick
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
Ed Leighton-Dick
 
Understanding SQL Server 2016 Always Encrypted
Understanding SQL Server 2016 Always EncryptedUnderstanding SQL Server 2016 Always Encrypted
Understanding SQL Server 2016 Always Encrypted
Ed Leighton-Dick
 
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Ed Leighton-Dick
 
Protecting Your Data with Encryption
Protecting Your Data with EncryptionProtecting Your Data with Encryption
Protecting Your Data with Encryption
Ed Leighton-Dick
 
Extending Your Availability Group for Disaster Recovery
Extending Your Availability Group for Disaster RecoveryExtending Your Availability Group for Disaster Recovery
Extending Your Availability Group for Disaster Recovery
Ed Leighton-Dick
 
SQL Server Features That Will Blow Your Mind!
SQL Server Features That Will Blow Your Mind!SQL Server Features That Will Blow Your Mind!
SQL Server Features That Will Blow Your Mind!
Ed Leighton-Dick
 
Get Involved!
Get Involved!Get Involved!
Get Involved!
Ed Leighton-Dick
 
Service Broker: The Queue Continuum
Service Broker: The Queue ContinuumService Broker: The Queue Continuum
Service Broker: The Queue Continuum
Ed Leighton-Dick
 
Practically Normal: An Introduction to Normalization
Practically Normal: An Introduction to NormalizationPractically Normal: An Introduction to Normalization
Practically Normal: An Introduction to Normalization
Ed Leighton-Dick
 

More from Ed Leighton-Dick (10)

How to Keep Your Databases Secure in Just Minutes a Day
How to Keep Your Databases Secure in Just Minutes a DayHow to Keep Your Databases Secure in Just Minutes a Day
How to Keep Your Databases Secure in Just Minutes a Day
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
 
Understanding SQL Server 2016 Always Encrypted
Understanding SQL Server 2016 Always EncryptedUnderstanding SQL Server 2016 Always Encrypted
Understanding SQL Server 2016 Always Encrypted
 
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
 
Protecting Your Data with Encryption
Protecting Your Data with EncryptionProtecting Your Data with Encryption
Protecting Your Data with Encryption
 
Extending Your Availability Group for Disaster Recovery
Extending Your Availability Group for Disaster RecoveryExtending Your Availability Group for Disaster Recovery
Extending Your Availability Group for Disaster Recovery
 
SQL Server Features That Will Blow Your Mind!
SQL Server Features That Will Blow Your Mind!SQL Server Features That Will Blow Your Mind!
SQL Server Features That Will Blow Your Mind!
 
Get Involved!
Get Involved!Get Involved!
Get Involved!
 
Service Broker: The Queue Continuum
Service Broker: The Queue ContinuumService Broker: The Queue Continuum
Service Broker: The Queue Continuum
 
Practically Normal: An Introduction to Normalization
Practically Normal: An Introduction to NormalizationPractically Normal: An Introduction to Normalization
Practically Normal: An Introduction to Normalization
 

Recently uploaded

A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
AlessioFois2
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
aqzctr7x
 
Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024
ElizabethGarrettChri
 
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
xclpvhuk
 
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
slg6lamcq
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
nyfuhyz
 
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
eoxhsaa
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
Social Samosa
 
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
bopyb
 
一比一原版美国帕森斯设计学院毕业证(parsons毕业证书)如何办理
一比一原版美国帕森斯设计学院毕业证(parsons毕业证书)如何办理一比一原版美国帕森斯设计学院毕业证(parsons毕业证书)如何办理
一比一原版美国帕森斯设计学院毕业证(parsons毕业证书)如何办理
asyed10
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
nuttdpt
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Aggregage
 
Cell The Unit of Life for NEET Multiple Choice Questions.docx
Cell The Unit of Life for NEET Multiple Choice Questions.docxCell The Unit of Life for NEET Multiple Choice Questions.docx
Cell The Unit of Life for NEET Multiple Choice Questions.docx
vasanthatpuram
 
原版一比一爱尔兰都柏林大学毕业证(UCD毕业证书)如何办理
原版一比一爱尔兰都柏林大学毕业证(UCD毕业证书)如何办理 原版一比一爱尔兰都柏林大学毕业证(UCD毕业证书)如何办理
原版一比一爱尔兰都柏林大学毕业证(UCD毕业证书)如何办理
tzu5xla
 
Building a Quantum Computer Neutral Atom.pdf
Building a Quantum Computer Neutral Atom.pdfBuilding a Quantum Computer Neutral Atom.pdf
Building a Quantum Computer Neutral Atom.pdf
cjimenez2581
 
Sample Devops SRE Product Companies .pdf
Sample Devops SRE  Product Companies .pdfSample Devops SRE  Product Companies .pdf
Sample Devops SRE Product Companies .pdf
Vineet
 
How To Control IO Usage using Resource Manager
How To Control IO Usage using Resource ManagerHow To Control IO Usage using Resource Manager
How To Control IO Usage using Resource Manager
Alireza Kamrani
 
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docxDATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
SaffaIbrahim1
 
Build applications with generative AI on Google Cloud
Build applications with generative AI on Google CloudBuild applications with generative AI on Google Cloud
Build applications with generative AI on Google Cloud
Márton Kodok
 
writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
VyNguyen709676
 

Recently uploaded (20)

A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024
 
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
 
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
 
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
 
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
 
一比一原版美国帕森斯设计学院毕业证(parsons毕业证书)如何办理
一比一原版美国帕森斯设计学院毕业证(parsons毕业证书)如何办理一比一原版美国帕森斯设计学院毕业证(parsons毕业证书)如何办理
一比一原版美国帕森斯设计学院毕业证(parsons毕业证书)如何办理
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
 
Cell The Unit of Life for NEET Multiple Choice Questions.docx
Cell The Unit of Life for NEET Multiple Choice Questions.docxCell The Unit of Life for NEET Multiple Choice Questions.docx
Cell The Unit of Life for NEET Multiple Choice Questions.docx
 
原版一比一爱尔兰都柏林大学毕业证(UCD毕业证书)如何办理
原版一比一爱尔兰都柏林大学毕业证(UCD毕业证书)如何办理 原版一比一爱尔兰都柏林大学毕业证(UCD毕业证书)如何办理
原版一比一爱尔兰都柏林大学毕业证(UCD毕业证书)如何办理
 
Building a Quantum Computer Neutral Atom.pdf
Building a Quantum Computer Neutral Atom.pdfBuilding a Quantum Computer Neutral Atom.pdf
Building a Quantum Computer Neutral Atom.pdf
 
Sample Devops SRE Product Companies .pdf
Sample Devops SRE  Product Companies .pdfSample Devops SRE  Product Companies .pdf
Sample Devops SRE Product Companies .pdf
 
How To Control IO Usage using Resource Manager
How To Control IO Usage using Resource ManagerHow To Control IO Usage using Resource Manager
How To Control IO Usage using Resource Manager
 
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docxDATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
DATA COMMS-NETWORKS YR2 lecture 08 NAT & CLOUD.docx
 
Build applications with generative AI on Google Cloud
Build applications with generative AI on Google CloudBuild applications with generative AI on Google Cloud
Build applications with generative AI on Google Cloud
 
writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
 

SQL Server: Now It's Everywhere You Want to Be

  • 1. SQL SERVER: NOW IT’S EVERYWHERE YOU WANT TO BE Ed Leighton-Dick
  • 2. ABOUT ME Email: ed@leightondick.com Blog: edleightondick.com Twitter: @eleightondick
  • 3. SESSION GOALS • Show SQL Server on Linux and Docker • Discuss how it works… and what needs work • Talk about why this is important
  • 4. SQL SERVER ON LINUX… WHAAAA?
  • 5. SERIOUSLY? WHY?? • Competition • Massive (and growing) Linux installation base… especially in the cloud • Containers!
  • 6. OK, FINE… BUT DOES IT WORK? Demos
  • 7. HOW DOES IT WORK?
  • 8. TRADITIONAL APPROACHES TO PLATFORM SHIFTING • Rebuild: Rewrite everything! • Traditional VMs: Emulate everything! • WINE project: Translate everything! • None of these would have worked well
  • 9. HOW MICROSOFT DID IT • Compared Win32, et al to Linux • Most commands had direct correlation => TRANSLATE • Small subset required specialized code => EMULATE Image source: Young Frankenstein
  • 10. PIECES ALREADY EXISTED… Image source: Microsoft Technet, SQL Server Blog
  • 11. THE SOLUTION: PLATFORM ABSTRACTION LAYER (PAL) Image source: Microsoft Technet, SQL Server Blog
  • 12. THE SOLUTION: PLATFORM ABSTRACTION LAYER (PAL) Image source: Microsoft Technet, SQL Server Blog
  • 13. THE SOLUTION: PLATFORM ABSTRACTION LAYER (PAL) • Runs in user mode, not kernel mode • Used for both Linux and Windows • Benefits to both platforms • All resources are managed by SQLPAL • Uses a fraction of the disk space of a VM • SQL Server can be identical on all platforms!
  • 14. SYSTEM REQUIREMENTS Windows • RAM: 1GB/4GB • CPU: 1.4GHz/2GHz • Disk: 1.5GB-8GB • File System: NTFS Docker • RAM: 4GB • CPU: N/A • Disk: 4GB • File System: N/A • Docker 1.8+ Any Linux or Docker for Mac/Win • RAM: 3.25GB • CPU: 2GHz • Disk: 6GB • File System: EXT4, XFS • RHEL 7.3, SUSE v12 SP2, Ubuntu 16.04LTS Linux
  • 15. WHAT’S THE SAME? • Everything unless explicitly listed • It’s the same code!
  • 16. WHAT’S DIFFERENT • Configuration utilities • A few capabilities aren’t supported • They rely on Windows-specific functionality, or • Demand isn’t projected to be high enough, or • It’s complicated, and they haven’t gotten it finished yet
  • 17. WHAT DOESN’T WORK (RC2) Replication – Transactional AGENT – Subsystems (partial) SQL Server Browser Replication – Merge AGENT – Alerts R Services Stretch DB AGENT – Log Reader Agent StreamInsight Polybase AGENT – CDC Analysis Services Distributed query (partial) AGENT – Managed Backup Reporting Services Extended stored procedures Data Quality Services FILETABLE Database Mirroring Master Data Services CLR assemblies (except SAFE) Encryption Key Management (EKM) Buffer Pool Extension
  • 18. SIGNIFICANT KNOWN ISSUES (RC2) • Server name length limited to 15 characters • One instance per server • Distributed transactions requiring MSDTC not supported (SQL-to-SQL works) • Some TLS algorithms unsupported • SQL 2014 In-Memory OLTP must be upgraded before restoring to Linux • Some FTS filters unsupported • SSIS – Catalog, Windows authentication, Third-party components, Scale out • Maintenance plans unsupported
  • 19. PERFORMANCE • SQL Server’s code is identical • Your code is identical • 85-100% of performance on Windows… or better!
  • 21. THIS ENABLES SOME VERY INTERESTING POSSIBILITIES! Image source: Pixabay. CC0 license.
  • 22. CLOUD • Allows more widespread use of SQL Server • Enables use with cloud platforms • Enables use with orchestration (Swarm, Kubernetes)
  • 23. CONTAINERS • Higher density on servers • Up-to-date images of databases for development • DevOps integration
  • 24. DEVOPS • Quick to spin up, smaller footprint • Maintain a library of images for development and testing • Single-use containers for unit tests
  • 26. SESSION GOALS Show SQL Server on Linux and Docker Discuss how it works… and what needs work Talk about why this is important
  • 27. CONCLUSIONS • Valuable addition to the toolbox • Especially useful for containers and DevOps • Sign of positive changes within Microsoft
  • 28. FOR MORE INFORMATION • Microsoft Docs https://docs.microsoft.com/en-us/sql/linux • SQL Server Blog https://blogs.technet.microsoft.com/dataplatforminsider/ • SQL on Linux Engineering Town Halls https://www.microsoft.com/en-us/sql-server/sql-server-2017-linux
  • 30. THANK YOU FOR ATTENDING! ~ Please remember to fill out your comment cards ~