最近の業務用のWebシステムではグラフ表示を取り入れる機会が増えてきました。
ほんの数年前はグラフ表示のライブラリは、高価だったり使いにくかったりと良いものが見当たらなかったのですが、現在は見た目も機能性も素晴らしいオープンソースのライブラリが多数登場してきています。
私が最もWebの業務システムに適していると思うのはchart.jsと言うライブラリ。上のサンプルのとおり、デザイン性に優れています。グラフ表示の際のアニメーションも良いですね。ライブラリ自体をサイトに配置するので、ライブラリのアップデートやサービス終了を気にすること無く運用できます。
分析のためのグラフ描画は、どうしても大量のデータアクセスがついて回るので、設計には考慮が必要です。例えば、1年間の売上で商品種類毎の比率を見るには、1年間の全ての売上データにアクセスする必要があります。
サーバー負荷を下げる設計技法や運用を工夫する方法はいろいろあるのですが、データ量が多い場合や同時利用数が多い場合等、どうしても負荷が高い場合は、業務用のデータベースサーバーと分析用のデータベースサーバーを分離する方法が有効です。
尚、現状でデータ量が少なく、ビジネスの成長と合わせてデータ量が増えていくことが見込まれる場合は、論理的に別サーバーで動作するようにデータベースを設計しておき、当初は1台のサーバーに配置する方式をとります。この考え方はサーバーの追加が気軽に行えるクラウドの時代ならではですね。