mBaaSはクラウドサービスであるため、内部の実装がブラックボックスになっています。そのため利用方法によってはパフォーマンスが出なかったり、思った結果が返ってこない場合があります。例えば大量のデータ(1,000万件以上)を登録した際に検索での性能劣化が起こることがあります。
今回そうしたサービスの技術的仕様を含めた情報を開発ガイドラインとしてまとめました。mBaaSを導入、さらに導入後の検討項目としてチェックしてください。
主な内容を紹介します。
オブジェクトサイズの制限
1オブジェクト10MB以内。システム制限は16MBですが、巨大なオブジェクトは更新時に高負荷となりますので注意が必要です。
ソート
インデックスがないフィールドに対するソート処理はメモリが32MBまでに制限されています。32MBを越えるとソートができなくなります。
取得件数
1,000件まで取得できます。
プッシュ通知
プッシュ通知は100%、必ず届くものではありません。あくまでもベストエフォートになります(ほぼ届きますが、希にGCM/APNsの問題で届かないことがあります)。
プッシュ通知は外部サービスを使っている関係上、さらに細かな仕様があります。ドキュメント : 開発ガイドライン | ニフティクラウド mobile backendを参照してください。
mBaaSは利用者全員が同じエンドポイントを使って共通のリソースを利用しています。一部の高負荷な処理が他のアプリケーションに影響を及ぼすのは防がなければなりません。そのため、未然に予測できる場合は改善勧告やサービスの一時停止処置も行われます。
なお、Expertプラン以上で契約されている場合はテクニカルサポートとしてパフォーマンス向上のアドバイスも行っていますのでぜひご検討ください。