日本語:開発者向けのmongo dbオペレーションガイド

Post on 12-Jul-2015

507 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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