SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Ignite 2017 の動画の内容のメモ

one comment

Ignite 2017 の動画ですが、Inite のサイトだと https://myignite.microsoft.com/videos からアクセスできます。

この中から最新の情報をメモとして抜き出したものを。
(セッション動画を見ながら随時更新しています)

■General Session


■SQL Server


Level 200

  • BRK2216 : Easily manage SQL everywhere from anywhere with SQL tools
    • 最新の SQL Server のツールの紹介
    • sqlcmd / bcp / sqlpackage のクロスプラットフォーム対応
    • Visual Studio Code の mssql 拡張機能
    • mssql-scripter ツール (クロスプラットフォーム対応)
    • DBFS ツール (Linux Only)
    • mssql-cmd ツール (計画中のツール)
      • 今回、新たに発表のあった新しいツール
      • 次世代の sqlcmd コマンド
      • 実行結果を CSV / JSON 形式で出力することが可能
      • タブによる入力補完に対応
      • パイプによる処理の連携が可能 (awk / sed / grep / jq / cut 等)
    • SSMS 17.3 では、新しいフラットファイルインポートウィザードをサポート
    • クロスプラットフォームに対応した DB 管理用 GUI ツール (計画中)
    • DACFx Core (計画中)

Level 300

  • BRK3142 : Microsoft SQL Server 2017 deep dive
    • SQL Server 2017 の特徴
      • 業界をリードするパフォーマンスとセキュリティを Linux と Docker で使用することが可能
      • 様々な言語 / プラットフォームに対応し、選択することができる。
      • 業界をリードするパフォーマンス
        • PTC-H : 1 TB / 10 TB / 30 TB で No.1
        • TPC-E で No.1
        • 価格/パフォーマンスで No.1
      • 過去 7 年間で最も安全な DB
      • 商用 DB として唯一 AI をビルトイン (R / Python を T-SQL で利用)
      • 低コストで、モバイル BI による様々なデバイスからアクセスが可能
    • 柔軟で信頼性の高いデータ管理基盤
      • RHEL / Ubuntu / SUSE をサポート
      • Linux / Docker コンテナーをサポート
      • パッケージベースのインストール (Yum / Apt-Get / Zypper)
      • Super Dome 上の SQL Server on Linux のデモ
        • /proc/meminfo : 12TB メモリ環境
        • lscpu : 480 Core
        • htop ですべての CPU を使用できていることを確認
    • 優先順位の主体
      • パフォーマンスとスケール
      • 異なる OS の互換性
        • 同一のアプリケーションのコードで異なるプラットフォームで動作
      • ネイティブユーザーエクスペリエンス
        • Linux / macOS でのサーバーとツール
    • システムアーキテクチャ
      • SQL PAL を中層化層とし、Windows Host Extension / Linux Host Extension を実装し、Host Extension が OS のシステムコールとマッピング
      • TPC-H の 1TB の非クラスター環境で TOP 1 のパフォーマンス,コストを達成している
    • ミッションクリティカルな環境での可用性を任意のプラットフォームで構築可能
      • クラスターレス可用性グループのサポート
    • CI/CD をデータの視点で実施
      • Docker コンテナーの SQL Server を使用
      • テストに必要なデータベースを作成したコンテナーにリストアして、commit して初期イメージを作成
      • Azure Container Registry で Docker イメージを管理するという方法もとれる
    • グラフデータのサポート
    • インテリジェントなワークロード
  • BRK3109 : Experience Microsoft SQL Server 2017: The fast and the furious
    • SQL Server 2017 は素早く実行することができる (SQL Server 2017 builds on It Just Runs Faster)
      • SQL Server 2016 It Just Runs Faster
        • 自動ソフト NUMA
        • 複数のログライター
        • ダイナミックメモリ オブジェクト スケーリング
        • DBCC CHECKDB のパフォーマンス向上
        • 並列REDOによるリカバリー
        • tempdb とインスタントファイル初期化のセットアップ時の設定
        • 並列 INSERT.. SELECT
        • ウィンドウ関数を使用したクエリのバッチモード
        • Spatial データの速度向上
        • AlwaysOn 可用性グループの高速化
      • SQL Server 2017 のチューン / 拡張 / 加速
        • エンジンのチューニング
          • 間接チェックポイントのスケーラビリティ
          • スキャンと先行読み取りのアルゴリズムの改善
            • 1 回の先行読み取り操作で最大 4MB の読み取りを実行
          • Go after Hot Spinlocks
          • CHECKDBの先行読み取りの最適化
          • クエリストアのクラウドの学習
          • SQL Server グラフデータベース
          • クエリストアの待ち事象の解析
          • SSIS のスケールアウトによるパッケージの実行
          • Python による revoscalepy とネイティブスコアリング
          • 列ストアインデックスと In-Memory OLTP の改善
          • Linux 対応
          • Adaptive Query Processing
          • 自動チューニング
          • リードスケールの可用性グループ
    • SQL Server パフォーマンス
      • 再開可能なオンラインインデックス再構築
        • オンラインで様々な操作を実行することで速度を維持
          • インデックス操作 / バックアップ / ALTER TABLE / 一貫性のチェック
      • Hammer DB を使用したデモ (TPC-C)
        • Hammer DB で負荷をかけている最中にオンラインインデックス再構築を実行、途中で中断するというデモシナリオ
      • SSMS の XE Profiler という新機能の紹介
        • SSMS に統合された SQL プロファイラというイメージ
    • あなたが思っているよりも SQL Server は高速です
      • Linux を使用して、TPC-H 1 TB (非クラスター) で No.1
      • 列ストアインデックスを使用した、解析処理のスピード向上
      • In-Memory OLTP を使用した、OLTP 性能の向上
      • 永続化メモリ (NVDIMM) を使用したログ書き込みの待ちの削減 (Wait = 0)
      • 並列の最小ログ記録によるデータロードの高速化
        • トレースフラグの設定は必要ない
      • Linux のパフォーマンスの最大化
    • パフォーマンスを向上させるためにどのような調整ができるか
      • インデックス / パーティション / 統計情報
      • プロシージャとパラメーター化クエリ
      • max server memory / max dop の設定
      • 複数の tempdb のデータファイル
      • トランザクションログの自動拡張サイズの最適化
      • チェックポイントの実行タイミングの調整
      • READ_COMMITTED_SNAPSHOT のデータベースオプションの利用
      • ロックページの設定 (Windows のみ)
      • 瞬時初期化 (Windows のみ)
      • 電源設定を高パフォーマンスに設定
      • データとログを OS と同一のディスクに配置しない
    • 高速にチューニングされた状態を維持
    • どこでも実行できる高速なデータベース
      • DWH 向けの Fast Track
      • メモリ最適化の Azure VM の M シリーズ
      • クラスタ不要の可用性グループ
      • サーバーのリソースの最大限の利用
        • Windows : 24 TB / 64 ソケット
        • Linux : 64 TB / 5120 CPU コア
  • THR3030R : Achieve more in less time using the new SQL PowerShell
    • SQL Server Module
      • SQL Server 2017 では、SQL Server の PowerShell は PowerShell PowerShell ギャラリーから入手する方法に変更になった。
      • Install-Module -Name SqlServer -Force
    • SSRS Module
      • Install-Module -Name ReportingServiceTools -Force
    • SSMS のオブジェクトエクスプローラーの活用
    • PowerShell を使用した SQL Server の各種操作のデモ
      • Write-SqlTableData を使用したテーブルへのデータ書き込み (今回は CSV インポート)
      • 2 つのインスタンスから、Get-SqlLogin の取得し、Compare-Object を使用した情報の比較と、不足しているログインの作成
      • PowerShell を使用した DB の領域をヒートマップで表示
    • PowerShell を使用した SSRS の操作 (レポートのアップロード)
  • BRK3217 : Graph extensions in Microsoft SQL Server 2017 and Azure SQL Database
    • SQL Server 2017 のテーマ
      • 適応性
      • 選択
      • マインドシェア
    • グラフデータベースとは
      • グラフとはノードとエッジの集合
        • ノード : 実体
        • エッジ : 様々なエンティティとの関連性の共有
        • プロパティ : ノードまたはエッジの属性
      • 階層的または、相互に接続されたデータ。
        • 複数の親を持つ実体
      • 複雑な多対多のリレーションシップ
        • 複数の実体に柔軟に接続することが可能
      • 相互に接続されたデータを分析し、既存の事実から新しい情報を具体化する。
        • 接続されていない情報を特定する
    • SQL Server 2017 のグラフ拡張
      • DDL 拡張
        • ノードテーブルとエッジテーブルの追加
          • 任意の列を追加することでプロパティとして利用することができる
        • ノード/エッジテーブルでインデックスをサポート
          • 列ストアインデックスもサポートされている
      • クエリの拡張
        • MATH 句の追加
          • グラフの推移を容易にする ASCII アートのようなクエリの表現
          • 今まで CTE や複数の JOIN を組み合わせて表現していたものをシンプルに表現することができる。
    • SQL エンジンに統合されているため、様々な既存のツールの利用や各種クエリで実行することが可能
      • 動的データマスクや行レベルセキュリティと組わせることもできる。
    • グラフデータベースのシナリオ
      • レコメンデーション
      • 不正検出
      • コンテンツ間る
      • 部品表 / 製品の階層
      • CRM
    • ベストプラクティスの学習
      • 複数の MATCH 句を使用する場合は、直接 AND でつなぐのではなく、EXISTS 句に記載された MATCH 句とつなぐようにする
        • MATCH 句を直接他の式と結合することができないため。
      • 最短経路検索
      • 今後の改善点
        • 最短経路検索 / 任意の長さの推移の探索 (例 : 1~5 ホップの友人を検索)
        • 異種の関連性
        • 言語の強化 : マージ DML
        • エッジの制約
  • BRK3356 : Oracle to SQL migration – beyond SQL Server Migration Assistant (SSMA)
    • データ型のマッピングの注意点
    • ユーザー定義型の移行
      • SSMA は非サポートのため手動で変換が必要
    • トランザクショナルコンテキスト
      • オラクルの歴史 : 楽観的同時実行制御
      • SQL Server の歴史 : SQL Server 2005 までは、悲観的同時実行制御
    • ネストされた PL/SQL サブプログラム
      • インライン / 分割されたストアドプロシージャ
    • ユーザー定義関数
      • 関数の中からストアドプロシージャを呼び出す
    • その他に多いもの
      • ジョブ / パッケージ / システムビュー
      • Microsoft Extensibility Framework について学ぶ
  • BRK3101 : DevOps: CI/CD with Microsoft SQL Server 2017
    • Docker の概念
      • Linxu / Windows をベースにしたマルチプラットフォームのコンテナエンジン
        • コンテナーごとに 1 つのプロセスを実行するように最適化されている
        • イメージを使用してアプリケーションプロセスを実行するコンテナを作成
        • OS / ネットワーク / ストレージを抽象化
        • イメージは不変 (Immutable)
      • 利点
        • ポータブルかつ予測可能
        • コンテナの配置と初期起動が高速
        • コンテナーオーケストレーションクラスターで拡張が用意
        • CI/CD パイプラインを用いて効率的に自動化
      • セッション資料内にサンプルの Dockerfile の紹介あり
    • Docker イメージのレポジトリ
      • Docker ハブの利用
      • Azure コンテナーレジストリ
      • Docker レジストリイメージを使用して独自のリポジトリを構築
    • コンテナーオーケストレーションとコンテナー中心のクラスターとは?
      • コンテナーアプリケーションのデプロイ / 拡張 / 管理を自動化するためのクラスターソリューション
      • 有名真野茂では、Kubernetes / Mesosphere / Docker Swarm
      • 高密度なコンテナーのスケジューリング
      • ローカルホスト / ベアメタルまたは、VM のサーバー / Azure コンテナーサービスで実行される
      • サンプルの Kubernetes の Spec ファイル
      • SQL Server エンジニアリングチームは、Azure VM 上で Kubernetes を使用して、SQL Server on Linux の自動テストを実行している
    • Docker と Kubernetes を使用した SQL Server 2017 のデータベースの CI/CD
    • データベースの変更のデプロイ
      • コンテナーは一時的なものであり、データベースファイルはコンテナーの外にあるため、データベースはイメージに含まれていない
        • 解決策
          • データベースを変更するジョブを実行するコンテナを使用する
          • ジョブの完了 : コンテナで定義されたコマンドを実行して、実行完了後にコンテナを終了
            • sqlcmd がインストールされたコンテナを使用する
          • cron ジョブ : スケジュールでコマンドを実行 (例 : スケジュールされたバックアップ)
    • Azure コンテナーサービスの利用
    • コンテナーで永続的な永続的なストレージの利用
      • HPE Nimble Storage と 3PER Docker ボリュームプラグインの利用
  • BRK3081 : Delivering high performance analytics with columnstore index on traditional DW and HTAP workloads
    • 列ストアインデックスのパフォーマンス
      • 10 倍のデータ圧縮 / 最大 100 倍のクエリパフォーマンス
      • バッチモードの実行 / Predicate, Aggregate プッシュダウン / 効率的なデータ消去
      • I/O の削減
      • 圧縮効率の改善
    • 分析のためのデータ遅延の最小化
      • OLTP と解析のワークロードを同一のデータベースで実施することで、リアルタイムなデータ解析を実現
    • 既存のテーブルに対して、非クラスタ化列ストアインデックスの適用
      • フィルター化された列ストアインデックスを作成することで、インデックスのメンテナンスコストを最小化 (ホットデータとコールドデータの分離)
        • フィルターにより、注文ステータスを出荷済みのもののみ非クラスター化列ストアインデックスを適用
        • 列ストアインデックスのオーバーヘッドを最小化
          • COMPRESSION_DELAY を設定することで、行の状態で格納しているホットデータの状態を一定時間継続化し、データの変更によるオーバーヘッドを低減させる
            • インデックスの断片化を最小化
          • AlwaysOn 可用性グループのセカンダリレプリカを使用した分析ワークロードの実行
    • 列ストアインデックスの最高のパフォーマンスを維持/継続
      • 必要な列の統計の手動作成
      • 統計情報の更新を非同期モードで実行
      • オンライン再構成 (REORGANIZE) を使用した定期的なインデックスの最適化
      • 並び変えられている列ストアインデックスの作成
        • クラスター化列ストアインデックスを作成してから、列ストアインデックスを作成し、ソートされた状態の列ストアの生成 (Rowgroup Elimination による、不要なセグメントの読み込みを排除する)
      • パーティションの使用
      • 集計プッシュダウンの実行
        • データ型が 8 バイト以下 / デルタ行グループは集計プッシュダウンをサポートしていない
      • 不適切なクエリプラン
        • 統計情報が古い / バッチモードが選択されていない
  • BRK3229 : Running tier 1 workloads on SQL Server on Microsoft Azure Virtual Machines
  • BRK3357 : SQL Server Data Warehouse reference architectures
  • BRK3389 : SQL Server for Java developers
  • BRK3130 : Prepare for the GDPR and data privacy compliance with Microsoft SQL technology
  • BRK3358 : SQL Server Integration Servicses (SSIS) 2017 and beyond
  • BRK3141 : SQL Server 2017 containers on Kubernetes, OpenShift, and Docker Swarm

Level 400

  • BRK4018 : Maximum availability and extreme read scale-out with Microsoft SQL Server 2017
    • SQL Server の HA / DR ソリューション
      • シンプル
        • VM フェールオーバー
          • ゲスト及び OS レベルの耐障害性 / 分単位の RTO
        • バックアップ / リストア
          • DR / 分~時単位の RTO
      • スタンダード
        • フェールオーバークラスター
          • インスタンスレベルの保護 / 秒~分単位の RTO
        • 基本的な可用性グループ
          • 2 つのレプリカによる可用性グループ
        • ログ配布
          • DR のためのウォームスタンバイ
      • ミッションクリティカル
        • AlwaysOn 可用性グループ
          • データベースレベルの保護 / 秒~分単位の RTO
        • 分散型可用性グループ
          • DR / 秒~分単位の RTO
    • SQL Serve r2017 における HADR の拡張
      • Linux 版の SQL Server で高可用性機能をサポート (柔軟性のある HADR アーキテクチャ)
      • 可用性グループの分散トランザクションのサポートの拡張
      • クラスターに依存することなく、読み取りをスケールアウトすることが可能
      • クロスプラットフォームのシナリオ
      • 同期コミットで必要となるセカンダリの台数の調整
    • SQL Server on Linux における HADR のソリューション
      • Windows / Linux ともに AlwaysOn 可用性グループを使用することが可能
      • ネイティブなクラスタテクノロジ )Pacemaker) に統合されている
    • ネイティブに統合された Linux のクラスターソリューション
      • 可用性グループの外部に統合されている
        (Linux の場合は EXTERNAL / NONE のクラスタータイプが使用可能)

        • 他のクラスターソリューションと統合するためにオープンな設計となっている
          • 現時点では Pacemaker が使用されているが、その他のクラスターソリューションが使用できる設計にもなっている
        • クラスターの操作 (例 : フェールオーバー) はクラスターツールを使用して実行する必要がある
        • 自動フェールオーバーを実施するためには 3 台の同期レプリカが必要となる
        • いくつかの制限
          • クロスプラットフォーム / クラウド / コンテナ
    • 任意のプラットフォームでミッションクリティカルな HA を構築可能
      • 分散型可用性グループによるクロスプラットフォームのマイグレーションを最小のダウンタイムで実現
      • 2016 から 2017 への可用性グループのアップグレード
      • クロスプラットフォームのハイブリットな可用性グループ
        • DR / テスト / 移行を高速なデータ同期と最小のダウンタイムで実現
        • クラスタータイプ = NONE の利用
      • コスト効率の高いレプリケーション環境
        • Azure とのハイブリッドなレプリケーション環境の構築
    • スケーリング
      • 読み取り可能セカンダリを使用したスケール
      • 分散型可用性グループを使用した遠隔地へのスケール
      • セカンダリレプリカを使用したバックアップのオフロード
    • その他の可用性グループの拡張
      • DB を跨いだ DTC トランザクション
        • 同一のサーバー上に配置されているAlwaysOn 可用性グループで保護されている複数のデータベースのトランザクション
      • 一つのフェールオーバーターゲットが確実に使用できるように設定可能
        • REQUIED_SYNCHRONOUS_SECODARIES_TO_COMMIT の設定

■ML Services / ML Server


Level 200

Level 300

  • BRK3298 : How to build machine learning applications using R and Python in SQL Server 2017
    • データが格納されている場所に知性を与える
    • SQL Server で機械学習を実施する理由
      • データが移動されることを排除
        • データベースのセキュリティを有効に活用する
        • 機械学習の計算をデータベースにプッシュする
      • MLスクリプトと学習済みモデルの運用方法
        • 使い慣れた T-SQL のストアドプロシージャによる呼び出し
        • SQL Server でモデルの管理を実施
      • エンタープライズレベルのパフォーマンスとスケール
        • マルチスレッド / 並列処理を用いて R / Python による解析を実施
        • SQL Server のセキュリティ / コンプライアンス / リソースガバナンス / クエリパフォーマンス / 可用性グループのセカンダリの利用
      • データサイエンティスト : データとの対話を実施
      • SQL 開発者 / 管理者 : データの管理と分析結果をまとめる
    • SQL Server で実行できるようになったことで、特徴値の選択 / セグメンテーション / スコアリングを SQL Server 内に完結させ、ストアドプロシージャをインタフェースとして使用することができる
    • SQL Server Machine Learning Services
      • SQL Server 2016
        • R サポート (version 3.2.2)
        • Microsoft R Server
      • SQL Server 2017
        • PREDICT 関数を使用したネイティブスコアリング (Linux でもサポートされている)
        • EXTERNAL LIBRARY DDL を使用した、R パッケージの管理
        • 入力データのバッチモード実行のサポート
        • R サポート (version 3.3.3)
        • Python サポート (Anaconda 3.5.2)
      • Azure SQL Database
        • PREDICT 関数を使用したネイティブスコアリング
        • R サポート (version 3.3.3)
          • 現状、West Central US でのみ利用可能
          • Premium / Premium RS のサービス層で利用可能
        • Base R パッケージと RevoscareR パッケージを利用可能
        • 学習 / スコアリングモデルはメモリに収まるようにする
        • 単純な並列処理とストリーミングサポート
        • 単一の R スクリプトの同時実行
    • Machine Learning Server
      • マルチプラットフォームサポート
        • Windows / Linux / Hadoop / SQL Server
      • Microsoft R Server
        • RevoScaleR / MicrosoftML/olapR / sqlrutils パッケージ
        • Web サービスによる操作
      • Microsoft Machine Learning Server
        • R と Python のサポート
          • revoscalepy / microsoftml python ライブラリ
          • rxExecBy
        • Hadoop ライセンスの変更
          • SQL Server EE コアの SA 配下の 5 ノード
    • ネイティブスコアリングを使用したリアルタイムの予想
      • PREDICT 関数
        • R または Python ランタイムへの依存関係はない
        • Windows / Linux の SQL Server で有効になっている
      • 使用方法
        • 単一または、少数の行数のスコアリングの実施
        • 高い同時実行が求められるスコアリングのシナリオ
        • INSERT / UPDATE / MERGE ステートメントと組み合わせた予測の実行
      • 要件
        • RevoscareR または、revoscalepy を使用して作成されたモデルの利用
          • rxLinMod / rxLogit / rxBtrees / rxDTree / rxDForest
        • rxSerializeModel / rx_serialize_model を使用したシリアライズ
    • ロードマップ
      • Azure SQL Database 上での Machine Learning Services
        • 構成と監視
        • R サポート
          • Microsoft ML パッケージ
          • パッケージのインストール / CREATE EXTERNAL LIBRARY DDL を使用した管理
          • クライアントまたは、R スクリプトを実行するサーバーからの SQL Compute Context のサポート
          • R サーバーモデルの並列実行
        • 今後のリリース
          • Machine Learning Services の SQL Server on Linux のサポート
          • フェールオーバークラスターのサポート
          • 入力データのパーティショニングのサポート
  • BRK3261 : Performance patterns for machine learning services in SQL Server
    • SQL Server Machine Learning Services
      • R/Python が統合された設計
        • SQL Server プロセスの外部でランタイムを呼び出し
        • バッチ指向の操作
      • SQL Compute context
      • sp_execute_external_script の特徴
        • SQL からのデータのストリーミング
        • SQL クエリと R/Python スクリプトの並列実行
      • ネイティブスコアリング (SQL Server 2017 の新機能)
    • 主要なパフォーマンスに関する考慮事項
      • データの移動にかかる時間
        • XEvent または、sp_execute_external_script を使用
      • CPU の使用状況を SQL と R / Python でどのように分離することができるか
        • EXTERNAL RESOURCE POOL による CPU アフィニティの使用
      • R / Python のメモリ割り当てをより多くするにはどうすればよいか
        • デフォルトは 20 %
        • EXTERNAL RESOURCE POOL を使用したメモリ制限の調整
        • max server memory オプションを使用した SQL フットプリントの削減
    • R/Python クライアントからの SQL Compute Context
      • 要件
        • rx* 関数の利用
      • 主な利点
        • サーバーへの計算のプッシュ
        • サーバーからクライアントへのデータ移動を排除
        • ML スクリプトの実行にサーバーリソースを利用
    • sp_execute_external_script
      • SQL Server から外部ランタイムへのデータのプッシュ
        • 要件
          • R / Python プロセスがデータを格納 / 処理するのに十分なメモリが必要
        • 主な利点
          • CRAN-R または Python 関数 (rx* 以外) を使用するための唯一のオプション
          • クエリの実行結果全体が R / Python プロセスにコピーされる
        • デメリット
          • R / Python プロセスに割り当てられたメモリの限界
          • 同時実行性の制限
    • R / Python スクリプトのストリーミング実行
      • 要件
        • 各行の依存関係がない (例 : 行に対してのスコアリングの実行)
      • 主な利点
        • データのチャンクに対してスクリプトを実行
        • メモリに収まらないデータの処理
        • rx* 関数を使用したクライアント / サーバーから使用できる
      • sp_execute_external_script で「@r_rowsPerRead」オプションを使用する
    • 並列実行
      • 要件
        • 入力の SELECT ステートメントの並列プラン
        • 各行の依存関係がない (例 : スコアリングの実行) : 簡易な並列処理
        • rx 関数を使用した、並列での学習
      • 主な利点
        • 大きなデータセットにスケール
        • 複数の CPU を活用
        • SQL Server の並列クエリの実行との統合
        • 外部スクリプトのバッチモード実行 (SQL Server 2017 の新機能)
      • sp_execute_external_script の「@parallel=1」(並列化の有効) を指定して、入力データの SELECT に対して、「OPTION (MAXDOP x)」を指定
    • サーバーからのSQL Compute Context
      • 要件
        • 並列でトレーニングを実行
        • スコアリングと結果の書き込みを並列で実行
      • 主な利点
        • 大きなデータセットにスケール
        • 複数の CPU を活用
        • 並列クエリ実行との統合
      • クエリの実行結果を InputData として渡すのではなく、パラメーターとしてクエリを渡し、RxSqlServerData でデータの取得を行う
    • PREDICT 関数を使用したネイティブスコアリング
      • 要件
        • rx* モデルのみ使用可能
        • rxSerializeModel (R) / rx_serialize_model (Python) によりシリアライズされたモデル
      • 主な利点
        • SQL Server ネイティブで実行される (R / Python の依存関係はない)
        • 低レイテンシでの実行
        • 少数の行の高い同時実行のスコアリングに最適
        • INSERT/UPDATE/MERGE ステートメントで直接使用することができる
    • サマリー
      • rx* 関数を使用して、クライアントからの SQL Compute Context の利用
      • ストリーミングによるメモリ使用量の削減
      • PREDICT / rxPredict を使用したスコアリングのための簡易な並列処理
      • rx* 関数を使用した並列トレーニングとスコアリング
      • ネイティブ PREDICIT を使用した低レイテンシーなスコアリング
  • BRK3292 : How Jack Henry & Associates is revolutionizing risk prediction & member attrition with credit unions
  • BRK3083 : Practical data science for a DBA with SQL Server 2017 and Cortana Intelligence

■SQL Database / SQL Data Warehouse


Level 200

  • BRK2230 : What’s new with Azure SQL Database: Focus on your business, not on the database
    • SQL Database で 2017 年に追加された新機能
      • Intelligent DBaaS
      • Privacy and Trust
        • Activity Monitoring
          • 脅威検知
          • OMSC による中央化されたダッシュボード
        • アクセスコントロール
          • AAD / 多要素認証
        • データ保護
          • BYOK による暗号化設定
          • サービスエンドポイント (Public Preview)
            • VNET からの限定的なアクセスを設定可能に
            • SQL Database と SQL Data Warehouse で利用可能
          • Always Encrypted の機能拡張
            • 暗号化されたデータに対してのパターンマッチ / 範囲検索 / ソート 等
              • デモでは実施できていたが、手元の環境でうまく再現できず…。
            • 暗号化の置き換えとキー管理
        • 発見と評価
          • VULNERABILITY (脆弱性) アセスメント
            • SQL Server 2017 と Azure SQL Database で利用可能
              • SQL Database の場合は、BLOB ストレージに JSON で出力されたものを可視化
              • SQL Server 2017 の場合は、SSMS の拡張機能?
        • Seamless and Compatible
          • 組み込みの HA
            • Active GEO レプリカ
            • マルチ AZ
          • バックアップ/リストア
            • 10 年のデータ保持
          • 分散アプリケーション
            • Azure へのトランザクションレプリケーション
            • SQL Azrure Data Sync v2 (Public Preview)
            • マネージドな SSIS サービス
          • Azure SQL Database Managed Instance
          • Database Migration Service
        • 競争力のある TCO
          • Standard の新しいパフォーマンスレベル (S4~S12)
          • コンピュートとストレージの分離
          • Azure Hybrid Benefit for SQL Server
  • BRK2217 : Modernize your on-premises applications with SQL Database Managed Instances
    • Managed Instance についての単体のセッションはこれがはじめてな気がしますね。
      • 今後、PaaS の SQL Database としては、Single DB / Elastic Pool / Managed Instance の 3 種類を選択可能に
    • SQL Server に 100% に近い互換性を持っている PaaS 環境の SQL Server
      • ネイティブバックアップ/リストア
        • デモでは、BLOB に格納したバックアップファイルを Managed Instance にリストア
      • ログ配布 (Data Migration Service)
      • DB を跨いだクエリとトランザクション
      • リンクサーバー
      • SQL エージェント
      • DB メール
      • SSIS / SSAS / SSRS については、インストールされていないため、Azure Data Factory / Azure Analysis Services / Power BI といったサービスを使用するか VM に SQL Server をインストールして使用
    • ネイティブに VNET に実装されており、プライベート IP アドレスを使用することができる
      • 顧客の VNET に分離された環境を構築可能
    • Database Migration Services
      • フルマネージドなマイグレーションサービス
        • 最小のダウンタイムで移行
        • 同種 / 異種データベースの移行
      • Public Preview では、SQL Server 2005 移行から SQL DB / Managed Instance への移行が可能
    • Managed Instance のサービス層
      • コンピュートリソースとストレージを選択可能
        • 一般的な用途とクリティカルなビジネス向けのサービス層が提供される (今後選択肢が増える予定)
          • コンピュート
            • 8 / 16 /24 vCore
            • 課金は、vCore / 時間
          • ストレージ
            • 一般的な用途では、リモートストレージを35TB まで利用可能
            • クリティカルなビジネス用途では、ローカル SSD を 4TB まで利用可能
            • 課金は GB/時間
            • 百万 IO 単位の IO 操作で課金
          • バックアップ
            • 7 日の保有期間については無料
            • 課金は GB/時間
      • Azure ハイブリッドベネフィットを使用することで、オンプレミスのライセンスを使用することができる
      • スケジュール
        • 2017 Q4 : Public Preview
        • 2018 H1 : GA
  • BRK2254 : New capabilities for data integration in the cloud
  • BRK2213 : Database Migration roadmap with Microsoft

Level 300

  • THR3014R : Successfully migrating existing databases to Microsoft Azure SQL Database
    • 移行の失敗の一般的な例
      • 計画 -> テスト -> 実行 -> 管理
    • スピーカーの顧客が移行を行う 3 つの理由
      • 仮想マシン上で実行した場合と、SQL Database で実行した場合のコスト比較
      • セキュリティの強化
        • SQL Database の様々なセキュリティ機能の利用
      • Azure の SQL Database の機能
        • Data Sync / Active Geo レプリケーション / パフォーマンスインサイト / 自動チューニング / Adaptive Query Processing
    • どのようにして、データベースの移行を成功させるか。
    • マイグレーション
      • スキーマの移行 + データの移行 = マイグレーション
      • データを移行するためのオプション
        • Backpac / トランザクションレプリケーション
      • 素早くデータのマイグレーションを実施するために
        • 高いパフォーマンスレベルを設定->データをコピー->パフォーマンスレベルを下げる
          • 一時的に Premium のパフォーマンスレベルを使用することを検討
    • データベースの管理
      • 作成しただけで管理を忘れることの無いようにする
      • アラートによるメトリックの監視
      • クエリストア / クエリパフォーマンスインサイトによるクエリの監視
      • 自動チューニングによるインデックスの最適化とプランの退行の補正
    • BRK3230 : Customer success stories: Migrating on-premises workload to Azure SQL Database
      • アセスメントとコンバート
        • DMA を使用したアセスメント / スキーマのコンバートと展開
      • eBillingHub で移行を実施した際のアセスメントの要約
        • SQL PaaS でサポートされていないデータ型の利用
          • ntext / text を利用していたものを nvarchar(max) に変更
        • 外部テーブルの使用
          • データベースを跨いだ結合はサポートされていないため、EXTERNAL テーブルを作成し、3 パート参照 (DB 名.所有者.テーブル) を削除
          • DB 間のトランザクションは、sp_execute_remote の使用
        • UTC 日付の対応
          • タイムゾーンを使用するカスタム日付関数を利用
        • SQL エージェントジョブ
          • Elastic ジョブに変換または、IaaS SQL Server でホスト
        • 事前のマイグレーションタスク
          • DMA を使用してアプリケーションの互換性のあるスクリプトを生
        • 実際のマイグレーション
          • AzCopy による BLOB へのアップロード
          • bacpac による移行
        • 統計情報の更新
        • 接続文字列の変更
      • SQL PaaS への移行に関しての課題
        • 移行作業 : エンジニアリングチームが 4 か月の作業
        • アプリケーションのダウンタイム : 48 時間
    • Data Migration Service + Azure SQL Database Managed Instance の紹介
      • Managed Instance
        • 管理されている PaaS への容易な移行
        • 比類のないアプリケーションの互換性
        • オンプレミスの SQL Server と 100% に近い互換性を持つ SQL インスタンス
        • 比類のない PaaS 機能
          • 最小の TCO とリッチな Azure エコシステム
          • ビルトインの自動管理機能

■Power BI


Level 200

Level 300

■Azure


Level 200

Level 300

  • BRK3085 : Azure Compute: New features and roadmap
    • インフラストラクチャのアップデート
      • ND / NCv2 の VM サイズのアナウンス
        • AL / ML 向けの最高ラインの GPU
        • Pascal 世代の P100 / P40
          • 最も包括的な GPU の提供
      • 部分的なコアの選択のアナウンス
        • SQL / Oracle のような環境で、高いメモリと I/O 性能は必要
        • しかし、ライセンスを削減するためにコア数を減らしたい
        • DS / E / G /M シリーズで 1/2, 1/4 vCPU の選択肢の提供
      • バースト可能な VM サイズのアナウンス
        • 低いベースラインの性能でバーストが可能
        • vCPU の利用に対してのクレジットの蓄積
        • 平均 CPU 使用率が低いワークロードに適している
      • SAP HANA をクラウドで動作させるための最大の構成
        • 20 TB のシングルノード
        • 960 CPU
        • 60 TB のマルチノード
        • ベアメタルパフォーマンス
      • VMスケールセットの現在と将来
        • 現在
          • 簡単なスケールアウトと大きな VM の管理
          • DNS の設定が可能 / ディスクの追加
          • VM スケールセットに最大 1000 台の VM
        • 将来
          • 自動 OS アップグレード
          • IP v6 ロードバランサーのサポート
          • ゾーン冗長の VM スケールセット
      • 管理対象ディスクの現在と将来
        • 現在
          • VM ディスクの迅速 / 簡単な管理
          • データは常に暗号がされた状態で保持
        • 将来
          • 増分スナップショット
          • 大きなディスクサイズ
          • クロスサブスクリプション / リージョン共有
          • プライベートリポジトリ
    • セキュリティのアップデート
      • アナウンス
        • ジャストインタイムアクセス
        • アプリケーションホワイトリスト
        • 調査
        • プレイブック統合
        • 機密性の高いコンピューティング
      • 機密性の高いコンピューティング
        • 不正なデータアクセスの防止
        • 悪意のある管理者権限の利用
        • 新しいビジネスへの利用 (Blockchain)
    • ガバナンスと管理
      • アナウンス
        • Azure ポリシーセンター
        • 管理グループ
        • マネージアプリ (GA)
        • 更新と構成の管理
      • 管理グループ
        • Azure サブスクリプションの組織の配置
        • 対象となるリソースポリシーのアクセスコントロールと予算
        • チームによるコンプライアス/セキュリティ/レポート
      • 更新 / 構成 /変更の追跡
        • インベントリの収集と検索
        • システムの変更を追跡
        • 自動収集の構成
        • スケジューリングされたパッチ適用
        • コンプライアンスレポート
        • 更新プログラムと承認
        • Azure と 非 Azure のシステム / Windows と Linux
      • アプリケーションサービスカタログ (GA)
        • マネージワークフローのターンキー
        • シンプルな使用の封印
        • セントラル IT による管理
    • 可用性のアップデート
      • アナウンス
        • Availability ゾーン
        • Cloud Shell の PowerShell
        • Python による Azure Automation
      • Availability ゾーン
        • リージョン内の物理的に分離された場所
        • 冗長電源 / ネットワーク / 冷却
        • プラットフォームでの単一障害点の削減
        • GA 時には 99.99 % の高可用性を提供
      • マルチリージョンサービス
        • Cosmos DB
        • SQL DB / MySQL / PostgreSQL
        • Blob Storage
        • VM to VM
      • バックアップと DR
        • 統合バックアップ / 災害復旧 / 回復計画とスクリプト
      • メンテナンス
        • インプレース VM 移行
          • 30 秒未満のサスペンド
          • ディスクの内容の保持
          • シームレスな更新
        • オンデマンドメンテナンス
          • 2~4 週間の通知ウィンドウ
          • フルメンテナンス
          • フル再起動更新のみ
    • コスト管理
      • アナウンス
        • Cloudyn の無料利用
        • Azure Reserved インスタンス
        • 優先度の低いバッチ (GA)
    • コンテナーとマイクロサービス
      • アナウンス
        • ACI for Windows
        • ACI for Service Fabric
        • Service Fabric for Linux (GA)
        • Azure Container Service for Kubernetes
    • App Service とサーバーレス
      • アナウンス
        • Web Apps と Linux コンテナー (GA)
        • Cosmos DB のトリガー
        • Microsoft グラフのバインド
        • Mac OS と Linux のローカル開発
          • .NET Core Runtime
        • App Insight (GA)
  • BRK3203 : Inside Microsoft Azure datacenter hardware and software architecture with Mark Russinovich

■AI


Level 200

Level 300

Level 400

Written by masayuki.ozawa

9月 30th, 2017 at 2:33 pm

One Response to 'Ignite 2017 の動画の内容のメモ'

Subscribe to comments with RSS or TrackBack to 'Ignite 2017 の動画の内容のメモ'.

  1. […] Ignite 2017 の動画の内容のメモ […]

Leave a Reply

*