サーバ統廃合に伴う一部機能縮小について

2021-05-02

先に申し上げると、今回はほとんどの方には影響がないと思います。

要約

  1. デレマスボーダーbotは、基準順位(*)ではなく、かつイベントの最終結果ではないイベントポイントのデータを保持しなくなりました。このため、当該データはCinderella APIでデータが取得できなくなりました。
  2. 毎10分のプロデューサーの観測範囲(ポイント取得対象の順位)を10,000位以上→8,000位以上に縮小しました。

※基準順位:イベント報酬が切り替わる順位。ボーダーbotでは、プロデューサーであれば1位、10位、100位、200位、300位、1000位、1500位、2000位、3000位、4000位、7000位、10000位、15000位、20000位を指す。

1. 過去イベントの基準順位以外の推移情報は取得できなくなりました

デレマスボーダーbotは、これまで過去のイベントの推移を含め、イベント開催中の10分ごとのすべてのイベントポイントを保持してきました。これらの過去のイベントのポイント推移は、Webポータル上では基準順位のみが参照できるようになっていましたが、Cinderella APIでは例外的に順位またはMobageId/ProductionIdを指定することにより取得が可能になっていました。

しかしながら、最終結果という一断面だけでなく、データサイズの嵩む推移情報も保持することはデータベースサーバへの負荷が大きく、永くボーダーbotの課題となっていました。一断面あたり2MBくらいなので大したことはないように見えますが、これが7日間のイベントとなると 2MB * 1時間に6回更新 * 24時間 * 7日間 = 2GB となります。かつ中間がある場合は二重に保持する必要があります。JAMに至ってはイベント全期間にわたり四重になっていました。

過去の推移情報を持つと、データが重なることで金太郎飴のように長くて太いデータになります。それが7年近く溜まり続けたことで、最近は取り扱いに難儀するようになっていました。イベントポイントテーブルのインデックスがメモリに乗らなくて性能劣化を起こしていましたし、メンテナンスも時間がかかっていました。

そのため今般、思い切って過去のイベントポイントはデータベースサーバから削除しました。厳密には、Webサーバが参照している自前のMariaDBからGCP BigQueryに移行したのでデータそのものは残ってはいますが、WebサーバからBigQueryは参照しないようにしています。事実上、一般のユーザの皆様はもう過去ポイント推移情報に触ることができません。

この対応により、APIで取得できるイベントポイントは下表のようになりました。

データ日時基準順位基準順位以外
最終結果より前の日時参照できる参照できる→参照できない(今般変更)
最終結果参照できる参照できる

ただし、開催中のイベントのデータは基準順位以外もフルデータを保持しています。イベント終了後に全プロデューサー・プロダクションのポイントを取得したあと、推移情報を削除する仕様になっています。もし基準順位以外の推移情報を必要とされる場合は、必ず開催中にCinderella API経由で取得するようにしてください。

2. 毎10分のプロデューサー観測範囲を8,000位に縮小

先般プロデューサー観測範囲を10,000位に拡大したばかりですが、すべてのサーバの効率化を目指し統廃合を行った結果、10分ごとに取得できる範囲が少なくなりました。

そのため、目下の需要や利用状況も考慮し、8001位~10000位間の観測を取りやめています。

今後

今後、フリートレード履歴機能およびイベントポイントの10分速/30分速/時速/24時間速計測にも、効率化を目指し手を入れようと思っています。