「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
SaaS設計のポイントを纏めている。
マルチテナント対応 †
データ †
分割キー †
店舗やユーザなどのIDでデータを水平分割する。
テーブル分割 †
スキーマ分割 †
カスタマイズ †
定義 †
- ユーザ個別
- テーブルに持たせる。
- スキーマ・レスの非構造化データを使用
プログラム †
- 動作のカスタマイズは定義で行うようにする。
- マルチテナント時のプログラム追加をどうするか?
参考 †
UIサブシステムの選定 †
業務系 †
- エントリ画面やグラフ表示画面はASP.NET Web Forms
デザイン重視 †
- デザイン重視のコンテンツ部分はASP.NET MVC
- フロントエンド多様化の中、サービスのデリバリーのために無視できなくなってきている。
スマホネイティブを覚えるのが大変なので、
HTML/CSS/JavaScriptのレスポンシブデザインで開発したいケースも多い。
- マルチプラットフォームをターゲットとしたアプリケーション。
などのプロダクトも使用できる。
タブレット †
画面サイズ †
- 本SaaSはTablet横置きになる。
- 16(横):10(縦)に合わせて
- 16(横):9(縦)の場合、横を%指定のレスポンシブで広げて対応。
外部サービス †
DBMSの選定 †
PaaS †
Google Cloud PlatformのDB PaaSはMySQL
OSS-DB †
PostgreSQLに追い風。
MySQL †
- 商標権・著作権はOracleが保有。
- グローバルでのシェアが大きい。
- マルチストレージエンジン
- MyISAMストレージエンジン
- トランザクション機能なし。
- 検索性能を重視する。
- 全文検索が利用できる。
- InnoDBストレージエンジン
- 高い堅牢性とMVCCによる高い並列性を兼ね備えている。
- メディア障害時の更新ログによるリカバリが可能。
- あらゆるアプリケーションに対応出来るストレージエンジンとなった。
PostgreSQL †
- 日本でのシェアが大きい。
- ACID重視(日本の市場でトランザクション機能が重視されていたため)
- PostgreSQLのデータプロバイダについてはコチラ。
参考 †
インフラ †
VM †
Cloud †
VPS †
実はVPSも良いのではないかと思っている。
Web †
SSL †