原価管理データベースの構築および運用

2022-12-14

この事例は 2015 年ごろにご相談があったものになります。

経緯

建設会社(近藤建設)様から、工事の原価管理をしっかり行いたいとのご相談がありました。それまでは、複数の Excel ファイルで必要な情報をまとめ、それらを必要に応じて加工して運用していたとのことです。

これを、一つのデータベースにまとめて、その上で必要な情報を入力・取得や集計ができるシステムを構築することになりました。

開発したシステム

建設会社様と相談した結果、このデータベースは社内からのみ閲覧できればよく、社内での共有も基本的にはおこなわないとのことでしたので、 Access で開発することになりました。

Access を使ったシステムの場合でも、単一ファイルで運用したり、複数ファイルに分割したりといくつかの形態を取ることができます。最初の設計時点で、データベース部分とユーザーインターフェースが一体になっていると、予期せぬトラブルが発生する恐れがあると考え、当初から、Accessファイルを2つに分割し、データベース部分(Accessのテーブル)とユーザーインターフェース部分(Accessのフォーム他)に分離して開発を行いました。

この形でデータベースが完成し、運用が始まったのですが、しばらくすると、

  • 複数人で共有したい
  • 外出先でも使いたい

という要望がでてきました。

システムの変更

前者の要望には、データベース部分のファイルを社内の共有サーバーにおいて、対応していましたが、後者の要望にはこのままでは対応することができません。

そこで、データベース部分を、クラウドに移行し、外出先からの利用に対応することにしました。クラウド上のデータベースですが、管理の手間を軽減するために、マネージドのサービスを利用することにしました。

その結果、

  • Access からのデータ移行が簡単にできること
  • クライアント側では接続先を切り替え、大きな改修は不要で使える

ということで、AWS RDS の SQL Server インスタンスを利用するにしました。

この結果、クライアント側の操作は今までと同様で、(回線速度やPCの処理速度の問題は残りますが)外出先からも利用可能としたシステムに変更しました。

データベースをクラウドで利用する利点

上記の形態でシステムを運用して実感した、クラウド上のデータベース( RDS )を用いる利点として、

  • バックアップが容易
  • 不具合などの問題があった場合、すぐに検証用のサーバーを立ち上げることができる

という点が挙げられます。

特に RDS の場合は、スナップショットを利用すれば、トラブル発見前の状態に戻したり、検証用環境を一時的に(しかも複数)立ち上げたりすることが、 非常に簡単にできる点が助かっています。

参考

ブログの SQL Server に関する記事