[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp/index.php?FrontPage]]

-[[戻る>FrontPage]]

*目次 [#u07bf137]
#contents

*概要 [#g80e952d]
SaaS設計のポイントを纏めている。

*マルチテナント対応 [#i82ccf3b]

**データ [#o96490c2]
***分割キー [#m54dd84b]
店舗やユーザなどのIDでデータを水平分割する。

***マスタ・テーブル [#s152a9c9]
-各種設定情報
-分割キーにより店舗やユーザを識別。
-非構造化データが多くなる場合、JSONなどを使用する。

***トランザクション・テーブル [#lbe30b37]
-各種エントリ情報
-登録データ、分割キーにより店舗やユーザを識別。
-非構造化データが多くなる場合、JSONなどを使用する。
-集計対象のデータは予めスキーマを定義しておく。

**カスタマイズ [#xf865e8c]

***定義 [#sabc29ae]
-システム共通
--定義ファイル
---*.config
---XML
---,etc.

-ユーザ個別
--マスタ・テーブルに持たせる。
--スキーマ・レスの非構造化データを使用

***プログラム [#zb7390ac]
-カスタマイズはすべて定義で行うようにする。
-EUCでプログラムの追加は可能とする。

-マルチテナント時のプログラム追加をどうするか?
--画面IDなどをGUIDにするなどして自由に追加可能にする。
--マスタ・データやトランザクション・データなどの付帯情報も増える。
---分割キーで対応。
---スキーマ・レスの非構造化データを使用。

*UIサブシステムの選定 [#v92a5a26]
**業務系 [#yddb9d8a]
-エントリ画面やグラフ表示、そしてコンテンツ部分もASP.NET Web Forms

**デザイン重視 [#yc4ab126]
-デザイン重視のコンテンツ部分はASP.NET MVC

*DBMSの選定 [#d05b3825]
**PaaS [#t74cdb03]
-[[Google Cloud Platform]]のDB PaaSはMySQL
-MySQLのデータプロバイダについては[[コチラ>https://techinfoofmicrosofttech.osscons.jp/index.php?ADO.NET%E3%83%87%E3%83%BC%E3%82%BF%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80#k23406ba]]。

**OSS-DB [#n72b9cf3]

***MySQL [#n8a84726]
-商標権・著作権はOracleが保有。
-グローバルでのシェアが大きい。

-マルチストレージエンジン
--MyISAMストレージエンジン
---トランザクション機能なし。
---検索性能を重視する。
---全文検索が利用できる。

--InnoDBストレージエンジン
---高い堅牢性とMVCCによる高い並列性を兼ね備えている。
---メディア障害時の更新ログによるリカバリが可能。
---あらゆるアプリケーションに対応出来るストレージエンジンとなった。

***PostgreSQL [#ybefde21]
-日本でのシェアが大きい。
-ACID重視(日本の市場でトランザクション機能が重視されていたため)

***参考 [#eed17fa0]
-「PostgreSQL」が好調--Oracle DBの牙城に迫る? - ZDNet Japan~
http://japan.zdnet.com/article/35066741/
-DB-Engines Ranking - popularity ranking of database management systems~
http://db-engines.com/en/ranking

*[[OpenChangiExecEngineの開発で検討したこと。]] [#y48dadaf]

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