SlideShare a Scribd company logo
業務システムにおける
MongoDB 活用法
Co-graph Inc.
Yoshitaka Mori, Michael Nguyen
講師紹介
{ Name : Yoshitaka Mori / 森 善隆 }
{ Name : Michael Nguyen }
・コグラフ 代表取締役
・プロダクトマネージャー / シニアエンジニア
・ナレッジマネジメント / コラボレーション / マッシュアップ
 / コンテンツ変換 / ブログ / リッチクライアント
・リアルコム / サイバーエージェント / XMLコンソーシアム など
・コグラフ グローバルサービスデベロップメントマネージャー
・シニアエンジニア
・カリフォルニア大学 / 東京工業大学
・サーチ / ナレッジマネジメント / マーケティング
・リアルコム など
業務システムにおけるMongoDB活用法
1. 開発している業務システム
A-SaaS プロジェクト
・会計・税理士事務所と中小企業向けに
・財務、税務、給与、減価償却などのサービスを提供
・クラウド / SaaS / ディザスタリカバリ
・中小企業は無料で利用できる場合もアリ
http://www.a-saas.com/
税務 システムとは
・日本国内で課税される中小企業や個人の税務申告
 データを手軽に作成し、申告するためのシステム
・法人税、消費税、所得税、各種届出など
・法人税240、消費税20、所得税140
・電子申告 or 紙
よく目にする、耳にする、
パソコンからのオンライン税務申告
その中身は、e-Taxといいまして、
データのフォーマットや送受信の仕様が
国税庁により公開されています
業務システムにおけるMongoDB活用法
データのフォーマットは、
XMLスキーマで定義されています。
そのスキーマに基づいたXMLインスタンス
を税務申告データとして、
国税庁のサーバーに送信することで
オンラインの税務申告を実現しています
業務システムにおけるMongoDB活用法
では、A-SaaSプロジェクトで開発する
税務申告システムはどうしたか
では、A-SaaSプロジェクトで開発する
税務申告システムはどうしたか
最終的にXMLでデータを送信(電子申告)
するのであれば、はじめから
そのスキーマを最大限に使おう
業務システムにおけるMongoDB活用法
業務システムにおけるMongoDB活用法
eTax
(BSON)
eTax
(XML)
画面
なぜ MongoDB を採用したのか
選定の際の要件
・大量のXMLを
  まるごと、
  長期間(最低7年)、
  作成された時の状態のままで
 保管できること
 → 10年以上使う覚悟
・仕様が頻繁にかわる、決まっていないことに対応できるか
・十分なI/Oパフォーマンス
・十分な耐障害性、スケーラビリティ
・できれば、無償
業務システムにおけるMongoDB活用法
MongoDB 構成図
・サーバー3台構成
・3-node Replica Set
・V2.0.2(今日現在、近々2.2系に上げる予定)
http://www.mongodb.org/display/DOCS/Replica+Sets+-+Basics
レプリカセットの用途
• データ冗長化
• 自動フェールオーバ/高可用化
• 分散読み込み
• メンテナンスが簡単(一般的なマ
スタスレーブ構成のクラスタに
比べて)
• 障害復旧
MongoDB を採用してみて
データ構造
・e-Tax(XML)がそのまま取り扱える
仕様変更
・ものすごく柔軟に対応できる
開発スピード
・DB/データまわりで頭と労力を使わない分、短期開発を実現。
 改正対応も速攻で(3週間とか)
過去のデータ保管
・過去すべてのデータがそのままの仕様で保管できていて、
 そのバージョン用のプログラムから、いまでも編集が可能。
耐障害性、スケーラビリティ、性能
・困ったことなし。(障害なし、チューニングなし)
これまでの実績
・2011/4/10 最初のリリース(消費税:6帳票)
・その後 2012/10/15までに 42回のリリース(税務のみ)
 ・消費税:6(+2)帳票、改正対応1回、自動計算、会計連動、電子申告対応
 ・法人税:33 + 10(地方税)帳票、改正対応4回、自動計算、
      会計&減価償却連動、電子申告対応
 ・所得税:24帳票、会計&減価償却連動、電子申告対応
 ・その他帳票:18帳票、電子申告対応
Webapp
これまでの実績
✔ 無停止記録更新中(ほぼ、メンテナンスフリーで)
✔ Primary から Secondary への自動切り替りなし
✔ もちろん、Backup からの Restoreもなし
✔ データマイグレーションはたったの5回ほど
✔ 中小企業、個人:5251
✔ 消費税:3190、法人税:1942、所得税:2354
✔ データ量:412MByte
MongoDBまわり
業務システムにおけるMongoDB活用法
2. アプリケーションアーキテクチャ
6. 業務システムでMongoDBを活用する
業務システムで使うメリット
A-SaaSプロジェクトでの実績から
・耐障害性、スケーラビリティが高い環境を簡単に
 構築できて、メンテナンスフリー
・無償
・データモデルの変更が容易
・データマイグレーションの機会が少なくなる、
 過去のデータと共存可能
・性能(困ったことなし)
業務システムで使うには
1. 実績をみる
  http://www.mongodb.org/display/DOCS/Production+Deployments
2. BSONだけど、あまり気にしない
3. サービスをインストール&起動してみる(5分)
  http://www.mongodb.org/downloads
4. ご相談ください
業務システムで使うには
MongoDBは、BSON/JSON を直接操作する
アプリケーション専用のものではなく、
JavaBeanとかXMLデータの保管や、
RDBとの共存も実現できます
また、いまではJPAなどがMongoDBを
サポートしていますので、
よりお手軽にMongoDBを使うことが
できるようになりました。
業務システムで使うには
・対象業務:ミッションクリティカル / OR NOT
・データモデル:硬め / 柔らめ
・仕様変更:少なめ / 多め
・プロセス:ウォータフォール / アジャイル、Iterative
・ドキュメンテーション:ER図 / NO DOCUMENT
 ■■■■■■■■■■■■■■■■■■■■■■■
ミドルウェアにも
コンシューマライゼーションの波?
メリット、デメリット、課題
メリット(実績から)
・耐障害性、スケーラビリティが高い環境を簡単に構築できて、
 メンテナンスフリー
・無償
・データモデルの変更が容易
・データマイグレーションの機会が少なくなる、過去のデータと共存可能
・性能(困ったことなし)
デメリット、課題
・経験のある技術者、アドミニストレータが少ない(MongoDBに限らず)
・SQLよりクエリを書くのに時間がかかった。(データ設計にも依存)
 → 複雑なクエリを簡単に書けるツール
・サーバーが何台もいるの?
 → ホスティングサービス、クラウドの活用
メリット、デメリット、課題
・SQLよりクエリを書くのに時間がかかった。
 → 階層の深いXMLを保存しているため
帳票KOB130をもっていて対象年度が23年である所得税のデータ件数
(削除済みは除く)
→ 階層が深いと
db.incomeTaxProcedure.find({"data.shot:RKO0010-110-
DATA.shot:RKO0010.shot:CONTENTS.shot:KOB130":{$exists:true},
"deleteStatus":{ $ne:2}, "data.shot:RKO0010-110-
DATA.shot:RKO0010.shot:CONTENTS.shot:IT.shot:NENBUN.gen:yy.#text":"23"}).
count();
→ もしフラットだったら
db.incomeTaxProcedure.find({"KOB130":{$exists:true}, "deleteStatus":{ $ne:2},
"NENBUN.yy":"23"}).count();
まとめ
・XMLを多用する業務システムでの
 MongoDBの活用と、その実績
・技術的なTips
・MongoDBを業務システムで使うには
ご清聴いただきありがとうございました!
ご連絡先
TEL: 03-5340-7450 FAX: 03-4333-0357
E-Mail: a@co-graph.com

More Related Content

PDF
JPC2018[E3]NoOps で進める! Microsoft 365 提案のポイント
PDF
[Japan Tech summit 2017] MAI 005
PDF
Microsoft 365 Day 基調講演
PDF
JPC2017 [D2] Windows 10 で実現するデジタルトランスフォーメーションとビジネス機会
PDF
作らずに開発! エクセルから生成! さくっとはじめる情報共有と展開(Oracle Cloudウェビナーシリーズ: 2021年2月4日)
PDF
お客様の使い方事例 001 現場での活用事例
PDF
LLL ASIA 会社・サービス紹介資料 ver2.1
PPTX
吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>
JPC2018[E3]NoOps で進める! Microsoft 365 提案のポイント
[Japan Tech summit 2017] MAI 005
Microsoft 365 Day 基調講演
JPC2017 [D2] Windows 10 で実現するデジタルトランスフォーメーションとビジネス機会
作らずに開発! エクセルから生成! さくっとはじめる情報共有と展開(Oracle Cloudウェビナーシリーズ: 2021年2月4日)
お客様の使い方事例 001 現場での活用事例
LLL ASIA 会社・サービス紹介資料 ver2.1
吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>

What's hot (6)

PDF
JPC2018[C4]働き方改革を強力にサポートする Microsoft 365、おさえておきたい提案のポイント!
PDF
プロジェクトを成功させて豊かな世界に。パラダイスウェア事業計画 201505
PDF
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
PDF
これからのビジネスソリューションの在り方
PPTX
202006 クービック会社紹介(プロダクト)
PPTX
Baseエンジニアイベント 20170516
JPC2018[C4]働き方改革を強力にサポートする Microsoft 365、おさえておきたい提案のポイント!
プロジェクトを成功させて豊かな世界に。パラダイスウェア事業計画 201505
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
これからのビジネスソリューションの在り方
202006 クービック会社紹介(プロダクト)
Baseエンジニアイベント 20170516
Ad

Similar to 業務システムにおけるMongoDB活用法 (20)

PDF
合同会社エンジニアリングマネージメント会社説明資料 2025-05 Engineering Management LLC
PDF
Google のクラウド サービスを利用する前に 注意すべきこと
PDF
W&B webinar finetuning_配布用.pdf
PPTX
PwC - Strategic Sustainability & Innovation Forum - Microsoft の Sustainabilit...
PPTX
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
PDF
AgileJapan 2017 ビジネスアジャイル 匠Methodとスクラム
PDF
リクルートにおけるPaaS活用事例
PPTX
Company Profile 2013 recruit
PDF
Google Cloud Platformのエンタープライズ最新活用事例
PPTX
Relationship betweenddd and mvc
PDF
Ms retail update ra 20191030
PDF
なぜ「マイクロサービス“化”」が必要なのか
PDF
【株式会社PIGNUS】会社概要資料.pdf
PDF
【株式会社PIGNUS】会社概要資料
PDF
6製品1サービスの開発にPortfolio for JIRAを使ってみた
PDF
ピタゴラAPIのすゝめ ー APIの組み合わせ利用でできること -
PDF
ディレクターからみたMovable Type + PowerCMSの優位性
PDF
経営のアジリティを支えるDevOpsと組織
PDF
Spath for enterprise
PDF
【IMJ】オウンドメディアマーケティングの現在と未来 江端浩人(I・CON2014)
合同会社エンジニアリングマネージメント会社説明資料 2025-05 Engineering Management LLC
Google のクラウド サービスを利用する前に 注意すべきこと
W&B webinar finetuning_配布用.pdf
PwC - Strategic Sustainability & Innovation Forum - Microsoft の Sustainabilit...
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
AgileJapan 2017 ビジネスアジャイル 匠Methodとスクラム
リクルートにおけるPaaS活用事例
Company Profile 2013 recruit
Google Cloud Platformのエンタープライズ最新活用事例
Relationship betweenddd and mvc
Ms retail update ra 20191030
なぜ「マイクロサービス“化”」が必要なのか
【株式会社PIGNUS】会社概要資料.pdf
【株式会社PIGNUS】会社概要資料
6製品1サービスの開発にPortfolio for JIRAを使ってみた
ピタゴラAPIのすゝめ ー APIの組み合わせ利用でできること -
ディレクターからみたMovable Type + PowerCMSの優位性
経営のアジリティを支えるDevOpsと組織
Spath for enterprise
【IMJ】オウンドメディアマーケティングの現在と未来 江端浩人(I・CON2014)
Ad

More from Co-graph Inc. (6)

PPTX
ITベンチャー社長が語る!《新時代の採用戦略!》
PPTX
HAL東京インターン生業務成果プレゼン
PDF
[コグラフ]spss modelerによるデータ加工入門
PDF
MongoDB + XSD/XML
PPTX
Watch Your Log!
PPTX
Hadoop cluster setup by using cloudera manager
ITベンチャー社長が語る!《新時代の採用戦略!》
HAL東京インターン生業務成果プレゼン
[コグラフ]spss modelerによるデータ加工入門
MongoDB + XSD/XML
Watch Your Log!
Hadoop cluster setup by using cloudera manager

業務システムにおけるMongoDB活用法