Open棟梁Project - マイクロソフト系技術情報 Wiki

...工事中...

目次

概要

RDBMSでのステートフルなデータ処理では難しかった、
拡張性+弾力性をアプリケーションに提供する。

機能

Elastic Database tools

Elastic Database Client Library

DB シャーディングのクライアント・アプリケーションの開発。

Elastic Database Split-merge tool

Elastic Database Pools

Elastic Database Jobs

Elastic database client library を使用し、

Elastic Database query

Elastic database client library を使用し、

水平および垂直方向のスケーリング

クラウド規模のデータベース アプリケーションでは、
容量または全体のパフォーマンスを調整するために、
2 つのスケーリング手法を組み合わせて使用する。

水平方向のスケーリング

Elastic Database Poolsから、データベースを追加または削除する。

これは、Elastic database client libraryで管理する。

垂直方向のスケーリング

個々のデータベースのパフォーマンス レベルを増減する。

これには、以下の方法で対応する。

シングルテナント パターンとマルチテナント パターン

※ SaaSのユーザや企業をテナントと呼ぶ。

シングルテナント パターン

マルチテナント パターン

パターン変更のシナリオ

評価期間

見込顧客に試用版のソフトウェアを提供する場合、マルチテナント パターンを採用する。

理由:費用対効果を高めることができる。

本稼働

見込顧客との契約が完了した場合、シングルテナント データベースを採用する。

理由:パフォーマンスが向上する。

また、試用版を使用していた場合は、Elastic Database Split-merge toolを使用して、
マルチテナント データベースから新しいシングルテナント データベースにデータを移行する。

追加の調査

TransactionとRetry policy

Transaction (Elastic database transactions)

Retry policy (SqlDatabaseUtils?.SqlRetryPolicy?)

TransactionとRetry policyの関連

Row-Level Security

参考

サンプル

https://github.com/OpenTouryoProject/SampleProgram/blob/master/Azure/ElasticDatabase/ElasticDB_Sample/

以下の処理を実行する。

実行する処理

前提

Azure SQL database

Azure SQL database (V12 servers)

Visual Studio

Visual Studio 2012 or higher with C# is required.

.NET Framework

.NET Framework 4.5 or a later version

library

Azure SQL databasesの準備

Azure SQL databasesの作成

接続文字列を設定する。

ShardMap?

ShardMap?の作成

ShardMap?の確認

追加されたShardMap?SQL ServerのInstance)を確認。

Dependent Routing classで行を挿入

Dependent Routing classで行を挿入

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS