2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

日本情報クリエイト Engineer'sAdvent Calendar 2018

Day 20

Stretch Databaseを使ってみる

Last updated at Posted at 2018-12-20

#はじめに

最近、Azureのサービスに触れる機会がありましたので、
比較的新しい!?はずのサービス[Streach Database]について触れてみます。

##〇Stretch Databaseとは
透過的かつ安全にコールド データを Azure クラウドに移行する方法、です。
<参考>
https://docs.microsoft.com/ja-jp/azure/sql-server-stretch-database/

ローカルDBに蓄積されたコールドなデータ(参照頻度が低いもの)をAzure上に移管するイメージ。
必要に応じてオンラインでコールドデータへのアクセスが可能。
※SQLServerがバックグラウンドで頑張る感じ

###具体的なメリット
〇価格・コストがスケーラビリティ★。
https://azure.microsoft.com/ja-jp/pricing/details/sql-server-stretch-database/
上記サイトで試算可能です。

〇基本そのまま使える
サーバー換えた、接続先情報変更しなきゃ、といったものは不要。

使いどころのイメージとしては

  • オンプレミスでSQLServerを利用しているがストレージの空きが不安(物理的な拡張コスト含めて)
  • 履歴データなど、過去データが蓄積されていてメンテナンスしたいが消すのは微妙(いつか使うかも)
    こういうシーンに効果的なのでは。。と想定しています。

SQLServer2016以降であれば利用可能なようです。
基本的にローカル - Azure間の通信は暗号化されるようです。

##〇はじめに2
クラウド化が進む世の中ですが、まだまだオンプレミスでの運用も見受けられますので
出来るだけコスト・影響を少なく長期的な運用を提供するか、を考えた際の一つのアプローチにつながれば、
と思い実際に使ってみようと思いました。
なので、この記事は初めて触れてみる、的なレベルの内容になります。
ご了承くださいませ。

#〇実践
##診断する
https://docs.microsoft.com/ja-jp/sql/sql-server/stretch-database/stretch-database-databases-and-tables-stretch-database-advisor?view=sql-server-2017

Stretch Databaseに向いているか診断する[Data Migration Assistant]というツールがある模様。
こんな感じ。
<トップ画面>
img_datamigrationassistant_top.PNG

<途中の画面>
img_datamigrationassistant_step1.PNG

英語版しかないのであれですが、個人的には雰囲気である程度触れました。

##設定する
ローカルの適当なデータベース>テーブルにStretch設定。
SQLServerManagementStudioで操作します。
対象のテーブル名で右クリック>Stretch>有効化の順に進めます。
そうすると以下の画面が起動。
img_streach_step1.PNG

[次へ]で進めていくとAzureへのサインインを要求されますのでサインイン。
サブスクリプションを選択。
リージョンを選択。
サーバーを新設する or 既存サーバーを利用するか選べます。(今回は新設を選びました)
新設する場合のサーバー名は以下のルール見たいです。
※stretchserver-[PC名]-sql-[カタログ名]-[タイムスタンプ]
ログイン名、パスワードを入力。

資格情報保護目的のデータベースマスターキー(DMK)の入力を要求されます。
入力し次へ。
通信する際のIPを設定。
完了です。(データ次第かと思いますが約1000レコードでプロビジョニング5分くらい)

AzurePortalで確認するとそれっぽいサービスが出来ています。
※拡張データベースといった表記になります

##確認
移管されているか確認。
データ領域を確認してみると0.180MBから0.008MBに変わっていますね。
まじかー

接続してクエリで確認してみます。
実際にレコードあるかのように結果が返ります。
クラウド側への参照情報のみが残っている感じなのかな。。

##その他
関数フィルターを定義してテーブル情報にセットする形で任意の条件で移管できるようです。
例) ある日付型のカラムの値が2018/01/01より前のデータを。。等

<参考>
https://docs.microsoft.com/ja-jp/sql/sql-server/stretch-database/select-rows-to-migrate-by-using-a-filter-function-stretch-database?view=sql-server-2017

#おわりに

雑な記事ですが、最後までお付き合い頂きありがとうございました!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?