MongoDB日本語紹介資料

74
MongoDB の紹介 鈴木逸平

description

MongoDBの日本語のプレゼンテーション資料です。特に導入事例について出来るだけ多くの事例を記載する様、ページを拡張しています。

Transcript of MongoDB日本語紹介資料

Page 1: MongoDB日本語紹介資料

MongoDB の紹介

鈴木逸平

Page 2: MongoDB日本語紹介資料

アジリティ

近年のアプリで最も要求されるデータベースの要件

スケーラビリティ

Page 3: MongoDB日本語紹介資料

MongoDB

ドキュメント型データベース

オープンソース

汎用的な用途

Page 4: MongoDB日本語紹介資料

• 金融サービス事業社のトップ10社

• エレクトロニクス企業のトップ10社

• メディアとエンタテインメント企業のトップ10社

• リテール事業者トップ10社

• テレコム企業のトップ10社

• テクノロジー企業のトップ8社

• 医療関連企業のトップ6社

Fortune 500 & Global 500

Page 5: MongoDB日本語紹介資料

8,000,000+ MongoDB ダウンロード数

最大級のエコシステム

1,000+ 顧客数

600+ 技術/サービスパートナー

35,000+ MongoDB Management Service (MMS) ユーザ

35,000+ MongoDBユーザグループ(日本:約800名)

200,000+ オンライン教育登録者(日本語もサポート)

Page 6: MongoDB日本語紹介資料

MongoDB and Enterprise IT Stack

EDWHadoopRDBMS

RDBMS

CRM, ERP, コラボレーション, モバイル, BIアプリケーション

OS & 仮想化, CPU, ストレージ, ネットワーク

インフラ基盤

オンラインデータ オフラインデータ

管理、運用

データ管理

セキュリティ、コンプライアンス

Page 7: MongoDB日本語紹介資料

*

エンタプライズ企業のIT戦略に於けるMongoDB の位置づけ

レガシー事業 戦略的事業

アプリ オンプレミス SaaS, ソーシャルアプリ

クライアントデバイス PC, ラップトップ モバイル, タブレット

データベース Oracle MongoDB

オフラインデータ Teradata Hadoop

サーバ スケールアップ系サーバ 汎用HW / クラウド

ストレージ SAN ローカルストレージ + クラウド

ネットワーク ルータ、スイッチ SDN

開発手法 ウォータフォール型 アジャイル型(スプリント型)

ハイブリッド IT 戦略

Page 8: MongoDB日本語紹介資料

*

MongoDB 機能セット

• JSON ドキュメントモデル+動的なスキーマ設計/運用

• 自動シャーディングによる水平スケール

• テキスト検索

• アグリゲーションフレームワーク+MapReduce

• フルインデックスサポートとSQLと等しいレベルのクエリー機能

• HA機能として自動レプリケーションサポート

• 高度なセキュリティ機能

• GridFSを利用した大規模データストレージ

Page 9: MongoDB日本語紹介資料

*

MongoDB ビジネス価値

新時代のアプリケーションの開発 顧客満足度の向上

TCOの大幅削減市場に新規アプリを早期導入

Page 10: MongoDB日本語紹介資料

MongoDB ユースケース

ビッグデータ 商品カタログ セキュリティ IoT DBaaS

モバイルアプリ 顧客データ管理

シングルビュー SNS コンテンツ管理

Intelligence Agencies

Top Investment and Retail Banks

Top Global Shipping Company

Top Industrial Equipment Manufacturer

Top Media Company

Top Investment and Retail Banks

Page 11: MongoDB日本語紹介資料

MongoDB 製品、サービス

トレーニング認定制度、トレーニングをオンライン、オフラインで提供

MongoDB マネージメント サービス(MMS)自動化機能、アップグレード、クラウドバックアップ/監視

MongoDBエンタプライズ運用管理プラットホーム、セキュリティ強化、技術サポート、他

コンサルテーション製品サイクルの要所での技術コンサルテーション

プロダクションサポートプロダクション導入システムの技術サポート

開発支援開発チームに対する技術サポート、オンデマンドとレーニング、等

Page 12: MongoDB日本語紹介資料

パートナーに対するサポートまとめ

Page 13: MongoDB日本語紹介資料

For More Information

Resource Location

MongoDB ダウンロード mongodb.com/download

無償オンライントレーニング education.mongodb.com

ウェビナーやイベント mongodb.com/events

ホワイトペーパー mongodb.com/white-papers

ケーススタディ mongodb.com/customers

プレゼンテーション mongodb.com/presentations

ドキュメント docs.mongodb.org

追加情報、他要望は: [email protected]

Resource Location

Page 14: MongoDB日本語紹介資料
Page 15: MongoDB日本語紹介資料

備考

Page 16: MongoDB日本語紹介資料

MongoDB Overview

従業員 400人以上 顧客 1,000社以上

世界13カ所

出資額合計 $231 million2013/10に$150Mの増資、新規に

Salesforce.com, EMC, Red Hat, Intel等の戦略的資本を受ける

Page 17: MongoDB日本語紹介資料

MongoDBの広い採用実績

Page 18: MongoDB日本語紹介資料

Facebook

MongoDBの認知度

LinkedInGoogle

Twitter

Page 19: MongoDB日本語紹介資料

Meetups

MongoDBの認知度

Media Coverage

Page 20: MongoDB日本語紹介資料

リレーショナルデータベースの課題

Page 21: MongoDB日本語紹介資料

データタイプ

• 非構造化データ

• 半構造化データ(XML, JSON等)

• ポリモーフィック型データ

RDBの今日の課題

データボリューム

• ペタバイト級データ

• 数兆規模のレコード数

• 数百万/秒規模のクエリー

アジャイル開発

• イテレーション管理

• 短期開発サイクル

• 新規ワークロード

新規アーキテクチャ

• 水平スケーリング

• 汎用サーバ

• クラウドコンピューティング

Page 22: MongoDB日本語紹介資料

MongoDBによるソリューション

Page 23: MongoDB日本語紹介資料

RDBMS

アジャイル開発

MongoDB

{

_id : ObjectId("4c4ba5e5e8aabf3"),

employee_name: "Dunham, Justin",

department : "Marketing",

title : "Product Manager, Web",

report_up: "Neray, Graham",

pay_band: “C",

benefits : [

{ type : "Health",

plan : "PPO Plus" },

{ type : "Dental",

plan : "Standard" }

]

}

Page 24: MongoDB日本語紹介資料

エンジニア生産性の最適化

1985 2013

インフラコスト

エンジニアコスト

Page 25: MongoDB日本語紹介資料

ストレージコスト低下、開発コスト上昇

GB単位のストレージコスト 開発者のコスト

Page 26: MongoDB日本語紹介資料

データ ローカリティの改善

性能

イン メモリキャッシング

インプレイスアップデート

Page 27: MongoDB日本語紹介資料

• 動的にキャパシティを増強

• 安価で汎用マシン、もしくはクラウドを採用

• 運用の簡易化とコスト削減

スケーラビリティ

自動シャーディング

Page 28: MongoDB日本語紹介資料

• 自動レプリケーションとフェールオーバー

• マルチデータセンタサポート

• 運用管理の簡易化(例:ハードウェア交換等)

• データ耐久性と一貫性

高い可用性

Page 29: MongoDB日本語紹介資料

MongoDB アーキテクチャ

Page 30: MongoDB日本語紹介資料

Morphia

MEAN Stack

Java

Python

Perl

Ruby広い範囲の言語とフ

レームワークのサ

ポート

ドライバーとエコシステム

Page 31: MongoDB日本語紹介資料

MongoDB パートナー (600社以上)

Software & Services

Cloud & Channel ハードウェア

Page 32: MongoDB日本語紹介資料

シャーディングとレプリケーション機能

Page 33: MongoDB日本語紹介資料

MongoDB アーキテクチャ

Page 34: MongoDB日本語紹介資料

MongoDB アーキテクチャ

Page 35: MongoDB日本語紹介資料

MongoDB アーキテクチャ

Page 36: MongoDB日本語紹介資料

セキュリティ アーキテクチャ

Page 37: MongoDB日本語紹介資料

ビジネスニーズ セキュリティ機能

認証

データベース内認証

LDAP*Kerberos*x.509 証明書*

承認

組み込み型アクセス制御

ユーザ定義型アクセス制御

Field-Level Redaction(データマスキング)

監査管理者権限の詳細設定*クエリー機能 (パートナーソリューション経由)

暗号化Network: SSL (FIPS 140-2準拠)*ディスク暗号化: パートナーソリューション

エンタプライズ級セキュリティ

MongoDB Enterpriseに含まれる機能

Page 38: MongoDB日本語紹介資料

Dev/Opsコスト削減

• 使いやすさによる生産性

• アジャイル開発

• 補修工数削減

ハードコスト削減

• 汎用型サーバの採用

• 内蔵ストレージ (SANは不要)• スケールアップ(not Scale up)

ソフトウェア/保守コスト削減

• 初期導入コスト不要

• 利用度に合ったコストの見える化

TCOの低減

Page 39: MongoDB日本語紹介資料

70%以上のコスト削減例

開発/保守コスト

CPU – Scale-Upサーバ

ストレージ - SAN

開発/運用コスト

CPU – Scale-Outサーバ

ストレージ - 汎用機

Page 40: MongoDB日本語紹介資料

MongoDB 製品とサービス

Page 41: MongoDB日本語紹介資料

エンタプライズ戦略判断チェックリスト

検討項目… Yes No

高度なセキュリティ ✓

紹介回復 ✓

システム性能/可用性の監視機能 ✓

ライフサイクル管理の自動化 ✓

レスポンスタイムの保証 ✓

プラットホーム基盤の認定 ✓

Page 42: MongoDB日本語紹介資料

MongoDB Enterprise

Advanced

MongoDB Management Service On-Prem & Cloud

高度なセキュリティ機能 •

オンデマンドトレーニング •

SLA 1 時間

ライセンス 商用ライセンス

Page 43: MongoDB日本語紹介資料

• 100以上の項目を収集し、表や

ダッシュボード上で監視を行う

• バックアップや任意の回復の自

動化、シャーディングクラスタの

サポート

MongoDB Management Service

MongoDB実装環境を管理するサービス群をクラウドで提供

• MMSオンプレミスは、MongoDB Enterpriseに含まれる

Page 44: MongoDB日本語紹介資料

• MongoDBの開発チームによる直接支援

– プロジェクトの詳細を分析

– コンサルテーション中心

– 高度な技術支援

• 2時間 SLA

• 月額、もしくは年間料金を設定

プロダクション運用サポート

「MongoDBの高度な技術サポートのおかげで、従来データベースの運用管理にかかる時間をアプリケーションの開発に集中させる事ができるようになった。」

Reverb Technologies社

Page 45: MongoDB日本語紹介資料

• 開発期間、テスト/QA、カットオフまでの期間をサポート

– サーバ数無制限

– プロフェッショナルサポートを提供

– オンデマンド トレーニング

– MongoDB Enterpriseの拡張機能を利用

– プロダクション運用向けにシステムチェックを実施

– 6か月プロジェクト単位の固定価格設定

開発サポート

Page 46: MongoDB日本語紹介資料

プロダクション切り替え支援

プロダクションに切り替える前に、MongoDBのエキスパートが最終的なチェックを実施します。

コンサルテーション

システムチェック

既存のMongoDBシステムの健康状態を正確に把握します。

スキーマ設計

ドキュメントのスキーマやインデックス設計を通してMongoDBの基本システム設計を確実に実施します。

Technical Account Manager(TAM)のアサイン

定常的に、専任のMongoDBコンサルタントをアサインします。

MongoDBエンジニアによるプロフェッショナルサポート

性能評価とチューニング

MongoDBアプリケーションの性能状況を把握し、それをさらに向上させるためのアドバイスを提供

デザインと設計 テスト/QA プリプロダクション プロダクション運用

Page 47: MongoDB日本語紹介資料

• 必要なテーマに応じてオンサイトでカスタマイズされたトレーニングを提供

• 開発者とDBA向けの内容

• クラスを通してハンズオンのトレーニングを受ける• 開発者、DBA向けのカリキュラム

• クラスは、北米、欧州、アジアにて提供可能

トレーニング

オンラインクラス

プライベートトレーニング

• 開発者やDBA向けの7週間のコース

• 週単位で講義、宿題の後、最終テストを実施

• MongoDB Enterpriseにはオンデマンドトレーニングが含まれます。

• MongoDB開発のノウハウを総合的に高める

• MongoDBの開発者、DBAとしての評価を、認定書を通して明確化

オフライントレーニング

認定制度

Page 48: MongoDB日本語紹介資料

顧客事例

Page 49: MongoDB日本語紹介資料

*

MongoDBを利用してエンタプライズ向けのSNSプラットホームを運用

ケーススタディ

問題 MongoDBを選んだ理由 結果

• 複雑化したSQLコマンド体系、当初のデータモデルで正規化されたスキーマが新しいデータ形式に対応出来ない

• 性能の劣化

• 水平スケーラビリティが出来ない

• JSON採用による動的スキーマ

• 性能を維持しつつ、複雑な新規データも対応出来る

• MapReduceを使ったソーシャルネットワークデータの分析が可能

• 短期間で新規機能をリリース出来る

• データReadが30秒から数十ミリ秒単位に改善

• Write性能が大幅に向上

Page 50: MongoDB日本語紹介資料

*

MongoDBで異なるフォーマットの大量投稿データを管理する

ケーススタディ

問題 MongoDBを選んだ理由 結果

• 異なるデータ構造の投稿を毎日150万個受ける

• MySQLシステムの変更工数が膨大

• プロダクションDBで未処理のデータが大量に蓄積

• 性能低下

• フレキシブルなドキュメントがたデータベースモデル

• 水平スケーラビリティの実現

• 開発が非常に容易

• サポート言語が充実

• 初期導入時は50億個のドキュメントで10TBの容量

• 自動フェールオーバーによる高い可用性

• スキーマ変更が非常に容易で早い

Page 51: MongoDB日本語紹介資料

• 簡単な開発モデル

• フィールドの容易な変更ができる動的なスキーマ

• GridFSを利用し、商品イメージを直接データベースで管理

MongoDBをコンテンツ管理、サプライチェーン情報管理、ログ情報管理に採用

ケーススタディ

問題 MongoDBを選んだ理由 結果

• Oracleのデータ構造の管理にかかるコストの肥大

• サプライチェーンデータはExcelで管理

• 開発サイクルの遅れが新商品の販売遅延の原因に

• 新機能の実装するスピードが早くなる

• ビジネスプロセス、ウェブ上での商品管理とサプライチェーン管理の一元化

• 発注処理とパートナー登用の迅速化

Page 52: MongoDB日本語紹介資料

• 新機能/アプリのリリースにかかる時間の短縮:30分以下

• 新機能追加/実装が簡単に

• 開発者がアプリ開発に集中できる環境(運用管理への時間の大幅削減)

• 使いやすさと他システムとの統合が簡単

• システムリソースの消費が少ない

• ドキュメントモデルによる開発の継続性

• ライセンスモデルの柔軟性

新規プロジェクトにすべてMongoDBをデータベースとして採用

ケーススタディ

問題 MongoDBを選んだ理由 結果

• RDBMSの性能とスケール出来ない問題が表面化

• 運用上のオーバーヘッドが大きすぎる

• 開発者によるコントロールが必要

Page 53: MongoDB日本語紹介資料

• 動的なコンテンツが提供可能に

• TCOを大幅に削減

• 複数のデータベース技術をMongoDBで統合

動的な情報を提供するコンテンツ管理ウェブプラットホームにMongoDBを採用

ケーススタディ

問題 MongoDBを選んだ理由 結果

• 静的なウェブコンテンツ

• 異なる技術故にデータストアが個々に孤立(サイロ化)

• 動的なコンテンツを生成するためにデータ統合が困難

• アジャイル開発環境のサポート

• 使いやすさと管理降雨数が少ない事

• サブスクリプションコストが低い事とハードウェアコストの節約

Page 54: MongoDB日本語紹介資料

*

ロケーション情報をMongoDBで管理したモバイル向けSNSアプリ

ケーススタディ

問題 MongoDBを選んだ理由 結果

• リレーショナル型データはこれ以上スケール出来ない

• チェックインデータの増加率が単独ノードシステムの許容量を超えた

• 独自にシャーディングレイヤーの設計構築の作業見積もりが膨大化

• 自動シャーディングによるスケーリングの向上、急激な成長にも対応

• Geo-indexing機能(位置情報)による高速な検索

• データモデルの単純化

• バックエンド管理中心からモバイルアプリ開発中心に資源をフォーカス

• 少ないリソースで効果的なスケールを実現

• 開発者の生産性の向上

Page 55: MongoDB日本語紹介資料

新機能/サービスの展開にかかる時間とコストをMongoDBにより大幅に削減、収益拡大に寄与

ケーススタディ

• Postgresに統一したアーキテクチャのスケールへのコストが肥大

• 異なるビジネスアプリに対する新機能追加への限界

• サーバへの付加の増減への対応に弱い

• 動的スキーマ機能が新機能開発を格段に容易に

• SOAの徹底

• 水平スケーリングによるコストの大幅な改善

• 使いやすさと管理工数の削減

• 新サービスの提供にかかるスピードが短縮(例:Up-Sell email等)

• 安価なHWで安定した、高速なDB性能を達成

• システムの単純化による管理オーバヘッドの削減

問題 MongoDBを選んだ理由 結果

Page 56: MongoDB日本語紹介資料

• 新機能、サービスの早期導入

• サイト全般に渡り、カスタマイズされソーシャル情報を提供

• ユーザのデータの収集による、ユーザ動向の把握と収益の拡大

MongoDBのID管理機能を採用、ユーザ単位のコンテンツ最適化に適用

ケーススタディ

• 毎月2000万人以上のユニークな訪問者

• RDBのスキーマモデルが、データタイプの変更、新機能追加を困難に

• 開発期間の長期化

• 動的なデータモデルがコンテンツの柔軟性に大きく寄与

• ad hoc queries機能のサポート

• 拡張性の高さ

問題 MongoDBを選んだ理由 結果

Page 57: MongoDB日本語紹介資料

*

SMB向けのアナリティクスサービスをMongoDBでサポート

ケーススタディ

問題 MongoDBを選んだ理由 結果

• 50万以上のウェブサイトを管理

• 10年分のデータ蓄積

• RDBベースシステムはデータ処理に数日かかる

• 性能を維持しながら複雑なデータモデルを管理出来る

• MongoDBへの移行が1週間で完了

• コミュニティの規模が大きく、サポートも強い

• 新機能のリリースが早まった(例:一週間)

• MySQLの2.5倍の性能

• 50万社に対するリアルタイムのデータアナリティクスを高速に提供出来る。

Page 58: MongoDB日本語紹介資料

保険業界大手が“The Wall”と呼ばれる顧客管理アプリを90日で開発、運用開始

ケーススタディ

• 顧客関連情報の一元管理が出来ない、複雑なシステム環境

• 145年分のポリシーデータ、70以上の顧客関連システム、15種類以上のアプリケーション

• 2年間と$2,500万ドルをかけてRDBMSでの統合を図り、失敗

• アジリティ:プロトタイプを5日、プロダクションを90日で完了

• 動的スキーマと高度なクエリー機能:分散されたデータを一つのデータストアに統合

• 新技術の採用による、ITタレントがレガシー企業に集まる。

• コールセンターの生産性の向上

• 顧客サポートの品質向上、顧客離れの防止、アップセルの機会の増大

• 統合されたデータプラットホーム上での積極的なアプリの開発計画

問題 MongoDBを選んだ理由 結果

Page 59: MongoDB日本語紹介資料

• 数百のウェブサイトがJavaベースのCMS上に構築

• 既存のアーキテクチャにCMSが要求するRich documentsが合致しない

• RDBMSに新規データタイプ、テーブルを追加する事により、リード性能が大幅に低下

• 開発がバックエンドストレージではなく、エンドユーザ機能の開発に集中が可能

• システム運用工数が容易に

• プラットホームに対する新規ブランド、コンテンツタイプの追加が容易

MongoDBによる統合データストアを採用、数百に及ぶウェブサイトを運営

ケーススタディ

• 柔軟なスキーマモデル

• 高度なクエリー機能とsecondary index機能のサポート

• レプリケーションの管理とスケールの容易な管理

問題 MongoDBを選んだ理由 結果

Page 60: MongoDB日本語紹介資料

*

クラウドベースのセキュリティサービスでビッグデータアナリティクス機能MongoDBを採用

ケーススタディ

問題 MongoDBを選んだ理由 結果

• 他技術ではスケーラビリティと機能セットが不足

• Hbase/Hadoopでは複雑なクエリーに対応できず

• Luceneではスケーラビリティの問題あり

• 自動シャーディングでスケーラビリティを実現

• 新しいアナリティクス機能の追加容易

• 言語サポートが広い

• Geospatial機能でセキュリティ要件の高い地理的分析も可能

• 水平分散によりスケールが非常に容易

• レイテンシーを1/3に削減

• 動的にスキーマの変更が可能になり、開発者の生産性が大幅に向上

• 市場に対する新しいサービスの投入が迅速

Page 61: MongoDB日本語紹介資料

• 2013年には数百TB、2020年にはPBクラスのデータストアを計画

• 多様なデータタイプで検索できるデータカタログ

• ソフトウェアのライセンスと保守コストの削減

• 世界でも最大級のデータレコードレポジトリ

• SOAへの移行が新規データストアの必要性を生む

• RDBMSではデータ統合と情報サービスの管理が困難

世界最大級のデータレポジトリと検索可能なカタログデータベースをMongoDBで運用

ケーススタディ

• 高性能と容易にスケールする機能

• クエリー言語のフルサポート

• 複雑なメタデータを容易に管理

問題 MongoDBを選んだ理由 結果

Page 62: MongoDB日本語紹介資料

*

700万に及ぶウェブ+モバイルユーザに対して広範囲のコンテンツやユーザサービスを管理し提供

ケーススタディ

問題 MongoDBを選んだ理由 結果

• MySQLがスケーラビリティの上限に達し、性能要件に対応出来なくなった

• リレーショナル型ではメタデータ管理の要件に対応困難

• 外部データソースの統合が困難

• 性能

• スケーラビリティと可用性

• 60億に及ぶ属性情報データを削除、変わりに1コンテンツ=1ドキュメントの構造を導入

• 一秒に11万5,000以上のクエリーに対応

• 3年で£2M以上の節約

• 「新規機能の導入が著しく早まった」

• 新規プロジェクトは全てMongoDBがデフォルト選択となる方針

Page 63: MongoDB日本語紹介資料

• ゲームの性能とユーザエクスペリエンスの向上

• サーバコストの削減

• 市場への新規ゲーム投入スピードの向上

• 広い範囲に適用できる柔軟性の高いデータモデル

• 汎用サーバ上でレプリカセットを採用する事による高い可用性

• MongoDBコミュニティの規模と技術力

数百万ユーザのソーシャル ゲーミング プラットホームにMongoDBを採用

ケーススタディ

• レガシーMySQL環境が開発効率、スケーラビリティに制限

• リアルタイム分析を扱えるデータベースの必要性が発生

• サーバの無為な増大

問題 MongoDBを選んだ理由 結果

Page 64: MongoDB日本語紹介資料

• サプライヤーのオンボード工数を12分の1に削減

• 12ヶ月の間に40万のレコードが4,000万に増大

• スキーマ設計工数、アプリ開発工数、ストレージ管理の大幅なコスト削減

リテール業界に対して自動化されたサプライチェーンサービスをMongoDBで構築

ケーススタディ

• RDBMSでは多様化するデータタイプの対応が今年(例:SKU, イメージ)

• RDBMの効率の悪さが露見(例:90%の列が空欄)

• 複雑なジョインが性能に悪影響

• ドキュメントモデルによる容易なプログラミング

• 単一のデータストアで、構造かデータ、半構造化データ、非構造化データを管理

• スケーラビリティと可用性

• MapReduceと組み合わせたデータ分析機能

問題 MongoDBを選んだ理由 結果

Page 65: MongoDB日本語紹介資料

*

MongoDBを利用してソーシャルマーケティングサービスのリアルタイム分析機能を提供

ケーススタディ

問題 MongoDBを選んだ理由 結果

• RDBMSでは大量のオンライントラフィック要求に対して性能/スケール面で対応不可能

• リアルタイムのアナリティクスやデータアグリゲーションが不可能

• 予期出来ないピークとラッフィクが発生

• 使い方が簡単、開発者のトレーニングが早い

• 機能が充実、フェールオーバ等エンタプライズ要件に対応

• Writeヘビーなアプリでの安定性能

• アプリレイヤーでサーチが可能

• アプリ開発工数が数ヶ月から数週間に大幅短縮

• MongoDB上で3000万個のソーシャルイベントを管理

• 一年でサポート顧客数を6倍に増加

Page 66: MongoDB日本語紹介資料

• MongoDB-firstポリシーの徹底

• 12TB以上のデータを毎月生成

• 性能の向上と同時にディスク消費の削減

• インフラをシンプルにする事でコスト削減、開発リソースをアプリに専念

リアルタイムのサーバ/ウェブサイト監視ソリューションをMongoDBで構築

ケーススタディ

• 数千/秒規模のリクエスト性能がシステム要求

• MySQLでは、サーバ毎に数百万行のデータが毎月発生

• MySQLのレプリケーション機能を使うとスケールしない

• 汎用性の高いデータベース技術

• 高速なWriteスループット

• 性能を維持しながらスケールが可能

• レプリケーションと自動フェールオーバ機能が使いやすい

• PHPとPythonドライバーの整備

問題 MongoDBを選んだ理由 結果

Page 67: MongoDB日本語紹介資料

• シャーディングと組み合わせた水平スケーリング

• レプリカセットを利用した高い可用性

• 個別のキャッシング層を分離する事無くMemory-mappedアーキテクチャによるコンテンツ処理

低レイテンシー、高機能な翻訳管理プラットホームをMongoDBで構築

ケーススタディ

• MySQL性能の低下とメンテナンスコスト増大

• MySQLのスケールの工数が大

• 高速な非同期ストレージと速いRead性能要求

• 簡素化されたスケーリングと高性能システムを維持できるアーキテクチャ

• 開発者の生産性を大幅に向上

• システムの稼働時間の向上

問題 MongoDBを選んだ理由 結果

Page 68: MongoDB日本語紹介資料

• 開発の生産性の大幅向上

• 取り扱い商品数を500万から1億個に最小限の労力で増加

• 商品情報のインポート工数を90%削減

• 多様な商品を取り扱える、柔軟なデータモデル

• グローバル展開可能なスケーラビリティ

• 保守コストが低い

• 新機能やデータ追加時でも安定した性能を保持

• MySQLでは急激な成長に対応できず

• MySQLの性能維持のために大幅な改造が必要

• データベースのメンテナンス工数がアプリ開発のリソースを消費

1億個の商品と3万のブランドを保有するソーシャルeコマースアプリをMongoDBで構築

ケーススタディ

問題 MongoDBを選んだ理由 結果

Page 69: MongoDB日本語紹介資料

*

MongoDBを使って、60億個のイメージデータを数百万人のユーザに対して提供

ケーススタディ

問題 MongoDBを選んだ理由 結果

• 60万枚のイメージ情報、データ量は20TB

• Oracleデータベース上に複雑なアプリを構築、スケール、機能追加が困難

• ソフトウェアとハードゥエアのコストが高い

• JSONベースのデータモデル

• アジャイル、高速、スケーラブル

• ShutterflyのサービスベースアーキテクチャがMongoDBと一致

• 80%のコスト削減

• 900% 性能改善

• 市場への早期導入が可能

• 開発サイクルが数ヶ月から数週間短縮

Page 70: MongoDB日本語紹介資料

• ミリ秒/日単位レイテンシー要求に対応可能なシステム

• クエリー単位のコストを低減

• リアルタイムでTB級のデータの運用管理が可能に

• リアルタイムでBidding処理を行うために工学なSQLベースシステムに投資

• 大量のボリュームのデータ管理とクエリー処理のニーズ

• データベーススキーマの変更が多発

MongoDBを使ったリアルタイムの広告提供プラットホーム

ケーススタディ

• 動的なスキーマ管理機能が開発を容易に

• 大量のデータ処理を低いレーテンシーで運用できるスケーラビリティ

• MMSによる、システム監視の可視化

問題 MongoDBを選んだ理由 結果

Page 71: MongoDB日本語紹介資料

• 使い安さと柔軟なデータモデル

• 協力なインデックスとアドホッククエリー機能、さらにMapReduceの統合

• レプリカセット機能による高い可用性

• 従来システムはHBaseを採用、特定のデータモデルにロックインされ、異なるデータセット間の連携が困難

• マスタ/スレーブのシステム構造が障害への柔軟性を欠いていた

• 一日に100万件の投稿処理要求

ソーシャルメディアモニタリングと推奨エンジンのデータベースのフレームワークにMongoDBを採用

ケーススタディ

• クエリー機能と動的スキーマ機能がより高度な推奨エンジンの機能を引き出す

• 障害は数時間内に解決(従来は数日かかった)

• システムの稼働率が大幅に改善

問題 MongoDBを選んだ理由 結果

Page 72: MongoDB日本語紹介資料

• 既存のeコマースサイトの古いアーキテクチャ故に機能の制限が問題に

• 使い勝手の問題

• SQLデータベースのスケーラビリティの問題

8ヶ月足らずでMongoDBベースのeコマースプラットホームを構築、運用開始

ケーススタディ

• 複数のデータセンタ間でのデータベース同期の自動化による障害回復機能、さらにシャーディング機能によるスケーラビリティ

• 動的なスキーマ

• 高性能(Read/Write共に)

• 開発能力の向上

• 新規サービスの市場投入時間の短縮

• データベース技術が今日のハイペースな事業戦略に合致

• サポート面等、が優れている

問題 MongoDBを選んだ理由 結果

Page 73: MongoDB日本語紹介資料

3.5TBのデータを保有するリアルタイム辞書を運用するコアエンジンにMongoDBを採用

ケーススタディ

• MySQLによる性能の限界

• 大量のデータ運用でDB 障害が多発

• DBインサート作業に数十秒のテーブルロック

• 簡易なデータ管理、R/W

• 性能を出すためのMemcachedはもはや必要なくなった:2Mリクエスト/秒、8,000ワードインサート/秒

• スケールアウト機能によるシステムの拡張性

• システム停止せず、一日で、50億個のレコードをMongoDBに移行

• プログラムコード75%削減

• ドキュメントメタデータのReadが30msから0.1msに短縮

• サーバコストを15%削減する等、コスト低減に成功

問題 MongoDBを選んだ理由 結果

Page 74: MongoDB日本語紹介資料

• リアルタイムでマーケティングデータの分析を行うニーズ

• DBエンジンにSQL、MapReduceを採用するも、リアルタイム性に欠け、スケーラビリティにも課題

マーケティングソリューションでセルフサービス型のリアルタイム分析にMongoDBを採用

ケーススタディ

• マーケティングキャンペーンを動的にリアルタイムで編集/適用する事が可能

• データベース運用のスケーラビリティ機能が優れている

• 大量のデータを管理する事が可能

• 運用コストの削減

• 1.4億件のデータをスケールアウトできるアーキテクチャで容易に管理

• 最小限の労力で新規機能や性能向上を導入できるデータ管理モデルの柔軟性

問題 MongoDBを選んだ理由 結果