Movatterモバイル変換


[0]ホーム

URL:


TO
Uploaded byTomoyuki Oota
PDF, PPTX260 views

SQL Server エンジニア のための コンテナ入門

db tech showcase tokyo 2019 での講演資料です

Embed presentation

Download as PDF, PPTX
SQL Server エンジニア のためのコンテナ入門2019年09月25日NEC Solution Innovators, Ltd.太田 智行
太田 智行Walkmanと同い年データベース技術ひと筋
SQL on Linux のアーキテクチャLinux向けにポーティングされたものではない“SQLPAL”により長年稼働してきたWindowsコードを共有SQL Platform Abstraction Layer(SQLPAL)RDBMS SSIS SSAS SSRSWindows LinuxWindows Host Ext.Linux HostExtensionSQL Platform Abstraction Layer(SQLPAL)Host extension mapping to OS system calls(IO, Memory, CPU scheduling)Win32-like APIsSQL OS APISQL OS v2All other systemsSystem resource & latencysensitive code paths
on Linuxon Containeron KubernetesPopular and Commonly UsedPortable, Lightweight, Immutable, EfficientOrchestration, Scalable, Self Healing
libapplibapplibapplibapplibappアプリを動かしたいライブラリ入手サーバ(OS)構築HW調達課題• HWパワーが足りなければイチカラ組みなおし。逆にHWが暇でも部分返品不可。• 対応OSが異なるアプリを動かしたければ別途HW調達から必要。
課題解決:HW仮想化により都度のHW調達を削減• 仮想マシンに割りあてるHWパワーを増減可能• 必要OSが異なるなら別途仮想サーバーをたてればよい(HW調達不要)• OSレベルの可搬性が生まれた(新しい仮想基盤への引っ越しが可能)HW削減libapplibapplibapplibapplibappアプリを動かしたいライブラリ入手サーバ(OS)構築HW調達
さらなる課題• 仮想サーバ内部の負荷凸凹をもっと最適化できないものか(仮想サーバを減らしOS分のオーバーヘッドをカットしたい)• HW調達の問題は根本解決に至っていない(仮想基盤HWのパワー不足、パワー余剰)アプリを動かしたいライブラリ入手サーバ(OS)構築HW調達HW削減libapp app applib libapplibapplib
課題解決:アプリに可搬性を持たせ集積度を高めることでサーバを削減• OSを含まないので可搬性が高く起動も早い≒必要な時に”どこかのリソース”を使って稼働させるという考え方• サーバ(OS)削減&HW削減、OSへのパッチ当てなどサーバ運用コスト削減アプリを動かしたいライブラリ入手サーバ(OS)構築HW調達HW削減applibapplibappliblibapp applib← サーバ(OS)削減(4->2)
libapplibapplibapplibapplibappHW削減libapp app applib libapplibapplibHW削減applibapplibappliblibapp applib← サーバ(OS)削減(4->2)リソース利用効率向上
仮想化を選択するケース例• 独立性が高い(OSを共有するコンテナに比較し有事他者影響が小さい)• OSが選択可能(コンテナはOSに依存するため例えばWindows用に構成されたコンテナを稼働させるにはWindowsが必要)HW削減libapp applibapplibapplibapplibHW削減applibapplibappliblibapp applib← サーバ(OS)削減(4->2)
Edition無償 Docker Engine – Community(旧称:Docker Community Edition)有償Docker Engine – Enterprise(旧称:Docker Enterprise - Basic)Docker Enterprise(旧称:Docker Enterprise - Standard、Docker Enterprise - Advanced )Overview of Docker editions
コンテナランタイムの動向 2013年:Docker誕生(dotCloud社(現Docker社)がOSS公開) 2014年:Everything at Google runs in a container 2015年:コンテナ標準化団体 Open Container Initiative 誕生 2017年:OCI Runtime Specification と OCI Image Format 誕生 独自のコンテナランタイムが開発可能 2017年:Container Runtime Interface(kubeletとコンテナランタイム間のI/F仕様)誕生 独自のコンテナランタイムをKubernetesに組み込みやすくなった
入手無償LinuxリポジトリもしくはパッケージからインストールWindowsDocker Desktopfor WindowsMacDocker Desktopfor Mac有償LinuxリポジトリもしくはパッケージからインストールWindowsOneGet PowerShell Moduleを使用してインストール
DockerレジストリコンテナイメージDockerfileDockerコンテナ(停止)pullbuildrmirmrunstartexecdocker ... 解説build コンテナイメージ作成pull コンテナイメージ取得run コンテナ作成&起動stop コンテナ停止start コンテナ起動exec指定したコマンドをコンテナOS上で実行rm コンテナ破棄commit コンテナのイメージ化push コンテナイメージ配信rmi コンテナイメージ破棄commitコンテナイメージV2pushrm -fDockerコンテナ(起動)Dockerコンテナ(破棄)コンテナイメージ破棄stop※ docker-composeユーティリティでコンテナ群の一括制御も可能
マイクロソフト社公式のSQLServerコンテナイメージDeveloper Expressマイクロソフト社は独自のDockerレジストリMicrosoft Container Registry(MCR)を構築し、現在 SQL Server もMCRから入手する(Docker Hubでも 引き続き最新のリストを検索可能)。
2019-RC1
SQL Server用の環境変数
SQL Server Container 作成&起動
命令(一部) 解説COPY 指定したソースから、指定した対象のコンテナーにファイルがコピーされます。CMD コンテナーの既定の実行可能ファイルが指定されます。 各 Dockerfile には、CMD 命令が1 つのみ存在します。ENV コンテナー内の環境変数の値が設定されます。EXPOSE コンテナーが特定の TCP ポートまたは UDP ポートでリッスンすることが Docker に通知されます。RUN 現在のイメージの新しいレイヤーでコマンドが実行され、結果が新しいイメージにコミットされます。WORKDIR CMD、RUN、およびコマンドを実行するその他の命令のコンテナー内に作業ディレクトリが設定されます。
% sudo docker history mcr.microsoft.com/mssql/server:2019-RC1 --no-trunc --format '{{ json .CreatedBy }}'FROM <OS base image> 例:ubuntu:16.04LABEL < Microsoft label info > 例:vendor="Microsoft"EXPOSE 1433 コンテナ内のSQL ServerがリッスンするポートCOPY < SQL Server bin and lib > /opt/mssql/bin、/opt/mssql/libRUN ./install.sh 依存パッケージやツールのインストールCMD ["/opt/mssql/bin/sqlservr”] SQL Serverの起動
SQL Server カスタム Dockerfile 例Sample1FROM mcr.microsoft.com/mssql/server:2017-CU16COPY ./DevDB.bak /tmp/DevDB.bakCMD ["/opt/mssql/bin/sqlservr"]Sample2FROM mcr.microsoft.com/mssql/server:2017-CU16COPY . /RUN chmod +x /db-init.shRUN chmod +x /entrypoint.shCMD /bin/bash ./entrypoint.shsleep 15s/opt/mssql-tools/bin/sqlcmd –i ddl.sql/db-init.sh & /opt/mssql/bin/sqlservrCREATE DATABASE mydbGOCREATE TABLE mytable (….GO….db-init.shentrypoint.shddl.sql
ローカル プライベート レジストリ% sudo docker run -d -p 5000:5000 --name localregistry-v ~/dockerreg:/var/lib/registry registry:latesthttps://hub.docker.com/_/registry/https://github.com/docker/distribution/blob/master/LICENSEApache License 2.0
Azure Container Registryhttps://docs.microsoft.com/ja-jp/learn/modules/build-and-store-container-images/1-intro-to-azure-container-registryhttps://docs.microsoft.com/ja-jp/azure/container-registry/?WT.mc_id=AZ-MVP-5002980
Azure Container Instanceshttps://docs.microsoft.com/ja-jp/azure/container-instances/?WT.mc_id=AZ-MVP-5002980
Non-Root SQL Server 2019 Containers (preview)% docker build -t 2019-latest-non-roothttps://aka.ms/mssql2019-non-root% docker run -e "ACCEPT_EULA=Y" -e"SA_PASSWORD=MyStrongP@ssword" --name sql1 -p1433:1433 -d 2019-latest-non-root% docker exec -it sql1 bash% whoami
課題解決:アプリに可搬性を持たせることで集積度を高めるサーバを削減• OSを含まないので可搬性が高く起動も早い≒必要な時に”どこかのリソース”を使って稼働させる• OS稼働分のHWリソース削減、OSへのパッチ当てなどサーバ運用コスト削減アプリを動かしたいライブラリ入手サーバ(OS)構築HW調達HW削減applibapplibappliblibapp applib← サーバ(OS)削減(4->2)
さらなる課題• “どこかのリソース(最適なアプリの起動場所)”の判断、アプリ起動・停止、アプリ監視・リカバリを瞬時に行うことは困難。• 未だにHW調達の問題は根本解決に至っていない(コンテナ基盤HWのパワー不足、パワー余剰)。アプリを動かしたいライブラリ入手サーバ(OS)構築HW調達HW削減applibapplibappliblibapp applib
appliblibapp applib
YAML形式で記述した宣言コード
機能 概説スケジューリングとサービスディスカバリーコンテナアプリケーション(Pod)の要件やその配置先となるノードの状態を踏まえて最適なリソース配置を動的に行う。またその所在を管理・提供する。セルフヒーリング プロセス監視やヘルスチェックを行い、異常を検知した際は宣言コードで定義されたシステムの形を維持するよう自己修復を行う。スケーリング 負荷に応じてシステムに必要なPod数(≒処理パワー)の自動調整を行う(自動スケールアップ機能はアルファ段階)。ロードバランシング 分散配置されたコンテナアプリケーションのロードバランスに対応したエンドポイントを提供する(Podスケールにも対応)
K8s内部構造kubectlAPI serverreplication, namespace,serviceaccounts, etc.Controllermanager schedulerKVS(etcd)MasterNode(Worker)kubelet kube-proxyDockerPod PodContainers ContainersNode(Worker)DockerPod PodInternetkubelet kube-proxyContainers Containers概説Master クラスタの司令塔となるノードAPI Server K8sを管理するためのREST APIScheduler Podのスケジューリングを制御ContollerManagerクラスタのセルフヒーリングを制御KVS(etcd) クラスターに関わる情報を格納Node Podを動作させるワーカーノードPodスケジューリングの最小単位となるコンテナアプリケーションPod内には1つ以上のコンテナが定義可能kubeletAPI serverを通じてMasterと通信しNode内を制御kube-proxy 通信制御
Managed Kubernetes ServiceAmazon ElasticKubernetes ServiceGoogleKubernetes EngineMicrosoft AzureKubernetes Service⇒ on Google Cloud Platform⇒ on Microsoft Azure Platform⇒ on Amazon Web Services PlatformKubernetes the hard way
Kubernetes 開発貢献 Top10https://k8s.devstats.cncf.io/d/9/companies-table?orgId=1&var-period_name=Last%20year&var-metric=contributions
Persistent VolumeUserNodePodSQL ServerNodeLoad BalanceServiceNodePodSQL ServerPodSQL Server
⇒ サポートされているPersistent Volumeの一覧
AGPodOperatorPodLoad balancerPodSQL ServerprimaryAG agentPodLoad balancerPodSQL ServersecondaryAG agentPodSQL ServersecondaryAG agentSQL ServerprimarySQL Serversecondary
Data VirtualizationODBC NoSQL RDBMS Big Data重複するストレージコストデータパイプラインの構築と維持データコピーに伴う鮮度劣化セキュリティリスクの増大ETL時のデータ品質問題の組み込みガバナンス制御の複雑化DataVirtualization
Big Data Cluster2016 202516 ZBs 163 ZBsof data was generated of data will generated*IDC White Paper, Data Age 2025: The Evolution of Data to Life-CriticalModel& serveStoreStorage Pool(HDFS)Data Pool(Scale-outSQL Data Mart)IngestSQL ServerIntegrationServicesPrep& trainSQL ServerML ServicesMasterinstanceMaster instance(SQL Server)REST APIcontainersfor modelsBig Data ClusterパッケージングされたAIプラットフォームパッケージングされた構築済みAIプラットフォーム
on Linuxon Containeron KubernetesPopular and Commonly UsedPortable, Lightweight, Immutable, EfficientOrchestration, Scalable, Self Healing
SQL Server runs anywhere !3rd partyCloudSQL DatabaseManaged InstanceSQLDatabaseKubernetesServiceSQL Serveron Azure VMSQL ServerDatabaseMigration ServiceSQL DataWarehouse3rdOn-PremisesCloudOpenShiftKubernetesContainerLinuxWindows
1.Docker(エンジン、管理クライアント)をインストール2.% sudo docker run -e "ACCEPT_EULA=Y" -e"SA_PASSWORD=P@ssword" --name sql19 -p 11433:1433 -dmcr.microsoft.com/mssql/server:2019-latest3.sudo docker exec sql19 /opt/mssql-tools/bin/sqlcmd -Slocalhost -U sa -P P@ssword -Q “SELECT ‘Hello SQL ServerContainer!’”

Recommended

PDF
SQL Server コンテナ入門(Docker編)
PDF
SQL Server コンテナ入門(Kubernetes編)
PDF
SQL Server エンジニア のための コンテナ入門(k8s編)
PDF
Summary of SQL Server 2019 new features
PDF
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
PDF
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
PDF
Data Scientists Love SQL Server
PDF
Windows エンジニア向け sql server on linux のためのスキルアップデート
PPTX
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
PDF
[db tech showcase Tokyo 2017] E26: 窓は開かれた! SQL Server on Linux で拡がる可能性 by 日本マ...
PDF
Sql database managed instance overview and internals
PDF
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
PDF
Azure上の データベース 機能の選び方。KVSからDWHまで
PDF
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
PDF
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
PDF
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
PDF
Azure Stack 受け入れ準備_20180630
PDF
Managed Instance チートシート
PPTX
Sql server 2014 新機能の紹介 改訂版
PDF
Couchbase introduction-20150611
PPTX
Sql server 2014 新機能の紹介
PDF
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
PPTX
Sql server 2016 ctp 3.0 新機能
PDF
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
PDF
CI65_やってみよう、Azure Stack で マルチ テナント環境の構築
PPTX
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
PDF
オンプレのDbaがazureのデータベースを使ってみた
PDF
Oracle と sql server 比べてみよう (sql server)
PDF
[デブサミ]Microsoft Data Platform 最新アップデート
PPTX
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!

More Related Content

PDF
SQL Server コンテナ入門(Docker編)
PDF
SQL Server コンテナ入門(Kubernetes編)
PDF
SQL Server エンジニア のための コンテナ入門(k8s編)
PDF
Summary of SQL Server 2019 new features
PDF
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
PDF
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
PDF
Data Scientists Love SQL Server
PDF
Windows エンジニア向け sql server on linux のためのスキルアップデート
SQL Server コンテナ入門(Docker編)
SQL Server コンテナ入門(Kubernetes編)
SQL Server エンジニア のための コンテナ入門(k8s編)
Summary of SQL Server 2019 new features
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Data Scientists Love SQL Server
Windows エンジニア向け sql server on linux のためのスキルアップデート

What's hot

PPTX
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
PDF
[db tech showcase Tokyo 2017] E26: 窓は開かれた! SQL Server on Linux で拡がる可能性 by 日本マ...
PDF
Sql database managed instance overview and internals
PDF
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
PDF
Azure上の データベース 機能の選び方。KVSからDWHまで
PDF
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
PDF
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
PDF
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
PDF
Azure Stack 受け入れ準備_20180630
PDF
Managed Instance チートシート
PPTX
Sql server 2014 新機能の紹介 改訂版
PDF
Couchbase introduction-20150611
PPTX
Sql server 2014 新機能の紹介
PDF
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
PPTX
Sql server 2016 ctp 3.0 新機能
PDF
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
PDF
CI65_やってみよう、Azure Stack で マルチ テナント環境の構築
PPTX
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
PDF
オンプレのDbaがazureのデータベースを使ってみた
PDF
Oracle と sql server 比べてみよう (sql server)
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
[db tech showcase Tokyo 2017] E26: 窓は開かれた! SQL Server on Linux で拡がる可能性 by 日本マ...
Sql database managed instance overview and internals
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
Azure上の データベース 機能の選び方。KVSからDWHまで
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
Azure Stack 受け入れ準備_20180630
Managed Instance チートシート
Sql server 2014 新機能の紹介 改訂版
Couchbase introduction-20150611
Sql server 2014 新機能の紹介
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
Sql server 2016 ctp 3.0 新機能
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
CI65_やってみよう、Azure Stack で マルチ テナント環境の構築
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
オンプレのDbaがazureのデータベースを使ってみた
Oracle と sql server 比べてみよう (sql server)

Similar to SQL Server エンジニア のための コンテナ入門

PDF
[デブサミ]Microsoft Data Platform 最新アップデート
PPTX
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
PDF
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
PDF
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
PPTX
ついに上陸!PaaS 最新兵器のご紹介
PDF
Start SQL Server with Docker
PDF
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
PDF
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
PDF
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
PDF
スケーラブルで手間なく動かせる!もうすぐ 一般提供開始 Azure Database for MySQL / PostgreSQL
PPTX
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
PDF
Windows Server Container and Windows Subsystem for Linux
PDF
Windows Server 2019 で Container を使ってみる
PDF
2015-01-27 Introduction to Docker
PDF
Docker for Windows & Web Apps for Containers 実践活用技法
PPTX
Java on Microsoft Azure
PDF
Getting started with Windows Containers
PDF
Introduction of Azure Container Apps for Java Developers
PPTX
Sql azure入門
PDF
SQL Azure のシームレスな管理
[デブサミ]Microsoft Data Platform 最新アップデート
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
ついに上陸!PaaS 最新兵器のご紹介
Start SQL Server with Docker
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
スケーラブルで手間なく動かせる!もうすぐ 一般提供開始 Azure Database for MySQL / PostgreSQL
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Windows Server Container and Windows Subsystem for Linux
Windows Server 2019 で Container を使ってみる
2015-01-27 Introduction to Docker
Docker for Windows & Web Apps for Containers 実践活用技法
Java on Microsoft Azure
Getting started with Windows Containers
Introduction of Azure Container Apps for Java Developers
Sql azure入門
SQL Azure のシームレスな管理

Recently uploaded

PDF
EspressReport Enterprise Server ホワイトペーパー
PPTX
What's New In Qlik ~ 2025年12月&2026年1月リリース最新機能のご紹介 ~
PPTX
KNIMEは地味だが役に立つ_2026_0207_DojoMeeting_Kansai_#1.pptx
PPTX
【Qlik 医療データ活用勉強会】医療の質可視化アプリの公開-その2- 20260128
PDF
研究資料ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
PPTX
KNIMEで奈良の気温を調べてみた_2026_0207_KNIMEST.pptx
EspressReport Enterprise Server ホワイトペーパー
What's New In Qlik ~ 2025年12月&2026年1月リリース最新機能のご紹介 ~
KNIMEは地味だが役に立つ_2026_0207_DojoMeeting_Kansai_#1.pptx
【Qlik 医療データ活用勉強会】医療の質可視化アプリの公開-その2- 20260128
研究資料ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
KNIMEで奈良の気温を調べてみた_2026_0207_KNIMEST.pptx

SQL Server エンジニア のための コンテナ入門


[8]ページ先頭

©2009-2026 Movatter.jp