「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †RDBMSでのステートフルなデータ処理では難しかった、
機能 †Elastic Database tools †
Elastic Database Client Library †DB シャーディングのクライアント・アプリケーションの開発。
Elastic Database Split-merge tool †
Pools, Jobs, query †Elastic Database Pool †
Elastic Database Jobs †Elastic Database Client Library を使用し、
Elastic Database query †Elastic Database Client Library を使用し、
スケーリング †クラウド規模のデータベース アプリケーションでは、 水平方向のスケーリング †Elastic Database Poolから、データベースを追加または削除する。
これは、Elastic Database Client Libraryで管理する。 垂直方向のスケーリング †個々のデータベースのパフォーマンス レベルを増減する。
これには、以下の方法で対応する。
テナント パターン †
※ SaaSのユーザや企業をテナントと呼ぶ。 シングルテナント パターン †
マルチテナント パターン †
パターン変更のシナリオ †評価期間 †見込顧客に試用版のソフトウェアを提供する場合、マルチテナント パターンを採用する。 理由:費用対効果を高めることができる。 本稼働 †見込顧客との契約が完了した場合、シングルテナント データベースを採用する。 理由:パフォーマンスが向上する。 また、試用版を使用していた場合は、Elastic Database Split-merge toolを使用して、 追加の調査 †https://github.com/OpenTouryoProject/OpenTouryo/issues/144 SQLの実行方法 †Data Dependent Routing †
Multi-Shard Queries †
TransactionとRetry policy †Transaction (Elastic database transactions) †
Retry policy (SqlDatabaseUtils?.SqlRetryPolicy?) †Windows Azure AppFabric? Customer Advisory チーム (CAT) と
TransactionScopeとRetry policyの関連 †
Row-Level Security †サンプルを実行する方法 †
以下の処理を実行する。 前提 †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?とShardの作成 †
ShardMap?とShardの確認 †追加されたShardMap?とShard(SQL ServerのInstance)を確認。
DataDependentRouting?でShardに行挿入 †Shardへの行挿入 †
Shardへ挿入された行を確認 †
MultiShardQuery?の実行 †
ShardMap?の削除 †
Open棟梁の Elastic Database 対応 Dam †DamSqlDbWithMultiShardの取り込み †以下の差分のように、コードを修正してDamSqlDbWithMultiShardを取り込むことができる。 https://github.com/OpenTouryoProject/OpenTouryoTemplates/compare/01-72...azuretmplt-chngs Elastic Database 対応 Damのサンプル †前述の「サンプルを実行する方法」と同じ方法で実行できる。 参考 †
|