ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

データアクセスと処理との間の中間層のインターフェースは、ハッシュマップとその配列に集約する

2009-07-07 18:00:37 | Weblog

 この前書いた、RDBとかに直接アクセスしないで、デバイスを意識しないデータアクセス層を作る話だけど、こうすると、

ひとつのメリットとしては、
  ・KVSとか、どこに分散されてるかとか、ファイルかとか意識しないでアクセスできる
    →みんながアクセス法をしらなくてもいい

そのほかにも
  ・もし、DB上で変更が起こったとき、入出力が集約しているので、対応しやすい
    →場合によっては、変更をこの層で吸収できる。

なんていうメリットがある。

さらに、
  ・すべてのデータを同じように表現できる

ということがある。このメリットはさておき、まず、デバイスにかかわらず、
どう表現すると、データを同じように表現できるのかについて、述べてみたいと思います。




■データは、ハッシュマップ(連想配列)とその配列で表現できる。

 たとえば、RDBのデータは、1レコードを1ハッシュマップとし
 (項目がキー、値がvalueになる)、それの配列で、テーブル、ビュー、検索結果が表現できます。

 KVSは、まさにハッシュマップ

 プロパティファイルはハッシュマップ

 CSVの場合は、1レコード1ハッシュマップにして、
 キーに項目番号1、2、3・・・値に、その項目のセルの値をセット

 XMLはいやらしい形なのですが、

 1ノード1ハッシュマップ。
 そのときのパラメータをキー、値にセット
 テキスト部分はキーを#text#1のような形で
  (テキストが、2つの部分に分かれてれば#text#2,3つなら#3・・・)
 子ノードは、キーに子ノード名#1(同名の2番目のノード#2・・・)
       値に子ノードのハッシュマップ

 という形でいれられないこともないです。

 こんなかんじで、大体のデータは、ハッシュマップ(連想配列)とその配列で表現できます。




さらにまとめると、ハッシュマップだけで表現されているものも、要素1個の
ハッシュマップの配列にできるので、これだけで表現できるともいえます。

で、こうやって、ハッシュマップの配列にすると、何が楽しいのかについては、
今度書きます。

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« リーナス・トーバルズ氏が10... | トップ | UML等各種ダイアグラムのエラ... »
最新の画像もっと見る

Weblog」カテゴリの最新記事