日本語:開発者向けのmongo dbオペレーションガイド
Post on 12-Jul-2015
507 Views
Preview:
TRANSCRIPT
開発者向けのMongoDB運用手順紹介
鈴木いっぺい
• MongoDBのコンセプト
• データモデル
• レプリケーションを通した可用性確保
• シャーディングを通した拡張性
• MongoDBの実装の際のアーキテクチャとオペレーション
アジェンダ
MongoDBのコンセプト
MongoDBとエンタプライズITスタックでの位置づけ
EDWHadoop管理と監視
セキュリティと監査
RDBMS
CRM, ERP, コラボレーション, モバイル, BI
OS & 仮想化, CPU,ストレージ, ネットワーク
RDBMS
アプリケーション
インフラ
データ管理
オンラインデータ オフラインデータ
オペレーショナルDBMSランドスケープ
データモデル
ドキュメントデータモデル
RDB MongoDB
{ first_name: ‘Paul’, surname: ‘Miller’, city: ‘London’, location: [45.123,47.232], cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } }}
フィールドの値
ドキュメントのもつ深いデータ構造
{ first_name: ‘Paul’, surname: ‘Miller’, cell: ‘+447557505611’ city: ‘London’, location: [45.123,47.232], Profession: [banking, finance, trader], cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } }}
フィールドはサブドキュメントに配列を持つ事も可能
フィールド名
フィールドはアレイ(配列)も持つ事が可能
文字列
実数
位置情報
• アジリティとフレキシビリティ
– データモデルがビジネスの変化に対応できる
– 新しい要求に対して迅速に対応可能
• データ表記法法がわかりやすく自然である
– ORMレイヤーを必要としない
– 開発者はよりアプリ開発に専念できる
• テーブルジョイン、ディスク検索が不要
– プログラミングが容易になる
– 大規模でも性能を出せるデータベースシステム
ドキュメントモデルの特長
レプリケーションを通した高い可用性
• ノードの障害の発生は起きる
• フェールオーバー対応(それも夜間の)の回数もシステム成長とともに増加
• ネットワークレイテンシーによるシステムの問題も多い
• データの運用方法の多様化
– 通常のデータ処理
– 高度なデータ分析
何故レプリケーションが必要か?
• レプリカセット:2つ以上のコピー
• 自動修復できるシャード
• 可用性の要求への対応策:– 高いavailability
– 障害対策
– 無停止システムメンテナンス
• 実装モデルの柔軟性
– ユーザに対してローカルアクセスデータを提供
– ワークロードの分離:運用と分析
レプリカセット
ドライバ
プライマリ
セカンダリ
セカンダリ
アプリ
レプリカセットの生成
ノード1 ノード2
ノード3
レプリカセットの初期化
ノード1セカンダリ
ノード3プライマリ
ノード2セカンダリ
ハートビート
レプリケーション
レプリケーション
レプリカセットの障害
ノード1セカンダリ
ノード2セカンダリ
ハートビート
プライマリのエレクション
レプリカセットのフェールオーバー
ノード1セカンダリ
ノード2プライマリ
ハートビート
レプリケーション
Replica Set – Recovery
ノード1セカンダリ
ハートビート
レプリケーション
ノード2プライマリ
ノード3リカバリ
レプリケーション
レプリカセットの回復
ノード1セカンダリ
ハートビート
レプリケーション
ノード2プライマリ
レプリケーション
ノード3セカンダリ
サーディングを通したスケーラビリティ
Working Set Exceeds Physical Memory
MongoDB Architecture
Deployment Architectures & Operations
単一のデータセンタでの実装
• 自動フェールオーバー
• サーバ障害に対応可能
• ラック障害にも対応可能
• レプリカの数がシステムの
耐久性のレベルを上げる
プライマリ – A プライマリ – B プライマリ – C
セカンダリ – A セカンダリ – Aセカンダリ – B
セカンダリ – Bセカンダリ – Cセカンダリ – C
アクティブ/スタンドバイデータセンタ
• サーバ障害、ラック障害への耐久性
• 予備(スタンドバイ)データセンタ
データセンター西海岸
プライマリ – A プライマリ – B プライマリ – C
セカンダリ – Aセカンダリ – B セカンダリ – C
セカンダリ – A セカンダリ – B セカンダリ – C
データセンター東海岸
セカンダリ – B セカンダリ – C セカンダリ – A
アクティブ/スタンドバイデータセンタ
• Tolerates server, rack, data center failures, network partitions
Data Center - West
Primary – A Primary – B Primary – C
Secondary – A Secondary – BSecondary – C
Data Center - East
Secondary – A Secondary – B Secondary – C
Secondary – B Secondary – C Secondary – A
Data Center - Central
Arbiter – A Arbiter – B Arbiter – C
グローバルリード/ローカルライト
プライマリ:NYC
セカンダリ:NYC
プライマリ:LON
プライマリ:SYD
セカンダリ:LON
セカンダリ:NYC
セカンダリ:SYD
セカンダリ:LON
セカンダリ:SYD
グローバルデータ配信
リアルタイム
リアルタイム リアルタイム
リアルタイム
リアルタイム
リアルタイム
リアルタイム
プライマリ
セカンダリ
セカンダリ
セカンダリ
セカンダリ
セカンダリ
セカンダリ
セカンダリ
MongoDB マネジメントサービス(MMS)
• プロビジョン、スケーリング、アッ
プグレード等の操作を自動化
• 表、ダッシュボード、アラートによ
る監視機能の提供。100以上の
データを収集
• バックアップとリストア、さらに特
定日時の指定も可能。シャード環
境もサポート
MongoDB Management Service
MongoDB開発者が提供するMongoDB管理ツール
セキュリティ
階層型のセキュリティアーキテクチャ
ビジネス要件 提供されるセキュリティ機能
認証
データベースとして認証機能を持つ
LDAP*Kerberos*x.509 証明書*
認可(オーソリゼーション)
データベースとしてRBAC機能を持つ
ユーザ設定のロールベースアクセス
フィールド単位のアクセス管理設定
監査
管理者機能*業界別監査要求サポート(HIPAA,等) (パートナー
ベンダーが提供)
暗号化ネットワーク: SSL (FIPS 140-2)*ディスク上: パートナーベンダーが提供
エンタプライズクラスセキュリティ
*MongoDB Enterpriseの機能
管理者向けのリソース
さらに詳細の情報はここから(英語)
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
リソース 場所
top related