シート 1
発表70分
  目次
    研究目的(10min)
      リレーショナルとオブジェクトのギャップ
      改善されつつある
        Json
          手元でデータを直す
          並列アプリケーションにむかない
          不定形の格納
        ORMapper
        KeyValueStore
    Jungleの説明(25min)
      非破壊的木構造データベース
        木の集まり
          木はノードの集まり
        親から子への参照
        トランザクション
          元の木を保存する
          ルートをアトミックに入れ替える
        プログラム内部に木を構築する
          オンメモリ
      API
        Tree
          create
            createTreeByName
            getTreeByName
          edit
            Node
              children
              attribute
        Either
      利点
        木構造データをそのまま格納
        オンメモリによりデータベースに問い合わせる必要がない
        過去のデータを保存している
        読み出しも安全
          元の木を変更しないから
        分散型
          MessagePackでやりとりする
      難点
        変更の手間O(1) ~ O(n)
          アプリケーションに沿った設計が必要
        過去のデータを持ちすぎるとメモリが増大する
          どこでDestroyするが設計が必要
    Jungleを使ったアプリケーション(25min)
      maTrix
        maTrixとは？
          許認可管理アプリケーション
          木構造のデータを持ってる
        問題点
          検索が必要
          JungleにIndexがなかった
            Indexの実装
              木のノードにID
                前のIndexを非破壊
            Traverserの実装
          子から親ノードをたどる必要
            ParentIndex
        XMLReader
          xmlからJungleへデータ格納
        検索APIの実装
          Index
        性能評価
          mongoDB
            500
            Jungleはオンメモリ
      BBS
        Jetty
        Servlet
          MVC
        ブラウザでの木の編集
          Node
            Pathで移動
      RenderingEngine
        実装方法
          Contents Tree
            title
            date
            type
            body
            date(image)
            filename
            Component
          Layout Tree
            Component
        性能評価
      Unity
        新しい提案
        C#
    まとめ(10min)