スクールの生徒・月謝データを安全に分析する方法|分析用DBとODBC連携の仕組み

スクール管理システムには、生徒管理・講座・出欠・月謝管理と、経営判断に使えるデータが日々たまっていきます。ところが「そのデータを自分たちで自由に集計したい」「エクセルで手元の様式にまとめたい」という要望が出たとき、多くの場合ぶつかるのが「本番システムに分析用のアクセスを許してよいのか」という問題です。本事例では、TechnoSMSのデータを本番とは別のデータベースへ1時間ごとに連携し、そこへ ODBC で接続してもらうことで、本番システムには一切触れずにデータ分析の環境をつくった構成をご紹介します。
スクール管理システム「TechnoSMS」を開発するTECHNOPIAN株式会社の広報。「業務をシステムに合わせるのではなく、業務のためのシステムを作る」が信条。数十社以上の導入指揮経験を活かし、徹底した要件定義によって、スクール独自の複雑な運用ルールを最適なシステムにする過程をお伝えします。
この記事の要点(サマリ)
- 分析用に本番データベースを開放するのではなく、本番から1時間ごとに連携したバックアップを、分析用のデータベースに持たせています
- 担当者は Access などの使い慣れたツールから ODBC で接続し、生徒管理・月謝管理のデータを自由に集計できます
- 閲覧できる範囲は担当者ごとにユーザーを作成して制御し、接続ログも取得しています
- この構成はカスタマイズでご提供しており、稼働中のシステムへ後から追加することもできます
「集計したい」と「本番を守りたい」は、いつも綱引きになる

スクール運営が軌道に乗るほど、データの使いみちは増えていきます。たとえば次のような要望です。
- 講座ごとの受講者数の推移を見て、次期の開講計画を立てたいというご要望があります
- 拠点別・曜日別の稼働率を出して、講師のアサインを見直したいという声もあります
- 未収金や請求の状況を、経理側の様式にあわせて集計したい、入金情報や未収残高を管理したいという場面もあります
- BIツールに取り込んで、ダッシュボードとしていつでも見えるようにしたいというご相談もいただきます
一方で、システムを預かる側から見ると、これらの要望をそのまま本番データベースへの接続許可として受けるのは避けたいところです。分析目的の重いクエリが本番の応答に影響する可能性がありますし、接続経路が増えれば、それだけ管理すべき範囲も広がります。
そこで本事例では、分析用のデータを安全に提供しつつ、本番環境への影響を抑えるという方針を採りました。具体的な構成は次の節でご説明します。
本番を開けるのではなく、複製を渡す

本事例で採った判断は、ひとことで言えば「本番データベースには接続させず、そこから複製したバックアップにつないでもらう」というものです。分析する人は本番システムの存在を意識せずに済み、システムを預かる側は本番の接続経路を1つも増やさずに済みます。
データの流れは一方向です。本番データベースから1時間ごとの定期複製で分析用データベースへ渡し、担当者はその分析用データベースへ ODBC で接続して、Access・Excel・BIツールといった手元のツールで集計します。
分析の自由度と本番の安全は、トレードオフではなく、つなぐ先を分けることで両立できます。
何をしたか——バックアップを渡し、ODBCでつなぐ

構成は次の3段階です。
1. 本番データベースのバックアップを取得する
TechnoSMSはアプリケーションサーバー(Apache)とデータベースサーバー(MySQL)で構成されており、アプリケーションからは PDO 経由でデータベースに接続しています。分析用に使うのは、この本番データベースから取得したバックアップです。
2. 分析用のデータベースサーバーへ連携し、インポートする
バックアップは1時間に1回、本番から分析用のデータベースサーバーへ自動で連携されます。転送されたファイルは復号したうえで MySQL にインポートされ、分析用のデータベースには常に直近の断面が揃っている状態になります。担当者が都度エクスポートを依頼したり、ファイルを受け取って持ち込んだりする手順は挟みません。
3. 手元のツールから ODBC で接続する
あとは、担当者が使い慣れたツール——本事例では Access——から ODBC で接続します。SQLを書いて抽出することも、クロス集計をつくることも、外部のBIツールにつなぐことも、接続する側の判断で自由に行えます。
| 本番データベース | 分析用データベース | |
|---|---|---|
| 用途 | システムの稼働 | 集計・分析・ダッシュボード |
| 接続元 | TechnoSMSのアプリケーションサーバーのみ | 担当者のPC(ODBC) |
| データの鮮度 | 常に最新 | 1時間ごとに連携された時点の断面 |
| 更新 | システムが更新する | 参照のみ(分析用途) |
分析側から見た制約は「本番とまったく同じ瞬間の値ではない」という一点だけです。連携は1時間ごとなので、当日の状況を見たい場合でも直近の断面で足ります。
「誰が見られるか」を担当者単位で決める

本番の外にデータを置く構成では、置いた先での権限管理が重要になります。本事例では、次の2点を設計に含めています。
- 担当者ごとにユーザーを作成する:全員が同じ接続情報を共有するのではなく、担当者単位でユーザーを分けます。接続できるPCと、接続できないPCも分けています。
- 接続ログを取得する:誰が、いつ接続したかを記録します。受講生の個人情報を含むデータを扱う以上、追跡できる状態にしておくことが前提になります。
「分析用にデータを置く」という話は、実務上は「権限管理をどう設計するか」という話とセットになります。
分析機能は後から追加できます
ODBC接続によるデータ抽出は、TechnoSMSの標準機能ではなく、カスタマイズとしてご提供しているものです。開発の要件定義の段階から組み込むケースが多いのですが、すでに稼働しているシステムへ後から追加することもできます。
「導入時には分析まで考えていなかった」「運用が回りはじめてから、データを使いたくなった」という順番でも、あとから足せると考えていただいて差し支えありません。どの範囲までを標準の機能で賄い、どこからをカスタマイズにするかは、扱うデータの量や集計の条件によって変わりますので、ご相談のうえで設計します。
こんな課題があれば、同じ構成で解決できます

以下に当てはまる状況であれば、本事例と同じ考え方で対応できる可能性が高いです。
- システムに入っているデータを、自分たちの手で自由に集計したい
- BIツールやダッシュボードにデータを取り込みたいが、本番システムへの接続は避けたい
- Excelへの手作業のコピーで集計しており、毎月の作業が固定費のようになっている
- データを渡したいが、誰がどこまで見られるかを管理できる状態にしておきたい
- 導入時は分析まで想定していなかったが、運用が始まってから必要になった
まとめ
ここまでにご説明した内容を、課題と対応の対で一覧にすると次のとおりです。詳細はそれぞれの章をご覧ください。
| 課題 | 本事例の対応 |
|---|---|
| 分析のために本番データベースを開けたくない | 1時間ごとに連携したバックアップへつなぐ |
| 集計の様式が業務ごとに違う | ODBC接続で、担当者が使い慣れたツールから自由に抽出 |
| 誰が見られるかを管理したい | 担当者ごとにユーザーを作成し、接続ログを取得 |
| 導入時に想定していなかった | 稼働中のシステムへ後から追加(カスタマイズ) |
データを「見せる」ことと、本番システムを「守る」こと。この2つは、渡すデータを分けるだけで両立します。派手な機能ではありませんが、生徒管理・月謝管理のデータ分析の入口として確実に効く構成です。
テクノピアンの提案は、製品説明にとどまりません。お客様が日々どのように業務を運用し、システムのデータを何に使いたいのかを一緒に整理しながら、実現方法を設計していきます。ご相談では、現在のデータの持ち方の確認と、分析環境をどこまで切り出せるかのご説明が可能です。
「何から整理すればいいか分からない」という段階でも、どうぞお気軽にご相談ください。

スクール管理システム「TechnoSMS」を開発するTECHNOPIAN株式会社の広報。「業務をシステムに合わせるのではなく、業務のためのシステムを作る」が信条。数十社以上の導入指揮経験を活かし、徹底した要件定義によって、スクール独自の複雑な運用ルールを最適なシステムにする過程をお伝えします。
