4. SQL on Linux のアーキテクチャ
Linux向けにポーティングされたものではない
“SQLPAL”により長年稼働してきたWindowsコードを共有
SQL Platform Abstraction Layer
(SQLPAL)
RDBMS SSIS SSAS SSRS
Windows Linux
Windows Host Ext.
Linux Host
Extension
SQL Platform Abstraction Layer
(SQLPAL)
Host extension mapping to OS system calls
(IO, Memory, CPU scheduling)
Win32-like APIsSQL OS API
SQL OS v2
All other systems
System resource & latency
sensitive code paths
5. on Linux
on Container
on Kubernetes
Popular and Commonly Used
Portable, Lightweight, Immutable, Efficient
Orchestration, Scalable, Self Healing
29. K8s内部構造
kubectl
API server
replication, namespace,
serviceaccounts, etc.
Controller
manager scheduler
KVS(etcd)
Master
Node(Worker)
kubelet kube-proxy
Docker
Pod Pod
Containers Containers
Node(Worker)
Docker
Pod Pod
Internet
kubelet kube-proxy
Containers Containers
概説
Master クラスタの司令塔となるノード
API Server K8sを管理するためのREST API
Scheduler Podのスケジューリングを制御
Contoller
Manager
クラスタのセルフヒーリングを
制御
KVS(etcd) クラスターに関わる情報を格納
Node Podを動作させるワーカーノード
Pod
スケジューリングの最小単位と
なるコンテナアプリケーション
Pod内には1つ以上のコンテナが
定義可能
kubelet
API serverを通じてMasterと通信
しNode内を制御
kube-proxy 通信制御
38. Data Virtualization
ODBC NoSQL RDBMS Big Data
重複するストレージコスト
データパイプラインの構築と維持
データコピーに伴う鮮度劣化
セキュリティリスクの増大
ETL時のデータ品質問題の組み込み
ガバナンス制御の複雑化
Data
Virtualization
39. Big Data Cluster
2016 2025
16 ZBs 163 ZBs
of data was generated of data will generated
*IDC White Paper, Data Age 2025: The Evolution of Data to Life-Critical
Model
& serve
Store
Storage Pool
(HDFS)
Data Pool(Scale-out
SQL Data Mart)
Ingest
SQL Server
Integration
Services
Prep
& train
SQL Server
ML Services
Master
instance
Master instance
(SQL Server)
REST API
containers
for models
Big Data Cluster
パッケージングされたAIプラットフォーム
パッケージングされた構築済みAIプラットフォーム
42. Managed Kubernetes Service
Amazon Elastic
Kubernetes Service
Google
Kubernetes Engine
Microsoft Azure
Kubernetes Service
⇒ on Google Cloud Platform
⇒ on Microsoft Azure Platform
⇒ on Amazon Web Services Platform
Kubernetes the hard way
43. API server
Controller
ManagerScheduler
etcd
Store
Cloud
Controller
Self-managed master node(s)
• 自動更新、自動パッチ
Automated upgrades, patches
• 高信頼性、高可用性
High reliability, availability
• 簡単でセキュアなクラスタスケール
Easy, secure cluster scaling
• 自己回復
Self-healing
• API サーバーモニタリング
API server monitoring
• 無料
At no charge
Customer VMs
App/
workload
definitionUser
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Schedule pods over
private tunnel
Kubernetes
API endpoint
Azure managed control plane
45. ACI Connector for Kubernetes により、Kubernetes クラスターがコン
テナーをACIに直接展開可能。必要に応じて VM と ACI を混在可能
Virtual Kubelet: Kubernetes から ACI を利用
Kubernetes
control pane
Application
architect
Infrastructure
architect
Azure Container Instances (ACI)
ACI
Connector
Pod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
VM VM
VM VM
Deployment/
tasks
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
WasteWaste
WasteWaste PodPod
PodPod
https://github.com/virtual-
kubelet/virtual-kubelet
46. on Linux
on Container
on Kubernetes
Popular and Commonly Used
Portable, Lightweight, Immutable, Efficient
Orchestration, Scalable, Self Healing
47. SQL Server runs anywhere !
3rd party
Cloud
SQL Database
Managed Instance
SQL
Database
Kubernetes
Service
SQL Server
on Azure VM
SQL Server
Database
Migration Service
SQL Data
Warehouse
3rd
On-Premises
Cloud
OpenShiftKubernetesContainerLinuxWindows
48. 1.Docker(エンジン、管理クライアント)ダウンロード&インストール
2.% sudo docker run -e "ACCEPT_EULA=Y" -e
"SA_PASSWORD=P@ssword" --name sql19 -p 11433:1433 -d
mcr.microsoft.com/mssql/server:2019-latest
3.sudo docker exec sql19 /opt/mssql-tools/bin/sqlcmd -S localhost -
U sa -P P@ssword -Q “SELECT ‘Hello SQL Server Container!’”
<Sample> <Slide>