タグ

ブックマーク / blog.livedoor.jp/habuakihiro (4)

  • 株式会社マジカジャパンの羽生章洋が書いてるブログ:key-valueはデータディクショナリの夢を見るか - livedoor Blog(ブログ)

    今日はCouchDBの話というよりも、key-valueという形に基づいてのデータ構造設計を考えてみたときの与太話です。 DOA自体の説明はここでは端折ります(ERDレッスンをお読みくださいm(__)m)が、その考え方の中で非常に重要でありながらも実現に際して途轍もなく困難なものがあります。それがデータディクショナリです。 データディクショナリ(以下DD)とは、乱暴に要約するとシステム内で登場する全てのデータ項目に対して意味合い・意図をしっかりと定義して辞書のように統合し、利用者の間でぶれのない状態にしましょうというものです。そしてDDの作成においては、エリアス・ホモニム・シノニムの除去が重要になります。ホモニム・シノニムについてはhttp://www.atmarkit.co.jp/fbiz/cinvest/opinion/qa/qa13_2.htmlをご覧ください。ちなみにエリアスは別名

    yssk22
    yssk22 2009/05/21
    key-value がDDがない問題自体を解決するというわけではなく、それとなく、DDがないという大問題に気づかせてくれるだろう、という意味で夢、なのかな。
  • 株式会社マジカジャパンの羽生章洋が書いてるブログ:タグがもたらすデータモデルの変化 - livedoor Blog(ブログ)

    またまたCouchDB絡みの話です。key-valueストアでスキーマフリーなデータベースを前提にすると、DB設計の考え方が大きく変わってくるのを感じます。 得意先でもあり仕入先でもあるという場合、上位の抽象クラスとして取引先を作ってそれを継承するという形になるのが一般的だと思います。ところがこれがスキーマフリーのパラダイムになると「タグでいいじゃん」ということになる。 例えば得意先でもあり仕入先でもあるというような場合、取引先という抽象エンティティを置いてそれを継承・派生させる形でモデルを作ります。これはERモデリングだとサブセット、OOだとサブクラスと呼ばれます。しかしスキーマレスにはそもそもそんな区別がありません。タイプという名前で属性をひとつ作ってしまって、そこに「"得意先", "仕入先"」という値を入れればいいだけです。 クラスなり集合なりというのを考えるに際しての一番のポイント

    yssk22
    yssk22 2009/05/18
    type をタグで記述する、というのはおもしろそう || そして、ドキュメントが自由に記述できるとなると、やっぱり Workflow Engine ほしくなりますねw
  • 株式会社マジカジャパンの羽生章洋が書いてるブログ:今日のCouchDB - livedoor Blog(ブログ)

    メインフレーム時代とはCOBOL時代と言い換えてもいいでしょう(RPGやPL/Iの方には申し訳ない)。これは更に言い換えると固定長のパラダイムだとも言えます。オープンシステム時代になりRDBMSが主流となったときに一番のパラダイムシフトは、実は明細の扱い方だったと言えます。 COBOLをご存じの方はOCCURSを当然使っていたはずです。OCCURSとは繰り返しを表すもので、売上データというファイルがあったときに明細部分は繰り返しになりますから、OCCURSを指定します。ややこしい言い回しを使っていますが、要するに配列定義ということです。 さて、COBOLは固定長のパラダイムだと書きました。実はこのOCCURSで定義される配列は繰り返し数が事前に固定されます。例えばOCCURS 5.と書けば5回繰り返しということです。一応可変長が可能ということになってはいるのですが、多分今でも指定した上限を

    yssk22
    yssk22 2009/05/14
    Viewに対するViewがほしい!というのはMLでも流れてますね => CouchApp を使えばそれなりに解決できますね || 賛成!! < 21世紀のネオDOA宣言!
  • 株式会社マジカジャパンの羽生章洋が書いてるブログ:クラウド時代のデータベース - livedoor Blog(ブログ)

    というお題で原稿を書きませんか? というメールがこの週末に某誌の某編集さんから来たのですが、技術的なことについては正直なまくらになっているので原稿料を頂けるレベルではちょっと書けないなぁ、と腰が引けています。とはいえ、何も思いがないわけでもないので、戯れ言を垂れ流してみます。尚、当に垂れ流しであって結論も何もないので予めご了承ください。 ・データモデル ・アーキテクチャ ・操作言語 最初のデータモデルというのは、RDBMSだとリレーショナルモデルである、というものです。ネットワーク型データベースとか階層型データベースとかオブジェクト指向データベースとかXMLデータベースとか色々とありますが、要するにどういう概念に基づいてデータを扱うのかという考え方についての話です。よく「データモデリング」という言葉がありますが、あれはモデリング言語(図言語)を利用したデータベースのスキーマ設計手法の話で

    yssk22
    yssk22 2009/04/25
    うーん、どうだろう。CouchDBの話をするときに、"cloud"がでてくると、なんだそれ?と思ったりもします。。web =~ cloud というのならわかります。 < CouchDBが出てこないのか全くもって残念だよ
  • 1