2022年5月31日火曜日

グラフデータベースとは

グラフデータベースはよく耳にするが、その仕組みは何ぞやと疑問に調べてみました

「グラフ」とは、Excelの折れ線グラフ(=チャート)などではなく、ネットワーク状のデータ表現であることという

ついつい折れ線グラフと思っていたが違っていた

グラフ検索を可能にしている土台には、「グラフ理論」です

1.グラフデータベースとは

グラフDBとは一言で言うと、グラフ構造を備えたデータベースのことである。データの構造が従来のリレーショナルではなくネットワーク状になっている場合に、格納・検索の面で威力を発揮する

グラフは「ノード」「エッジ」「プロパティ」の3要素によって、ノード間の「関係性」を表現できる(図表1)

ノード(node):別名バーテックス、頂点。点や丸で表現されるエンティティー。「ラベル」を付けて種別を分類することが多い

エッジ(edge):別名リレーションシップ、辺。ノード間の関係性を表す。方向とタイプを有する

プロパティ(property):別名、属性。ノードとエッジにおける属性情報。データはkey/value形式で保持される

2.グラフ理論について

プロイセンのケーニヒスベルグ(現ロシア連邦)のプルーゲル川には、中洲を挟んで7つの橋がかかっており、当時、町の人たちは「どこか1つの場所から7つの橋を1度ずつ全部渡って、元の場所に帰ってこられるか」という問題を議論していた。

数学者のオイラー(Leonhard Euler)は、地点と橋を点と線(ノードとエッジ)の図形に単純化し、「この図形は一筆書きで書くことができない」ので、既述の問題の課題は無理であることを数学的に証明して見せた。これがグラフ理論の始まりと言われている。

代表的なグラフ検索のアルゴリズムとしては、ツリー構造のグラフで目的の情報を探す「幅優先検索」や「深さ優先検索」、重み付けされたエッジを加味して最短経路検索を行うダイクストラ法やA*法などがある

要は点と線を結んだネットワークなので、地下鉄の路線図、SNSの人と投稿記事の関係性、脳神経系、塩基配列、インターネットなども広い意味ではグラフとみなせる

3.グラフDBとRDBとの違い

グラフDBでは、テーブル単位ではなく個々のデータ単位で「つながり」が保持される。RDBでは外部キー(インデックス)を使ってエンティティー(ノード)を2次的につなぐのに対し、グラフDBのモデルではエンティティー間のリレーションが明示的に組み込まれている。

RDBはインデックスの参照やテーブルを連結したビューの用意で時間がかかるのに対し、グラフDBはノードがもつ隣接ノードの情報をたどるだけなので、回答が速い(図表3)。

ネットワークの規模が巨大になるほど、膨大な数のノードのネットワークから目的を探索する際に、パフォーマンスを落とさずに結果を返すことができ、ビッグデータ時代に活躍できる能力を秘めているのである。


図表4は、SNS内で友達の友達を最大5段階の深さまで見つける検証の結果である。それぞれが約50人の友達をもつ100万人規模のSNSでは、効率の差が如実に現れる。深さ3(友達の友達の友達)になると、RDBでは実用的な時間でクエリーに対処できないのは明らかだ。


一方、グラフDBはデータ全体からの統計情報を分析する手続きなどは苦手で、そもそもデータ構造が「つながり」をもたない表だけであれば、グラフDBで処理するメリットは乏しい。どんなケースでもRDBに置き換わるわけではないということだ。ちなみにグラフDBは、非リレーショナルデータベースを意味するNoSQLデータベースの1つに分類されることもある。

4.グラフDBの活用例

ソーシャルグラフ

SNSのソーシャルグラフはグラフ構造の典型である。友達の友達という探索ができるほか、フォロワーが多くて影響力の強いユーザーを見つけ、その行動や購買が個人の挙動に及ぼす影響の洞察も得られる。

さらに口コミでの浸透を期待したバイラル・マーケティングを実施したり、特定の事項・趣味について集まる集団(クラスタ)に対してピンポイントに情報提供するターゲットマーケティングなどが商用でも期待されている。


リコメンデーション

ソーシャルグラフの応用とも言えるが、とくにECサイトなど購買行動が関係する際に有効である。「スポーツ」をフォローしている3人の顧客ユーザーがおり、そのうち2人が実際に製品を購入したので、残りの1人も製品を購入するかもしれない。そのユーザーがログインしたECサイトのページには、「これを購入された方は、こちらも購入されています」と表示される(図表5)。


経路検索

カーナビのような最短経路検索のほか、物流でどのルートを順に回れば一番効率がよいか、また交通網が事故で一時的に停止したときや複雑なアクセス権限のあるシステムで権限付与を変更したときに、後続にどのような影響が出るかをシミュレーションできる。

図表6は中継機器ノード、ネットワーク回路をエッジに置き換えてグラフで図示している例である。故障したときにどの経路をたどれば通信品質を保てるか、古くなった機器を交換するときにどの順で止めればいいか、その影響度を調査できる。


5.ソリューションとクエリー環境 

ベンダー製品では、Neo Technology社のNeo4jが圧倒的なシェアを占める。検索結果がグラフ描画や表、JSONでインタラクティブに表示されるWebの管理ユーザーインターフェースも付属していて使いやすい

Neo4jでグラフ構造のデータ処理を行う場合は、CypherというSQLライクなクエリー言語を用いる(図表10)。ホワイトボードに書いたネットワーク図をそのまま文字に起こしたようなアスキーアートに似ていて、扱いが容易である。


2022年5月12日木曜日

web3について

Web3の動向が注目されるこの頃

単純に考えると、ブロックチェーンによる暗号通貨がその例です

現状のWebは2.0と言われている
単純な仕組みは今、このブログを見ているとは、サーバに置かれたブログを見ている
このような仕組みが2.0です

3.0になると、
上記のような仕組みでなくなり、
中心部分がなくなる

データは各、PCに存在し、それは暗号化されている
そして、各々PC上のデータと連結されることになる
いろいろなものが変わるのはわかるが、

現状で3.0について詳細については、課題が多い
ここ数年でいろいろな研究分野のものが実用化されていくことは確かである

Iotなどを中心として、現在のIT全体に対する考え方も大きく変わっていきそうである

まだわからないところがあるので、私自身も課題が多い
今後、詳細を含めて、記載していきたい

技術の進歩は絶え間なく進む
課題を見つけることも重要だ



仕組みは、今まで、中心部分があり、そこからWebを見ていた

2022年5月5日木曜日

物価が上昇中

エネルギー関連の物価および2月中旬からの円安の影響を受け、輸入品はすべて価格が上昇
また、農作物についても同様

今後はさらに、電気ガスなどの公共料金の値上がりに伴い、さらに値上がり傾向だ
物価は下がることなく、今後、物価上昇し、1年もたたないうちに2倍になるものも出てきそうだ

日本の物価は抑えられていた分、今後、ハイパーインフレを起こす可能性もある

心配なのは、
物価が3倍以上になる可能性
円安に伴い、1ドル、150円~200円になる可能性
ハイパーインフレに伴い、金利が急上昇する可能性
物価は上がるが、人件費は高騰しない可能性

日本にとってはすべてが悪い現象が、2022年、2023年と続きそうな気配がある


パンで物価を見ると、
食パンは小さくなり、価格が上昇している

このようなことが多い


 

2022年5月4日水曜日

コロナ対策・・・

昨年までは中国のように、ゼロコロナと考えていたが、
現在の中国を見ると、ウィズコロナ政策がよいようだ

中国、身動きが取れなくなっている
しかし、どこから、新型コロナが感染するのだろう?

謎です

テレビで見ていると、やはり、ウィズコロナでないと、社会が動かない
日本人は、マスクなどをして感染対策をしている

それとまだ怖さがあると思う人も少なくない

でも日本人でも油断をする人が今後増えていくだろう

気を付けないといけないのは若い世代が感染する確率が高いということだ

これに気を付けていけば、ウィズコロナとして、今後、社会継続ができそうな気配だ
新型コロナも3年目、傾向と対策を考えて過ごさないと、何もできない

もっと安心した社会になるのはいつだろうか?


 

2022年5月1日日曜日

5月がスタート

5月がスタートする

体調が悪いので無理をせず、過ごしている
下手に動くと咳き込むので何もできない

こういう時は本を読んで基本の勉強
時がたつと、用語でも意味が変わったり、1つ語が分裂することもあるので時代に合わせます

年を重ねると経験はよいが、世代が違う人と話すときは、今の用語で話さないと、意味が通じなくなる
時代とともに用語の中身が変わり、説明するときも世代に合わせる必要がある

いつでも勉強をする必要がある


最近よく感じることは若い人たちが、誰にも相談せずに苦しんでいる姿だ

  • なぜ相談できないのか
  • また相談する人がいないのか
  • 友人が多いのになぜなのか
など不思議に思うこともある

個人の問題といえばそれまでであるが、苦労をしているのはつらいものがある

環境をよくしてあげないといけないことが多い。

難しいことが多すぎる
何か手伝えることがあればよいのだが・・・