SlideShare une entreprise Scribd logo
1  sur  74
Télécharger pour lire hors ligne
MongoDB



                   Masakazu Matsushita
                           @matsukaz
2011   7   28
•              @matsukaz

                •
                • Ameba Pico
                • DevLOVE
2011   7   28
2011   7   28
Ameba Pico
       •
       • 2010   3




2011   7   28
(2011   7   )

       •             390    MAU 60

       • 10     20

       •        3:7

       •
2011   7   28
2011   7   28
• MongoDB
                • Ameba Pico
                • MongoDB
2011   7   28
MongoDB


2011   7   28
Document-oriented storage
       •
       • BSON                       (Binary JSON)
                > db.users.save( { name : "hoge", age : 20 } )
                > db.users.save( { name : "fuga" } )

                > db.users.find()
                { "_id" : ObjectId("4d6b7ef5934c0000000053a4"),
                      "name" : "hoge", "age" : 20 }
                { "_id" : ObjectId("4d6b7f06934c0000000053a5"),
                      "name" : "fuga" }
2011   7   28
Full Index Support
       •
                Index

       • Unique Index         Index




2011   7   28
Replication
       • ReplicaSet
                                mongod
                               Member 1
                              (PRIMARY)




                    mongod                    mongod
                   Member 2                  Member 3
                (SECONDARY)               (SECONDARY)




2011   7   28
Replication
       • ReplicaSet
                              mongod
                             Member 1
                             (DOWN)




                   mongod                   mongod
                  Member 2                 Member 3
                 (PRIMARY)              (SECONDARY)




2011   7   28
Replication
       • ReplicaSet
                                 mongod
                                Member 1
                             (RECOVERING)




                   mongod                       mongod
                  Member 2                     Member 3
                 (PRIMARY)                  (SECONDARY)




2011   7   28
Replication
       • ReplicaSet
                                 mongod
                                Member 1
                             (SECONDARY)




                   mongod                      mongod
                  Member 2                    Member 3
                 (PRIMARY)                 (SECONDARY)




2011   7   28
Auto-Sharding
       •                            Shard Key
                Shard 1

                 users

                   name1    name2    name3

                   name4    name5    name6

                   name7    name8    name9


                 items
                    item1   item2    item3



2011   7   28
Auto-Sharding
       •                            Shard Key
                Shard 1                         Shard 2

                 users

                   name1    name2    name3

                   name4    name5    name6

                   name7    name8    name9


                 items
                    item1   item2    item3



2011   7   28
Auto-Sharding
       •                            Shard Key
                Shard 1                         Shard 2

                 users                           users

                   name1    name2    name3         name7   name8    name9

                   name4    name5    name6

                   name7    name8    name9


                 items
                    item1   item2    item3                             Chunk
                                             (Shard Key            Range)
2011   7   28
Auto-Sharding
       •                               Shard Key
                Shard 1                                  Shard 2

                 users                                    users

                   name1       name2    name3               name7    name8     name9

                   name4       name5    name6


                 items                                    mongos
                    item1      item2    item3



                     client
                      client                    mongos                       mongoc
                                                             Shard
2011   7   28
Ameba Pico



2011   7   28
2011            1                               Shard 1
                                                                                         mongoc
                                                          mongos
                                                          mongod         mongod          mongod

                                                Shard 2
   Web                     Socket                         mongos                         mongoc
                                                          mongod         mongod          mongod

                                                Shard 3
                                                          mongos                         mongoc
                                                          mongod         mongod          mongod
                           (memcached)




     LB             ID/Point/
  (HAProxy)                          MySQL
EC2
           m2.2xlarge (Mem 34.2GB / 13 EC2CU)
           c1.xlarge (Mem 7GB / 20 EC2CU)
           m1.large (Mem 7.5GB / 4 EC2CU)
           c1.medium (Mem 1.7GB / 5 EC2CU)
           m1.small (Mem 1.7GB / 1 EC2CU)        EBS      S3       CloudFront     Elastic MapReduce
2011   7   28
2011            3                               Shard 1
                                                                                         mongoc
                                                          mongos
                                                          mongod         mongod          mongod

                                                Shard 2
   Web                     Socket                         mongos                         mongoc
                                                          mongod         mongod          mongod

                                                Shard 3
                                                          mongos                         mongoc
                                                          mongod         mongod          mongod
                           (memcached)
                                                Shard 4
                                                          mongos
                                                          mongod         mongod          mongod

     LB             ID/Point/
  (HAProxy)                          MySQL
EC2
           m2.2xlarge (Mem 34.2GB / 13 EC2CU)
           c1.xlarge (Mem 7GB / 20 EC2CU)
           m1.large (Mem 7.5GB / 4 EC2CU)
           c1.medium (Mem 1.7GB / 5 EC2CU)
           m1.small (Mem 1.7GB / 1 EC2CU)        EBS      S3       CloudFront     Elastic MapReduce
2011   7   28
2011            5                               Shard 1
                                                                                         mongoc
                                                          mongos
                                                          mongod         mongod          mongod

                                                Shard 2
   Web                     Socket                         mongos                         mongoc
                                                          mongod         mongod          mongod

                                                Shard 3
                                                          mongos                         mongoc
                                                          mongod         mongod          mongod
                           (memcached)
                                                Shard 4
                                                          mongos
                                                          mongod         mongod          mongod

     LB             ID/Point/                   Shard 5
  (HAProxy)                          MySQL
                                                          mongod         mongod          mongod
EC2
           m2.2xlarge (Mem 34.2GB / 13 EC2CU)   Shard 6
           c1.xlarge (Mem 7GB / 20 EC2CU)
           m1.large (Mem 7.5GB / 4 EC2CU)                 mongod         mongod          mongod
           c1.medium (Mem 1.7GB / 5 EC2CU)
           m1.small (Mem 1.7GB / 1 EC2CU)        EBS      S3       CloudFront     Elastic MapReduce
2011   7   28
2011            7                                Shard 1
                                                                                          mongoc
                                                           mongod         mongod          mongod

           mongos               mongos           Shard 2
   Web                     Socket                                                         mongoc
                                                           mongod         mongod          mongod

                                                 Shard 3
           mongos                                                                         mongoc
                                                           mongod         mongod          mongod
                           (memcached)
                                                 Shard 4

                                                           mongod         mongod          mongod

     LB             ID/Point/                    Shard 5
  (HAProxy)                              MySQL
                                                           mongod         mongod          mongod
EC2
           m2.2xlarge (Mem 34.2GB / 13 EC2CU)    Shard 6
           c1.xlarge (Mem 7GB / 20 EC2CU)
           m1.large (Mem 7.5GB / 4 EC2CU)                  mongod         mongod          mongod
           c1.medium (Mem 1.7GB / 5 EC2CU)
           m1.small (Mem 1.7GB / 1 EC2CU)         EBS      S3       CloudFront     Elastic MapReduce
2011   7   28
MongoDB



2011   7   28
2011 2


2011   7   28
2011   7   28
2011   7   28
mongod
                Repair

2011   7   28
2011   7   28
2011   7   28
2011 3


2011   7   28
Shard

2011   7   28
2011   7   28
2011   7   28
2011   7   28
2011   7   28
http://www.flickr.com/photos/andreasmarx/190619661/
2011   7   28
6



2011   7   28
2011 5


2011   7   28
Shard
                2

2011   7   28
OFF

2011   7   28
MongoDB

2011   7   28
2011   7   28
2011   7   28
2011   7   28
2   Shard



2011   7   28
2011   7   28
2011   7   28
2011 6


2011   7   28
mongos

2011   7   28
2011   7   28
2011 7


2011   7   28
MongoDB


                1.6.5 → 1.8.2

2011   7   28
2011   7   28
2011   7   28
chunk


                    chunk

2011   7   28
http://www.flickr.com/photos/madhorse5/415958992/
2011   7   28
2011   7   28
4   Shard



2011   7   28
2011   7   28
2011   7   28
2011   7   28
2011   7   28
2011   7   28
2011   7   28
2011   7   28
Shard 2
       EC2


2011   7   28
30
       Repair

2011   7   28
2011   7   28
mongod
                1

2011   7   28
2011   7   28
2011   7   28
2011   7   28
2011   7   28

Contenu connexe

Tendances

MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
ippei_suzuki
 
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
LIFULL Co., Ltd.
 

Tendances (20)

今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
 
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
 
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
 
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-
 
MongoDBの監視
MongoDBの監視MongoDBの監視
MongoDBの監視
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as Code
 

Plus de Masakazu Matsushita

海外向けサービスの苦労話
海外向けサービスの苦労話海外向けサービスの苦労話
海外向けサービスの苦労話
Masakazu Matsushita
 

Plus de Masakazu Matsushita (20)

It's up to you 〜 楽しさドリブンで歩んだ道 〜
It's up to you 〜 楽しさドリブンで歩んだ道 〜It's up to you 〜 楽しさドリブンで歩んだ道 〜
It's up to you 〜 楽しさドリブンで歩んだ道 〜
 
スタートアップで培ったアーキテクチャ設計ノウハウ
スタートアップで培ったアーキテクチャ設計ノウハウスタートアップで培ったアーキテクチャ設計ノウハウ
スタートアップで培ったアーキテクチャ設計ノウハウ
 
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
全世界6,500万DL突破!ヒットゲームを作り上げたチームの道のり
 
EFS利用事例 -Craft Warriorsのバトルを支える仕組み-
EFS利用事例 -Craft Warriorsのバトルを支える仕組み-EFS利用事例 -Craft Warriorsのバトルを支える仕組み-
EFS利用事例 -Craft Warriorsのバトルを支える仕組み-
 
TranslimitにおけるAWS活用術
TranslimitにおけるAWS活用術TranslimitにおけるAWS活用術
TranslimitにおけるAWS活用術
 
Interactive buttonsを利用したbotをつくってみた
Interactive buttonsを利用したbotをつくってみたInteractive buttonsを利用したbotをつくってみた
Interactive buttonsを利用したbotをつくってみた
 
ダブルCTO
ダブルCTOダブルCTO
ダブルCTO
 
Brain Dots at dots. - Brain Dotsのアーキテクチャ -
Brain Dots at dots. - Brain Dotsのアーキテクチャ -Brain Dots at dots. - Brain Dotsのアーキテクチャ -
Brain Dots at dots. - Brain Dotsのアーキテクチャ -
 
BrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたちBrainWarsを支えるAWSサービスたち
BrainWarsを支えるAWSサービスたち
 
TranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたちTranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたち
 
BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)
BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)
BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)
 
1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャ1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャ
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
 
いつやるの?Git入門
いつやるの?Git入門いつやるの?Git入門
いつやるの?Git入門
 
カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明
 
ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例
 
海外向けサービスの苦労話
海外向けサービスの苦労話海外向けサービスの苦労話
海外向けサービスの苦労話
 
The Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal LandThe Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal Land
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

Mongo DBを半年運用してみた

  • 1. MongoDB Masakazu Matsushita @matsukaz 2011 7 28
  • 2. @matsukaz • • Ameba Pico • DevLOVE 2011 7 28
  • 3. 2011 7 28
  • 4. Ameba Pico • • 2010 3 2011 7 28
  • 5. (2011 7 ) • 390 MAU 60 • 10 20 • 3:7 • 2011 7 28
  • 6. 2011 7 28
  • 7. • MongoDB • Ameba Pico • MongoDB 2011 7 28
  • 9. Document-oriented storage • • BSON (Binary JSON) > db.users.save( { name : "hoge", age : 20 } ) > db.users.save( { name : "fuga" } ) > db.users.find() { "_id" : ObjectId("4d6b7ef5934c0000000053a4"), "name" : "hoge", "age" : 20 } { "_id" : ObjectId("4d6b7f06934c0000000053a5"), "name" : "fuga" } 2011 7 28
  • 10. Full Index Support • Index • Unique Index Index 2011 7 28
  • 11. Replication • ReplicaSet mongod Member 1 (PRIMARY) mongod mongod Member 2 Member 3 (SECONDARY) (SECONDARY) 2011 7 28
  • 12. Replication • ReplicaSet mongod Member 1 (DOWN) mongod mongod Member 2 Member 3 (PRIMARY) (SECONDARY) 2011 7 28
  • 13. Replication • ReplicaSet mongod Member 1 (RECOVERING) mongod mongod Member 2 Member 3 (PRIMARY) (SECONDARY) 2011 7 28
  • 14. Replication • ReplicaSet mongod Member 1 (SECONDARY) mongod mongod Member 2 Member 3 (PRIMARY) (SECONDARY) 2011 7 28
  • 15. Auto-Sharding • Shard Key Shard 1 users name1 name2 name3 name4 name5 name6 name7 name8 name9 items item1 item2 item3 2011 7 28
  • 16. Auto-Sharding • Shard Key Shard 1 Shard 2 users name1 name2 name3 name4 name5 name6 name7 name8 name9 items item1 item2 item3 2011 7 28
  • 17. Auto-Sharding • Shard Key Shard 1 Shard 2 users users name1 name2 name3 name7 name8 name9 name4 name5 name6 name7 name8 name9 items item1 item2 item3 Chunk (Shard Key Range) 2011 7 28
  • 18. Auto-Sharding • Shard Key Shard 1 Shard 2 users users name1 name2 name3 name7 name8 name9 name4 name5 name6 items mongos item1 item2 item3 client client mongos mongoc Shard 2011 7 28
  • 20. 2011 1 Shard 1 mongoc mongos mongod mongod mongod Shard 2 Web Socket mongos mongoc mongod mongod mongod Shard 3 mongos mongoc mongod mongod mongod (memcached) LB ID/Point/ (HAProxy) MySQL EC2 m2.2xlarge (Mem 34.2GB / 13 EC2CU) c1.xlarge (Mem 7GB / 20 EC2CU) m1.large (Mem 7.5GB / 4 EC2CU) c1.medium (Mem 1.7GB / 5 EC2CU) m1.small (Mem 1.7GB / 1 EC2CU) EBS S3 CloudFront Elastic MapReduce 2011 7 28
  • 21. 2011 3 Shard 1 mongoc mongos mongod mongod mongod Shard 2 Web Socket mongos mongoc mongod mongod mongod Shard 3 mongos mongoc mongod mongod mongod (memcached) Shard 4 mongos mongod mongod mongod LB ID/Point/ (HAProxy) MySQL EC2 m2.2xlarge (Mem 34.2GB / 13 EC2CU) c1.xlarge (Mem 7GB / 20 EC2CU) m1.large (Mem 7.5GB / 4 EC2CU) c1.medium (Mem 1.7GB / 5 EC2CU) m1.small (Mem 1.7GB / 1 EC2CU) EBS S3 CloudFront Elastic MapReduce 2011 7 28
  • 22. 2011 5 Shard 1 mongoc mongos mongod mongod mongod Shard 2 Web Socket mongos mongoc mongod mongod mongod Shard 3 mongos mongoc mongod mongod mongod (memcached) Shard 4 mongos mongod mongod mongod LB ID/Point/ Shard 5 (HAProxy) MySQL mongod mongod mongod EC2 m2.2xlarge (Mem 34.2GB / 13 EC2CU) Shard 6 c1.xlarge (Mem 7GB / 20 EC2CU) m1.large (Mem 7.5GB / 4 EC2CU) mongod mongod mongod c1.medium (Mem 1.7GB / 5 EC2CU) m1.small (Mem 1.7GB / 1 EC2CU) EBS S3 CloudFront Elastic MapReduce 2011 7 28
  • 23. 2011 7 Shard 1 mongoc mongod mongod mongod mongos mongos Shard 2 Web Socket mongoc mongod mongod mongod Shard 3 mongos mongoc mongod mongod mongod (memcached) Shard 4 mongod mongod mongod LB ID/Point/ Shard 5 (HAProxy) MySQL mongod mongod mongod EC2 m2.2xlarge (Mem 34.2GB / 13 EC2CU) Shard 6 c1.xlarge (Mem 7GB / 20 EC2CU) m1.large (Mem 7.5GB / 4 EC2CU) mongod mongod mongod c1.medium (Mem 1.7GB / 5 EC2CU) m1.small (Mem 1.7GB / 1 EC2CU) EBS S3 CloudFront Elastic MapReduce 2011 7 28
  • 24. MongoDB 2011 7 28
  • 25. 2011 2 2011 7 28
  • 26. 2011 7 28
  • 27. 2011 7 28
  • 28. mongod Repair 2011 7 28
  • 29. 2011 7 28
  • 30. 2011 7 28
  • 31. 2011 3 2011 7 28
  • 32. Shard 2011 7 28
  • 33. 2011 7 28
  • 34. 2011 7 28
  • 35. 2011 7 28
  • 36. 2011 7 28
  • 38. 6 2011 7 28
  • 39. 2011 5 2011 7 28
  • 40. Shard 2 2011 7 28
  • 41. OFF 2011 7 28
  • 42. MongoDB 2011 7 28
  • 43. 2011 7 28
  • 44. 2011 7 28
  • 45. 2011 7 28
  • 46. 2 Shard 2011 7 28
  • 47. 2011 7 28
  • 48. 2011 7 28
  • 49. 2011 6 2011 7 28
  • 50. mongos 2011 7 28
  • 51. 2011 7 28
  • 52. 2011 7 2011 7 28
  • 53. MongoDB 1.6.5 → 1.8.2 2011 7 28
  • 54. 2011 7 28
  • 55. 2011 7 28
  • 56. chunk chunk 2011 7 28
  • 58. 2011 7 28
  • 59. 4 Shard 2011 7 28
  • 60. 2011 7 28
  • 61. 2011 7 28
  • 62. 2011 7 28
  • 63. 2011 7 28
  • 64. 2011 7 28
  • 65. 2011 7 28
  • 66. 2011 7 28
  • 67. Shard 2 EC2 2011 7 28
  • 68. 30 Repair 2011 7 28
  • 69. 2011 7 28
  • 70. mongod 1 2011 7 28
  • 71. 2011 7 28
  • 72. 2011 7 28
  • 73. 2011 7 28
  • 74. 2011 7 28