0

明確にするために、データベース自体にメトリックを保存したくありません。むしろ、レポートを簡単にするために、組織で測定したさまざまなコントロールからのメトリックを保存するデータベースを構築したいと考えています。ちょっとした背景: マネージャーとして、私はさまざまなアプリケーションからメトリックを引き出します。2 つのチケット システム (ええ、知っています)、電話システム、イベント管理ソフトウェア (Nagios) からのアラートなどです。これらについては毎週報告します。履歴データを含む Excel スプレッドシートを保持します。スプレッドシートは非常に大きく、柔軟性に欠けます。

私は Web アプリを作成するのは初めてではありませんが、データベース設計の分野ではまだ初心者です。優れた履歴データ用の素晴らしい人力車 JavaScript グラフを使用してアプリをコーディングしたいと考えています (そして、クレイジーな色とインタラクティブ性で上級管理職チームを驚かせたいと考えています)。

データベースはどこから始めればよいですか? すべてのメトリックに対して 1 つのテーブルを作成できますが、それらをさまざまなタイプにインデックス化する方法 (たとえば、電話のメトリックには、放棄率、着信通話の合計、発信通話の合計、通話時間の合計、平均通話時間、平均保留時間、最大値があります)保留時間など)。それは、乱雑で整理されていないテーブルです。

各タイプ (電話、チケット、イベントなど) ごとに 1 つのテーブルを作成できますが、後でメトリクスを山に追加するのは難しいようです。

ここにいる誰かが経験を積んでいて、私が向かうべき方向についての指針を教えてくれることを願っています.

PS: 現時点でリソースを利用できるという理由だけで、SQLite または MySQL が必要になります。

4

1 に答える 1

1

このようなシステムの MySQL 設計は、次のことを考慮して行うことができます。

  1. メトリック グループの各タイプのテーブル。たとえば、チケット システムのエンティティは単一のチケットにすることができます。
  2. チケットが単一のユーザーに接続されている場合は、前のチケット テーブルにユーザー名を含めることができます。それ以外の場合は、柔軟性を保つために、接続された要素ごとにテーブルを作成します。たとえば、チケットはスタッフに割り当てられ、複数の電話が関連付けられているため、には、calls テーブルと staff テーブルが必要です。
  3. 複数のアイテムをマッピングするには、stafftickets や ticketcalls などのマッピング テーブルを作成して、スタッフを複数のチケットに関連付けたり、チケットを複数の通話に関連付けたりします。

これらのエンティティを定義したら、mySQL phpmyadmin に座って、機能するテーブルを作成できます。

物事のグラフ化には、D3.js を使用し、json を吐き出し、javascript または json2 を使用してグラフなどにバインドします。

于 2013-01-31T02:47:00.397 に答える