More Related Content
PDF
PDF
PDF
PDF
PPTX
Databricksを初めて使う人に向けて.pptx PPTX
ビッグデータ処理データベースの全体像と使い分け
2018年version PDF
PDF
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining What's hot
PDF
PDF
PDF
PDF
PDF
PDF
Dockerfile を書くためのベストプラクティス解説編 PDF
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~ PPTX
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~ PDF
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa... PDF
PPTX
PDF
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ PDF
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」 PPTX
PDF
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料) PDF
テストとリファクタリングに関する深い方法論 #wewlc_jp PDF
アーキテクチャから理解するPostgreSQLのレプリケーション Similar to 月間10億pvを支えるmongo db
PPT
PPT
PDF
PDF
PDF
DOC
DOC
PDF
CasualなMongoDBのサービス運用Tips PDF
DB tech showcase: 噂のMongoDBその用途は? PDF
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編) PDF
PPT
PPTX
PDF
データベース勉強会 In 広島 mongodb PDF
PDF
PDF
PPT
PDF
MongoDBではじめるカジュアルなタイムラインシステム PDF
月間10億pvを支えるmongo db
- 1.
- 2.
- 3.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
user = newmongoose.Schema
first: {type: String, required: true, index: true}
last: {type: String, required: true, index: true}
city: {type: String, required: true, index: true}
...
created_at: {type: Date, default: Date.now, index: true}
書き込みが犠牲になっても読み込みが早ければいいじゃん!
Before
- 17.
user = newmongoose.Schema
first: {type: String, required: true}
last: {type: String, required: true}
city: {type: String, required: true}
...
created_at: {type: Date, default: Date.now, index: true}
書き込みが犠牲になっても読み込みが早ければいいじゃん!
After
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
Schema Design atScale
http://www.mongodb.com/presentations/schema-design-scale-1
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
without
db.col.update({_id: 1}, {$push:{data: {x: 151, y: 100, ...}});
db.col.update({_id: 1}, {$push: {data: {x: 151, y: 179, ...}});
db.col.update({_id: 1}, {$push: {data: {x: 151, y: 266, ...}});
db.col.update({_id: 1}, {$push: {data: {x: 151, y: 295, ...}});
db.col.update({_id: 1}, {$push: {data: {x: 151, y: 322, ...}});
db.col.update({_id: 1}, {$push: {data: {x: 151, y: 333, ...}});
db.col.update({_id: 1}, {$push: {data: {x: 151, y: 340, ...}});
...
- 37.
db.col.insert({data: [
{x: 151,y: 100, ...}, {x: 151, y: 179, ...},
{x: 151, y: 266, ...}, {x: 151, y: 295, ...},
{x: 151, y: 322, ...}, {x: 151, y: 333, ...},
{x: 151, y: 340, ...}, ...
]});
with
- 38.
- 39.
db.col.insert([
{first: Yuji ,last: Isobe , city: Osaka },
{first: Yuji , last: Isobe , city: Tokyo }
]);
使い方
var bulk = db.col.intializeOrderedBulkOp()
bulk.find({first: Yuji })
.updateOne({$set: {city: Tokyo }});
Bulk Inserts
Bulk Operations From 2.6.0
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
r3.2xlarge
-> vCPU: 8
->Memory: 61GiB
-> SSD: 160GB
-> Cost: $0.840 per Hour
i2.2xlarge
-> vCPU: 8
-> Memory: 61GiB
-> SSD: 800GB x 2
-> Cost: $2.001 per Hour
主に使用しているインスタンス
- 53.
- 55.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.