Submit Search
Upload
Mongo db + xsd:xml(20130219)
•
2 likes
•
1,146 views
M
Michael Nguyen
Follow
Using XML with MongoDB.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 13
Download now
Download to read offline
Recommended
業務システムにおけるMongoDB活用法
業務システムにおけるMongoDB活用法
Yoshitaka Mori
[db tech showcase Tokyo 2016] A25: ACIDトランザクションをサポートするエンタープライズ向けNoSQL Databas...
[db tech showcase Tokyo 2016] A25: ACIDトランザクションをサポートするエンタープライズ向けNoSQL Databas...
Insight Technology, Inc.
MongoDB インサイド SaaS型業務アプリケーション
MongoDB インサイド SaaS型業務アプリケーション
Yuki Ishikawa
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
Naruhiko Ogasawara
業務システムにおけるMongoDB活用法
業務システムにおけるMongoDB活用法
Co-graph Inc.
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
Datomic&datalog紹介
Datomic&datalog紹介
あしたのオープンソース研究所
Spring Data in a Nutshell
Spring Data in a Nutshell
Tsuyoshi Miyake
Recommended
業務システムにおけるMongoDB活用法
業務システムにおけるMongoDB活用法
Yoshitaka Mori
[db tech showcase Tokyo 2016] A25: ACIDトランザクションをサポートするエンタープライズ向けNoSQL Databas...
[db tech showcase Tokyo 2016] A25: ACIDトランザクションをサポートするエンタープライズ向けNoSQL Databas...
Insight Technology, Inc.
MongoDB インサイド SaaS型業務アプリケーション
MongoDB インサイド SaaS型業務アプリケーション
Yuki Ishikawa
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
Naruhiko Ogasawara
業務システムにおけるMongoDB活用法
業務システムにおけるMongoDB活用法
Co-graph Inc.
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
Datomic&datalog紹介
Datomic&datalog紹介
あしたのオープンソース研究所
Spring Data in a Nutshell
Spring Data in a Nutshell
Tsuyoshi Miyake
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
はじめてのMongoDB
はじめてのMongoDB
Keisuke Izumiya
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
Satoshi Nagayasu
MongoDB
MongoDB
あしたのオープンソース研究所
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
Microsoft Tech Summit 2017
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
K Kimura
2011年度 生物データベース論 2日目 木構造データ
2011年度 生物データベース論 2日目 木構造データ
Taro L. Saito
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門
Hisashi HATAKEYAMA
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
uedayou
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
Osamu Monoe
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
じゅん なかざ
SQLマッピングフレームワーク「Kobati」のはなし
SQLマッピングフレームワーク「Kobati」のはなし
Kazuki Minamitani
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Kazuyuki Miyake
Html5 Web Applications
Html5 Web Applications
totty jp
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
Tetsutaro Watanabe
More Related Content
Similar to Mongo db + xsd:xml(20130219)
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
はじめてのMongoDB
はじめてのMongoDB
Keisuke Izumiya
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
Satoshi Nagayasu
MongoDB
MongoDB
あしたのオープンソース研究所
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
Microsoft Tech Summit 2017
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
K Kimura
2011年度 生物データベース論 2日目 木構造データ
2011年度 生物データベース論 2日目 木構造データ
Taro L. Saito
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門
Hisashi HATAKEYAMA
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
uedayou
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
Osamu Monoe
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
じゅん なかざ
SQLマッピングフレームワーク「Kobati」のはなし
SQLマッピングフレームワーク「Kobati」のはなし
Kazuki Minamitani
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Kazuyuki Miyake
Html5 Web Applications
Html5 Web Applications
totty jp
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
Tetsutaro Watanabe
Similar to Mongo db + xsd:xml(20130219)
(20)
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
はじめてのMongoDB
はじめてのMongoDB
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
MongoDB
MongoDB
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
IBM Cloudant の細かすぎて伝わりにくい機能(その2) データの変更履歴が自動管理できるらしい
2011年度 生物データベース論 2日目 木構造データ
2011年度 生物データベース論 2日目 木構造データ
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
SQLマッピングフレームワーク「Kobati」のはなし
SQLマッピングフレームワーク「Kobati」のはなし
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Html5 Web Applications
Html5 Web Applications
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
Mongo db + xsd:xml(20130219)
1.
MongoDB + XSD/XML
Michael Nguyen (マイケル・ヌエン) コグラフ株式会社
2.
自己紹介 ●
カリフォルニア大学アーバイン校で ICS ● 東京工業大学へ留学 ● Google 検索アプライアンスを補完する 自社製品の開発や、ナレッジマネジメ ント製品の開発 ● コグラフ株式会社でグローバル・サー ビス・デベロップメントマネージャー + シニアエンジニア ● 趣味は音楽とお酒(特に日本酒)
3.
税務システムでの特徴 ●
電子申告は XML で提出 ● XML のスキーマは国税庁から臨時に提供されている ● 平成25年2月8日に公開されているスキーマ( XSD フ ァイル)は合計で 110MB を越えている ● システムは内部でデータを XML で保存しなくても、どこ かのタイミングで XML に変換する必要がある
4.
何故 MongoDB ●
問題 ● 大量のスキーマで大量の帳票の数 ● 各帳票には大量の項目の数(表示用のコードは1万行を越えている) ● スキーマは年に数回更新される ● 古いデータをそのまま参照する必要がある ● データのモデルを手動で作成するのは体制的にも時間的にも非現実的 ● 候補となる DB の種類 ● RDB => × ● NoSQL => ◯ ● XMLDB => ◯
5.
MongoDB のメリット ●
XML のデータをそのまま保持出来る ● XML データを部分的に取得できる( dot notation ) ● スキーマが変わっても DB まわりのコードは一回だけの開 発でほとんどメンテナンスなしで使い続けている ● データのバージョンが違っていても共存は可能 ● データベースの運用での障害なし
6.
BSON と XML ●
XML スキーマは国税庁のものを加工したものがベースにな る ● 加工した XML スキーマを XmlBeans のライブラリで Java Bean を生成 (ant のスクリプト ) ● データ保存時は Java Bean => XML => JSON => BSON ● データ取得時は BSON => JSON => XML => Java Bean
7.
XML/JSON の変換 XML
JSON <pre:ROOT_ELEMENT { xmlns:pre="http://somewhere.com/asdf" "pre:ROOT_ELEMENT" : { attribute1="value" "@xmlns:pre" : "http://somewhere.com/asdf", attribute2="value" "@attribute1" : "value", attribute3="value" "@attribute2" : "value", ><pre:CHILD_ELEMENT_1 "@attribute3" : "value", attribute1="value" "pre:CHILD_ELEMENT_1" : { attribute2="value" "@attribute1" : "value", attribute3="value" "@attribute2" : "value", >value</pre:CHILD_ELEMENT "@attribute3" : "value", ><pre:CHILD_ELEMENT_2 "#text" : "value" attribute1="value" }, attribute2="value" "pre:CHILD_ELEMENT_2" : { attribute3="value" "@attribute1" : "value", >value</pre:CHILD_ELEMENT "@attribute2" : "value", ></pre:ROOT_ELEMENT> "@attribute3" : "value", "#text" : "value" } } }
8.
Collections ●
MongoDB では collection は RDB のテーブルみたいなもの ● collection を事前に作成する必要はない(自動で行われ る) ● MongoDB 側で collection 内のデータは同じ型である必要 はない(ユーザが決める) ● 例えば税務システムには法人の申告データは複数の年度の データを同じコレクションに保存出来る
9.
XPath と Dot
Notation ● Xpath /data/client[clientId = “15138”]/clientCode ● Dot Notation db.client.fnd({“data.client.clientId.#text” : “15138”}, {“data.client.clientCode” : 1})
10.
Tips(1) XML のドキュメントと関係しているものをなるべく同じコレクシ ョンに入れるとクエリの数を減らせる( JOIN
はない) { “_id” : ObjectId(“511c7e016796c903affd1837”), “XMLDataKey” : “XMLData”, “RelatedDataKey1” : “RelatedData1”, “RelatedDataKey2” : “RelatedData2”, “RelatedDataKey3” : “RelatedData3”, … “Metadata1Key” : “Metadata1”, “Metadata2Key” : “Metadata2”, “Metadata3Key” : “Metadata3”, ... }
11.
Tips (2) BSON/JSON Layer
- Internal Common Data Layer – Individual Data Layer Individual Data 1 Individual Data 2 Individual Data 3 Internal Common Data XML Data Other Data BSON/JSON
12.
Tips( 3 ) ●
XML データは基本2種類ある ● スキーマが定義されているもの: モデルクラスをライブ ラリなどで生成する ● スキーマが定義されていないもの: オブジェクト => XML => JSON/BSON ( XStream など)
13.
コグラフ株式会社は、 利用者の側に立ったソフトウェアサービスのご提供を通じて
世界中の人々や社会の発展に貢献します ご連絡先 TEL: 03-5340-7450 E-Mail: a@cograph.com
Download now