データベース

取り組み

  • 現在、データベースについては、汎用機能を対象に大規模な移行作業を進めており、新システムに完全移行する方針です。

保守

  • MySQL 
    • /var/log/mysql_slow_queries
    • ps -aux | grep mysql - プロセスの確認。
    • mysqladmin status
    • mysqladmin extended-status
    • mysqladmin ping - 「mysqld is alive」と出れば問題ない。
    • mysqlcheck -o --all-databases - データ整理(フラグメンテーション)
    • mysqlcheck -a --all-databases - インデックス再構築。

検討中

  • 会議データベース
    議事録や実際の検討はboardで対応するが、具体的な一覧については、まとめ役となるものが欲しい。どんな会議が進行中かが分かる。親子関係も欲しい。作業分科会などにも対応したい。
  • 提案データベース
    各機能に対して、何かしらの提案があれば、随時受け付ける。パブリックコメントなど。 
  • 質問データベース
    質問と回答をまとめるために利用。boardとは別にしてはどうか。他に似たような使い方はないか。
  • バグトラッカー
    問題等に対処するため、発見時に書き込んでおき、優先順位などを設定して対処。
  • 稟議
    各提案から、稟議に必要なものをまとめる。
  • 購入提案
    作業分。
  • 点検データベース
    定期的に確認しなければならない事項についてまとめる。バージョンチェックのような観点もあるが、機能やサイトがどう稼働しているかを確認するためのもの。
  • プロジェクトデータベース
    個々の取り組みをまとめたもの。現状は、テック・マネジメントサイトがあるので、必要かどうかも含めて検討したい。
  • テーブル設計の基準
    現状では主なものに絞るような傾向がある。設定など、細かな情報についてもデータベース上にまとめる傾向にあるが、格納事態は汎用のもので対応する傾向にある。テーブルごとに必要となる設定を格納するためのテーブルもないか。

汎用テーブル

  • 汎用数値テーブル
    後に集計が必要な分野に対応。
    id
    state
    value
    parent
    category - 不要か
    date 
  • 汎用設定テーブル
    汎用認証制御テーブルを含むか。
    id
    state
    code
    value
    parent
  • 汎用認証制御テーブル

文書テーブルと認証

  • docsへのuri追加に関する提案
    tmp系のデータであるため、現在のところ継続検討中。
    uri判断時がやりやすくなる、高速化できるといった利点がある。 
  • auth許可例 - 1)admin、2)sales、3)owner、4)member、5)anonymous
  • auth
    type=1)都度完全ログアウト,2)ログインの維持ができる
    ログインページ
    ログイン失敗
    ログアウト
    ログアウト完全
    ログアウト時間切れ
  • docs.auth
    0 all acept
    int member pages
  • docs.state=auth
    docs.permission?
  • 全許可
    会員のみ、ログインさせる
    会員のみ、別ページへ

標準仕様

  • id serial - 固定番号用途。
  • state int2 - 登録状況。
  • category int4 - 分類。
  • pid,parent int4 - 分類。
  • priority int4 - 優先度。
  • type int2 - 形式。
  • date timestamp without time zone - 登録日時。
  • update timestamp without time zone - 更新日時。
  • ip text - 接続元。
  • code text - 使用サイト。
  • click int4 - クリック数。閲覧数にも。

テーブル

  • index
    各ページの内容をストックする。検索などでデータベースとして利用する。
  • docs
    文書を格納。ドキュメントセンターの文書を格納するために用意したのが最初。現在は、htmlの格納に傾倒しているが、メールの本文などにも対応する。ブログのような使い方も想定するが、CMS寄りの使い方が向いている。
  • docs_category
    文書のカテゴリ構成を格納。親子関係に対応する。
  • news
    新着情報を格納。トップページなどでリンクさせたい場所を誘導する目的。文書にも新着情報の引き出しがあるとはいえ、文書以外の歳と全体で使うことを想定。
  • directory
    リンク情報の格納。ディレクトリサービスなどで利用。
  • directory_category
    リンク情報のカテゴリ構成を格納。親子関係に対応する。
  • feed
    RSSやATOMで取得する情報を格納。取得先のuriの他、取得間隔も。
  • feed_item
    RSSやATOMにて取得した情報を格納。より多くの情報を格納することを想定しているため、あまり選別することは考えない。引き出す際に必要なものだけを選ぶ。
  • auth
    認証に関する基本情報を格納。認証ページを設定するために用意。
  • member
    会員情報を格納。
  • member_group
    会員の区分情報を格納。認証すべきページが数種類ある場合などに対応するため用意。
  • schedule
    各種予定を格納。
  • project
    基本的な取り組みを格納。仕事などの取り組みが中心。
  • task
    メールなどで依頼された内容を整理し、個別の対応内容を格納。

主な機能

  • 取り組み
  • 作業
  • テーブル一覧

提案

  • psqlにおける\dの結果でデータベース設計の一覧ができるようにすることを提案しています。

関連事項

  • -

注意

  • -