SlideShare a Scribd company logo
1 of 75
Preparing for Peak Holiday Season: 
A Seamless Customer Experience! 
Antoine Girbal 
Principal Solutions Engineer, MongoDB 
@antoinegirbal 
Rebecca Bucnis 
Global Business Architect & Strategist, MongoDB 
@rebeccabucnis
3 Questions for this Session? 
1. How is Peak Season shaping up this year? 
1. How does MongoDB scale to support your business? 
2. How do you capture the holiday Digital Customer 
Experience with MongoDB? 
2
MongoDB Speakers 
3 
About Rebecca: 
Rebecca Bucnis 
Global Business Architect 
- Business Strategy 
- Using data for business value 
- Former Retailer 
Washington, DC 
rebecca.bucnis@mongodb.com 
@rebeccabucnis 
About Antoine: 
Antoine Girbal 
Principal Solutions Engineer 
- Original team of MongoDB 
- Engineer 
- Solution Designer 
Palo Alto, CA 
Antoine.girbal@mongodb.com 
@antoinegirbal
What to expect - Holiday Season 2014 
• Consumers more 
4 
positive 
• Increased spending 
(+25%*) 
• Extended holiday 
buying window (with 
fewer days) starts 6pm 
* From Accenture Holiday Survey Oct 2014 Study on US Consumer Holiday Spending Plans
What to expect - Holiday Season 2014 
• Cyber Monday bigger 
5 
than “Black Friday” 
• Amazon has opened 
“stores” for returns 
• 58%* of shoppers will 
shop with on-line 
retailers only: 
* From Accenture Holiday Survey Oct 2014 Study on US Consumer Holiday Spending Plans
The Opportunity - Holiday Season 2014 
• Consumers want the 
message right (*43% will 
defect when irrelevant) 
• Price, Convenience, 
relevance & entertainment 
• Collect immediate & longer 
term shopping behavior for 
action 
6 
* From Gigya Personalization Study 2014 State of Consumer Privacy & Personalization
The System of Engagement for 
Retail 
• A document model (holds mixed, variant data) 
• Ability to add new & different data (agility) 
• Ability to ask real-time questions based on right 
7 
now update (complex queries & in-place updates) 
• Geo-Location built-in 
• Power of traditional data bases (full consistency, 
durability, atomic operations) 
• Near linear expansion (scaling via sharding) 
• MongoDB is a unique fit for frictionless retail
Use Cases: Modern, Seamless Retail 
8 
“Global Product 360” 
Themes: Up to date product 
details – with minimal down 
time; Images, reviews; 
Vendor and order management;
Use Cases: Modern, Seamless Retail 
9 
Consolidated Customer 
View & Insight 
Themes: Single View of Customer, 
Consumer 360; Activity Capture; 
Profiles for personalization
Technical Deep Dive 
1. Detailed Product Information: 
10 
- Single View of Product Information– Catalog 
2. Real-time Inventory and Fulfillment 
- Real-time Inventory 
- Shopping Carts / Orders 
3. Detailed Customer Views: 
- User Activity Logging 
- Integrating Customer Insights 
4. Monitoring and Scaling 
- What to watch for and how to scale
Architecture Overview 
11 
Information 
Management 
Merchandising 
Content 
Inventory 
Customer 
Channel 
Sales & 
Fulfillment 
Insight 
Social 
Customer 
Channels 
Amazon 
Ebay 
… 
Stores 
POS 
Kiosk 
… 
Mobile 
Smartphone 
Tablet 
Website 
Contact 
Center 
Social 
Facebook 
Twitter 
… 
Application 
Servers 
API 
Data and 
Service 
Integration 
Suppliers 
Supply Chain 
Management 
System 
Data 
Warehouse 
Analytics 
3rd Party 
In Network 
Web 
Servers
Commerce Functional Components 
12 
Customer Enterprise 
Information 
Layer 
Look & Feel 
Navigation 
Customization 
Personalization 
Branding 
Promotions 
Chat 
Ads 
Customer's 
Perspective 
Research 
Browse 
Search 
Select 
Shopping Cart 
Purchase 
Checkout 
Receive 
Track 
Use 
Feedback 
Maintain 
Dialog 
Assist 
Market / Offer 
Guide 
Offer 
Semantic 
Search 
Recommend 
Rule-based 
Decisions 
Pricing 
Coupons 
Sell / Fullfill 
Orders 
Payments 
Fraud 
Detection 
Fulfillment 
Business Rules 
Insight 
Session 
Capture 
Activity 
Monitoring 
Information 
Management 
Merchandising 
Content 
Inventory 
Customer 
Channel 
Sales & 
Fulfillment 
Insight 
Social
Deep Dive: Product Catalog
The many catalogs problem 
14
The many catalogs problem 
1. One department in charge of master product works hard at fitting 
15 
data into SQL tables 
2. Resulting data sits in a SQL server with a couple replicas. It's 
forbidden to hit it more than 100 times / sec 
3. Other departments need to access the data way more often for 
their own services 
4. Other departments need more information that is not available 
since it did not fit in that long devised rigid SQL schema 
5. ETLs and Message Buses are put in place for other teams to try 
figure it out themselves… 
6. Data becomes inconsistent, fragmented, not up-to-date… 
Problem visible both internally and by customers!
The many catalogs problem 
16 
Online Store 
Catalog 
Marketing 
Catalog 
Dozens of catalogs! 
Department 3 
Catalog 
Product Department 
Master 
Catalog 
Department 4 
Catalog 
Department 5 
Catalog 
Department 1 
Catalog 
Message 
Bus 
ETLs
Too many catalogs problem 
17 
How many Catalogs do you have? 
Catalog Caches? 
Message Buses and ETLs for them?
Goal: Single View of Product 
• Single view of a product, one central service 
• Flexible schema containing all useful data 
• Read volume high and sustained, 100k reads / s 
• Can seamlessly take write spikes during catalog 
18 
update 
• Advanced indexing and querying 
• Geographical distribution for HA and low latency
Merchandising - Architecture 
19 
MongoDB Data Store 
Items Pricing Promotions 
Variants 
Ratings & 
Reviews 
Search Engine 
… 
Product Service API 
Online Store Marketing Inventory SCMS Public API …
Models - Overview 
• Item: the overall product info (e.g. Levi’s 501) 
• Variant: a specific variant of an item (e.g. in black size 6) 
20 
which typically has a specific SKU / UPC 
• Price: price information may vary based on the store, the 
variant, etc 
• Hierarchy: the item taxonomy 
• Facet: facets to search products by 
• Vendors: a given sku may be available through several 
vendors if the site is a marketplace
Models - Item Model 
{ "_id": "054VA72303012P", // the item id 
21 
"desc": [ // item descriptions 
{ "lang": "en", "val": "Give your dressy look a lift with ..." }, ... 
], 
"name": "Women's Kate Ivory Peep-Toe Stiletto Heel", 
"category": "/84700/80009/1282094266/1200003270", // hierarchy 
"brand": { "id": "2483510", "img": "http://...", "name": "Metaphor" }, 
"assets": { // references to all assets 
"imgs": [ 
{ "img": { "width": 1900, "height": 1900, "src": "http://..." }, ... 
] 
}, 
"shipping": { // shipping specs }, "specs": { // item specs }, 
"attrs": [ // list of items attributes (facets) 
{ "name": "Heel Height", "value": "High (2-1/2 to 4 in.)" }, 
{ "name": "Toe", "value": "Open toe" }, ... 
], 
"variants": { // quick info on the variants 
"cnt": 9, 
"attrs": [ 
{ "dispType": "DROPDOWN", "name": "Color" }, 
{ "dispType": "DROPDOWN", "name": "Shoe Size" }, ... 
] 
}, 
"lastUpdated": 1400877254787 // keep track of updates }
Product Search – Traditional Architecture 
22 
Product Data Store Product Search 
Indexing 
#1 obtain 
search 
results IDs 
#2 obtain objects by 
ID from cache or DB 
Cache Application 
Pre-joined 
into objects
Product Search – New Architecture 
23 
Product Data Store Product Search 
Indexing 
#1 obtain 
search 
results IDs 
Applications 
#2 obtain 
objects by 
list of IDs 
MongoDB 
Ready-to-use 
product 
documents 
Search Engine 
Product API 
Application 
issues single 
query
Deep Dive: Real-time Inventory 
and Fulfillment
Less than Real-Time Inventory 
25
Less than Real-Time Inventory 
1. The Inventory system is centralized in a single SQL server 
2. Latency to Inventory is too high, not accessible from individual 
26 
stores or distribution centers 
3. Stores / DCs need to manage their own local inventory, then 
ship the result once a day to the central system 
4. Central inventory has no view of intra-day quantities. It does 
forecast and replenish with up to 24h delay 
5. Opportunities are lost due to overstock / shortage 
6. Sometimes products are sold due to existing quantities in a 
distant inventory. The product turns out not actually available, 
customers are upset
Inventory – Traditional Architecture 
27 
Relational DB 
System of Records 
Analytics, 
Aggregations, 
Reports 
Caching 
Layer 
Local 
view only 
Field Inventory 
Internal & 
External Apps 
Once-a-day 
sync 
Stale view 
Suboptimal 
logic
Goal: Real-Time Inventory 
• Single view of the inventory, one central service 
• Used by most services and channels 
• Read dominated workload 
• Local, real-time writes 
• Bulk writes for refresh 
• Geographically distributed 
• Horizontally scalable 
28
Inventory – Target Architecture 
29 
Stores 
Orders 
MongoDB 
Relational DB 
System of Records 
Analytics, 
Aggregations, 
Reports 
Field Inventory 
Internal & 
External Apps 
Inventory 
Assortments 
Shipments 
Audits 
Point-in-time 
Loads 
Nightly 
Real-time check 
updates 
Real-time 
view 
Relevant 
dataset
Inventory Levels - Inventory 
Representing quantities … 
30
Inventory Levels - Inventory 
Solution: 1 document per SKU / store 
{ "_id": "SPM7597703608A/store0", 
"storeId": "store0", 
"location": [-86.95444, 33.40178], 
"q": 88, 
"ts": 1400877254787 } 
> 100 million items x 1000 stores 
31 
= 100 billions entries
Inventory Levels - Inventory 
Solution: 1 document per key / store grouping SKUs 
{ "_id": "SPM7597703608/store0", // unique key 
_id: item id or hash of SKU, with store id 
> Good for geo distribution, low number of docs 
32 
"storeId": "store0", 
"location": [-86.95444, 33.40178], 
"geoCode": 1, 
"skus": [ // list of skus quantities 
{ "id": "SPM7597703608A", "q": 88 }, 
{ "id": "SPM7597703608B", "q": 55 }, 
{ "id": "SPM7597703608C", "q": 104 }, … ], 
"ts": 1400877254787 }
Inventory Updates - Quantities 
• Increment / decrement / set quantity for an item at 
33 
a store, atomically 
db.inventory.update( 
{ "_id": { regex: "^SPM7597703608/" }, 
"skus.id": "SPM7597703608A" }, 
{ "$dec": { "skus.$.q": 1 }}) 
db.inventory.update( 
{ "_id": { regex: "^SPM7597703608/" }, 
"skus.id": "SPM7597703608A" }, 
{ "$inc": { "skus.$.q": 20 }}) 
// use $set for setting …
Inventory Levels – Inventory 
• Get closest stores with available SKU 
db.runCommand({ 
34 
geoNear: "inventory", 
near: { type: "Point", 
coordinates: [-82.8006, 40.0908] }, 
maxDistance: 10000.0, 
spherical: true, 
limit: 10, 
query: { _id: { regex: "^SPM7597703608/" }, 
skus: { $elemMatch: { id: "SPM7597703608A", 
q: { $gt: 0 }}}} 
})
Inventory Updates – Availability 
How to keep reads / writes local with low latency? 
How to stay available during network partition? 
35
36 
West DC Central DC East DC 
Shard 
West 
Shard 
Central 
Shard 
East 
Inventory Updates – Availability 
Primary 
Primary 
Primary 
Ap 
pAp 
pAp 
p 
Ap 
pAp 
pAp 
p 
Ap 
pAp 
pAp 
p 
Basic Setup: 
Writes go 
everywhere
Inventory Updates – Availability 
• Basic shard key 
37 
– { _id: 1 } // built as group key + store 
• Shard key for "Geo-sharding" 
– { geoCode: 1, _id: 1} 
• Alternative "Geo-sharding", more granular 
– { storeId: 1, _id: 1 }
38 
West DC Central DC East DC 
Shard 
West 
Shard 
Central 
Shard 
East 
Inventory Updates – Availability 
Primary 
Primary 
Primary 
Ap 
pAp 
pAp 
p 
Ap 
pAp 
pAp 
p 
Ap 
pAp 
pAp 
p 
Using tag-aware 
sharding: mostly 
local writes
Shopping Carts – Model 
39
Shopping Carts – Model 
• Shopping cart fits naturally in 1 document 
{ _id: ObjectId(…), 
ts: ISODate("2011-12-09T00:00:00.000Z”), 
userId: "c12398", 
geoCode: 1, 
totalPrice: 1050.99, 
items: [{ sku: "SPM7597703608A", quantity: 1, price: 799, 
40 
storeId: "store100", name: "Apple Macbook Air", 
thumbnail: "http://…", … }, 
{ sku: "SPM7587703609C", quantity: 4, price: 20, 
storeId: "store100", name: "Oral-B Toothbrush", 
thumbnail: "http://…", … }, 
… ] }
41 
West DC Central DC East DC 
Shard 
West 
Shard 
Central 
Shard 
East 
Shopping Carts – Availability 
Primary Replication 
Primary 
Primary 
use 
r 
use 
r 
1. Shops in 
West, cart 
written locally 
2. Shops in 
East, same cart 
read locally 
Travel
Shopping Carts – Topology 
• Each shard has 1 replica in every DC 
• Primary servers are distributed among DCs 
• Local Cart insert / update: 
42 
– Tag-aware Sharding using the geoCode field 
• Local Cart lookup: 
– Tag-aware Sharding using the geoCode field 
• Local Cart lookup for all regions: 
– Nearest Read Preference (closest replica)
Deep Dive: User Activity Logging 
and Insight
Insights 
44 
Data Intelligence
Insights – Data of interest 
Many user activities can be of interest: 
• Search terms 
• Product viewed, liked or wished 
• Shopping cart add / remove 
• Orders submitted 
• Sharing on social network 
• Ad impression, Clickstream 
45
Insights – Data of interest 
Data will be used to compute: 
• User / Product History 
• Product Map (relationships, etc) 
• User Preferences 
• Recommendations 
• Trends 
> This is the basis for Personalization 
46
Insights – Today's Limitations 
1. Originally system does not record user activity much, since it is 
47 
too voluminous. It ends up forgotten in log files. 
2. Attempts are made to store it in SQL, but expensive to achieve 
adequate write performance. Reporting across large data sets 
(TB+) does not work. 
3. Activity is recorded to Data Warehouse system which provides 
good reporting but too expensive to scale. 
4. Using technologies like Hadoop, good scaling and powerful 
reporting are achieved. 
5. Still there is a lack of scalable front end Data Store for real 
time queries and aggregations from applications.
Insights – Traditional Architecture 
48 
External 
Analytics: 
Hadoop, 
Greenplum, 
Terradata, 
… 
Apps 
Log Processor 
Activity Logs 
SQL Data Store 
Delays 
moving logs 
Delays 
processing 
Output 
limited by 
schema 
Limited read 
capacity
Goal: Scalable and Powerful Insights 
• Store and manage large stream of data samples 
49 
– High arrival rate from many sources 
– Variable schema 
– Control retention period of data 
• Compute aggregations and derivative data sets 
– Aggregations and statistics based on data 
– Roll-up data into pre-computed reports and summaries 
• Low latency access to up-to-date data 
– Flexible indexing of raw and derived data sets 
– Rich querying based on time + meta-data fields
Insights – MongoDB Architecture 
50 
MongoDB 
HVDF 
API 
Activity Logging 
User History 
External 
Analytics: 
Hadoop, 
Spark, 
Storm, 
… 
Product Map 
User Preferences 
Recommendations 
Trends 
Apps 
Internal 
Analytics: 
Aggregation, 
MR 
All user activity 
is recorded 
MongoDB – 
Hadoop 
Connector 
Personalization
Insights 
51 
NOW!
Insights – MongoDB + Hadoop 
Applications 
powered by 
52 
Analysis 
powered by 
• Products & Inventory 
• Recommended products 
• Customer profile 
• Session management 
• Elastic pricing 
• Recommendation models 
• Predictive analytics 
• Clickstream history 
MongoDB 
Connector for 
Hadoop
Insight – User Activity Model 
{ _id: ObjectId(), 
53 
geoCode: 1, // used to localize write operations 
sessionId: "2373BB…", 
device: { id: "1234", 
type: "mobile/iphone", 
userAgent: "Chrome/34.0.1847.131" 
} 
userId: "u123", 
type: "VIEW|CART_ADD|CART_REMOVE|ORDER|…", // type of activity 
itemId: "301671", 
sku: "730223104376", 
order: { id: "12520185", 
… }, 
location: [ -86.95444, 33.40178 ], 
tags: [ "smartphone", "iphone", … ], // associated tags 
timeStamp: Date("2014/04/01 …") 
}
Insight – User History 
• Recent activity for a user: 
db.activity.find({ userId: "u123" }) 
54 
.sort({ time: -1 }).limit(100) 
• Recent activity for a product: 
db.activity.find({ itemId: "301671" }) 
.sort({ time: -1 }).limit(100) 
• Indices: 
– userId + time, itemId + time, time 
• All queries should be time bound for performance!
Insight – User Stats 
• Recent number of views, purchases, etc for user 
db.activities.aggregate(([ 
55 
{ $match: { userId: "u123", ts: { $gt: DATE }}}, 
{ $group: { _id: "$type", count: { $sum: 1 }}}]) 
• Recent total sales for a user 
db.activities.aggregate(([ 
{ $match: { userId:"u123", ts:{$gt:DATE}, type:"ORDER"}}, 
{ $group: { _id: "result", count: {$sum: "$total" }}}]) 
• Recent number of views, purchases, etc for item 
db.activities.aggregate(([ 
{ $match: { itemId: "301671", ts: { $gt: DATE }}}, 
{ $group: { _id: "$type", count: { $sum: 1 }}}]) 
> Those aggregations are very fast, real-time
Insight – User Stats 
• Map Reduce calculation of unique visitors: 
var map = function() { emit(this.userId, 1); } 
var reduce = function(key, values) 
56 
{ return Array.sum(values); } 
db.activities.mapreduce(map, reduce, 
{ query: { time: { $gt: NOW-1H } }, 
out: { replace: "lastHourUniques", sharded: true }) 
// number activities for a user 
db.lastHourUniques.find({ userId: "u123" }) 
// total uniques, immediate result 
db.lastHourUniques.count()
Monitoring and Scaling
MMS 
58
MMS 
59
MMS 
60
Monitoring Tips – Tools 
Following are useful Monitoring tools: 
• Mongo Monitoring Service (MMS) 
• Mongostat – console based 
• Mongotop – activity of each Namespace 
• IOStat – disk activity 
• Plugins for most popular frameworks (Munin, 
61 
Nagios, Cacti, SNMP …) 
> Without Monitoring, impossible to quickly 
troubleshoot and recover from downtime!
MMS 
62
Monitoring Tips – Metrics 
Metrics to watch for: 
• Data Size vs Disk Size 
• Active Set Size vs Ram Size 
• Disk IO 
• Write Lock 
> Account and test for highest possible traffic! 
> MongoDB's support team is there to help! 
63
Replication Tips 
Add replicas to: 
• Reduce latency to users 
• Add read capacity (data potentially stale) 
• Increase data safety 
> Adding / Removing replica is seamless 
64
MMS 
65
Sharding Tips 
If you are not sharding yet … 
It may be time to shard  
Switch to sharding with no downtime … 
Just make sure you pick the right shard key! 
MongoDB Support is there to help 
66
Sharding Tips 
Add shards to: 
• Increase read / write IO capacity 
• Increase Storage space 
• Increase RAM space 
• Bring a primary closer to users 
> Shard add / remove takes time and capacity 
> Scales mostly linearly but broadcast queries 
are sub-linear 
67
MMS 
68
MMS 
69
Watch MMS Demo at 
MMS 
https://www.youtube.com/watch?v=nSJiVXNsPHk
Closing Comments
3 Answers for this Season 
1. How is Peak Season shaping up this year? 
1. Spending & confidence are back! Act fast! 
1. How do you scale your business with MongoDB? 
2. Create single view services and scale using 
sharding 
2. How do you capture the holiday Digital Customer 
Experience with MongoDB? 
3. High volume activity logging capture for 
now & rest of the season for “insight”
What’s Next? 
1. Assess your data and determine your monitoring gaps 
2. Join us and Engage: 
• MongoDB Days – London – November 19 
• MongoDB Days- San Francisco – December 3 
• MongoDB Meet-ups, MUG, Office Hours 
3. Start one step at a time - with “prototype” capabilities
Questions?
Thank You! 
@antoinegirbal 
Antoine.girbal@mongodb.com 
@rebeccabucnis 
Rebecca.bucnis@mongodb.com

More Related Content

What's hot

Webinar: An Enterprise Architect’s View of MongoDB
Webinar: An Enterprise Architect’s View of MongoDBWebinar: An Enterprise Architect’s View of MongoDB
Webinar: An Enterprise Architect’s View of MongoDBMongoDB
 
Benefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsBenefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsMongoDB
 
MongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
MongoDB Evenings DC: Get MEAN and Lean with Docker and KubernetesMongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
MongoDB Evenings DC: Get MEAN and Lean with Docker and KubernetesMongoDB
 
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB present...
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB  present...MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB  present...
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB present...MongoDB
 
Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8MongoDB
 
Webinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-ServiceWebinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-ServiceMongoDB
 
MongoDB and RDBMS: Using Polyglot Persistence at Equifax
MongoDB and RDBMS: Using Polyglot Persistence at Equifax MongoDB and RDBMS: Using Polyglot Persistence at Equifax
MongoDB and RDBMS: Using Polyglot Persistence at Equifax MongoDB
 
MongoDB 3.2 Feature Preview
MongoDB 3.2 Feature PreviewMongoDB 3.2 Feature Preview
MongoDB 3.2 Feature PreviewNorberto Leite
 
Webinar: Simplifying the Database Experience with MongoDB Atlas
Webinar: Simplifying the Database Experience with MongoDB AtlasWebinar: Simplifying the Database Experience with MongoDB Atlas
Webinar: Simplifying the Database Experience with MongoDB AtlasMongoDB
 
Sizing Your MongoDB Cluster
Sizing Your MongoDB ClusterSizing Your MongoDB Cluster
Sizing Your MongoDB ClusterMongoDB
 
Building a Scalable and Modern Infrastructure at CARFAX
Building a Scalable and Modern Infrastructure at CARFAXBuilding a Scalable and Modern Infrastructure at CARFAX
Building a Scalable and Modern Infrastructure at CARFAXMongoDB
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP SystemMongoDB
 
MongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
MongoDB Evenings DC: MongoDB - The New Default Database for Giant IdeasMongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
MongoDB Evenings DC: MongoDB - The New Default Database for Giant IdeasMongoDB
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBMongoDB
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBMongoDB
 
Bye Bye Legacy: Simplifying the Journey
Bye Bye Legacy: Simplifying the JourneyBye Bye Legacy: Simplifying the Journey
Bye Bye Legacy: Simplifying the JourneyMongoDB
 
MongoDB Atlas
MongoDB AtlasMongoDB Atlas
MongoDB AtlasMongoDB
 
MongoDB: Agile Combustion Engine
MongoDB: Agile Combustion EngineMongoDB: Agile Combustion Engine
MongoDB: Agile Combustion EngineNorberto Leite
 

What's hot (20)

Webinar: An Enterprise Architect’s View of MongoDB
Webinar: An Enterprise Architect’s View of MongoDBWebinar: An Enterprise Architect’s View of MongoDB
Webinar: An Enterprise Architect’s View of MongoDB
 
Benefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsBenefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSs
 
MongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
MongoDB Evenings DC: Get MEAN and Lean with Docker and KubernetesMongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
MongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
 
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB present...
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB  present...MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB  present...
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB present...
 
Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8
 
Webinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-ServiceWebinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-Service
 
MongoDB and RDBMS: Using Polyglot Persistence at Equifax
MongoDB and RDBMS: Using Polyglot Persistence at Equifax MongoDB and RDBMS: Using Polyglot Persistence at Equifax
MongoDB and RDBMS: Using Polyglot Persistence at Equifax
 
MongoDB 3.2 Feature Preview
MongoDB 3.2 Feature PreviewMongoDB 3.2 Feature Preview
MongoDB 3.2 Feature Preview
 
MongodB Internals
MongodB InternalsMongodB Internals
MongodB Internals
 
Webinar: Simplifying the Database Experience with MongoDB Atlas
Webinar: Simplifying the Database Experience with MongoDB AtlasWebinar: Simplifying the Database Experience with MongoDB Atlas
Webinar: Simplifying the Database Experience with MongoDB Atlas
 
Sizing Your MongoDB Cluster
Sizing Your MongoDB ClusterSizing Your MongoDB Cluster
Sizing Your MongoDB Cluster
 
Building a Scalable and Modern Infrastructure at CARFAX
Building a Scalable and Modern Infrastructure at CARFAXBuilding a Scalable and Modern Infrastructure at CARFAX
Building a Scalable and Modern Infrastructure at CARFAX
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP System
 
MongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
MongoDB Evenings DC: MongoDB - The New Default Database for Giant IdeasMongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
MongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDB
 
MongoDB on Azure
MongoDB on AzureMongoDB on Azure
MongoDB on Azure
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
 
Bye Bye Legacy: Simplifying the Journey
Bye Bye Legacy: Simplifying the JourneyBye Bye Legacy: Simplifying the Journey
Bye Bye Legacy: Simplifying the Journey
 
MongoDB Atlas
MongoDB AtlasMongoDB Atlas
MongoDB Atlas
 
MongoDB: Agile Combustion Engine
MongoDB: Agile Combustion EngineMongoDB: Agile Combustion Engine
MongoDB: Agile Combustion Engine
 

Viewers also liked

Run MongoDB with Confidence: Backing up and Monitoring with MMS
Run MongoDB with Confidence: Backing up and Monitoring with MMSRun MongoDB with Confidence: Backing up and Monitoring with MMS
Run MongoDB with Confidence: Backing up and Monitoring with MMSMongoDB
 
MongoDB Days Silicon Valley: Concurrency Control in MongoDB 3.0+
MongoDB Days Silicon Valley: Concurrency Control in MongoDB 3.0+MongoDB Days Silicon Valley: Concurrency Control in MongoDB 3.0+
MongoDB Days Silicon Valley: Concurrency Control in MongoDB 3.0+MongoDB
 
Mobility: It's Time to Be Available for HER
Mobility: It's Time to Be Available for HERMobility: It's Time to Be Available for HER
Mobility: It's Time to Be Available for HERMongoDB
 
Webinar: Creating a Single View: Securing Your Deployment
Webinar: Creating a Single View: Securing Your DeploymentWebinar: Creating a Single View: Securing Your Deployment
Webinar: Creating a Single View: Securing Your DeploymentMongoDB
 
MongoDB at Qihoo 360
MongoDB at Qihoo 360MongoDB at Qihoo 360
MongoDB at Qihoo 360MongoDB
 
How MongoDB Achieved a 360-Degree View of Sales & Marketing Alignment
How MongoDB Achieved a 360-Degree View of Sales & Marketing AlignmentHow MongoDB Achieved a 360-Degree View of Sales & Marketing Alignment
How MongoDB Achieved a 360-Degree View of Sales & Marketing AlignmentFull Circle Insights
 
Webinar: How Financial Firms Create a Single Customer View with MongoDB
 Webinar: How Financial Firms Create a Single Customer View with MongoDB Webinar: How Financial Firms Create a Single Customer View with MongoDB
Webinar: How Financial Firms Create a Single Customer View with MongoDBMongoDB
 
MongoDB For Online Advertising at AOL
MongoDB For Online Advertising at AOLMongoDB For Online Advertising at AOL
MongoDB For Online Advertising at AOLJon_Reed
 
MongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and QueueingMongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and QueueingBoxed Ice
 
Calculating ROI with Innovative eCommerce Platforms
Calculating ROI with Innovative eCommerce PlatformsCalculating ROI with Innovative eCommerce Platforms
Calculating ROI with Innovative eCommerce PlatformsMongoDB
 
Aggregation Framework MongoDB Days Munich
Aggregation Framework MongoDB Days MunichAggregation Framework MongoDB Days Munich
Aggregation Framework MongoDB Days MunichNorberto Leite
 
Single view with_mongo_db_(lo)
Single view with_mongo_db_(lo)Single view with_mongo_db_(lo)
Single view with_mongo_db_(lo)MongoDB
 
MongoDB WiredTiger Internals
MongoDB WiredTiger InternalsMongoDB WiredTiger Internals
MongoDB WiredTiger InternalsNorberto Leite
 
Indexing Strategies to Help You Scale
Indexing Strategies to Help You ScaleIndexing Strategies to Help You Scale
Indexing Strategies to Help You ScaleMongoDB
 
How to use Innovative Architectures for Digital Enterprises
How to use Innovative Architectures for Digital EnterprisesHow to use Innovative Architectures for Digital Enterprises
How to use Innovative Architectures for Digital EnterprisesCapgemini
 
Single View of the Customer
Single View of the Customer Single View of the Customer
Single View of the Customer MongoDB
 
Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Itamar Haber
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907NodejsFoundation
 

Viewers also liked (20)

Run MongoDB with Confidence: Backing up and Monitoring with MMS
Run MongoDB with Confidence: Backing up and Monitoring with MMSRun MongoDB with Confidence: Backing up and Monitoring with MMS
Run MongoDB with Confidence: Backing up and Monitoring with MMS
 
MongoDB Days Silicon Valley: Concurrency Control in MongoDB 3.0+
MongoDB Days Silicon Valley: Concurrency Control in MongoDB 3.0+MongoDB Days Silicon Valley: Concurrency Control in MongoDB 3.0+
MongoDB Days Silicon Valley: Concurrency Control in MongoDB 3.0+
 
Mobility: It's Time to Be Available for HER
Mobility: It's Time to Be Available for HERMobility: It's Time to Be Available for HER
Mobility: It's Time to Be Available for HER
 
Mdb dn 2016_12_single_view
Mdb dn 2016_12_single_viewMdb dn 2016_12_single_view
Mdb dn 2016_12_single_view
 
Webinar: Creating a Single View: Securing Your Deployment
Webinar: Creating a Single View: Securing Your DeploymentWebinar: Creating a Single View: Securing Your Deployment
Webinar: Creating a Single View: Securing Your Deployment
 
MongoDB at Qihoo 360
MongoDB at Qihoo 360MongoDB at Qihoo 360
MongoDB at Qihoo 360
 
How MongoDB Achieved a 360-Degree View of Sales & Marketing Alignment
How MongoDB Achieved a 360-Degree View of Sales & Marketing AlignmentHow MongoDB Achieved a 360-Degree View of Sales & Marketing Alignment
How MongoDB Achieved a 360-Degree View of Sales & Marketing Alignment
 
Webinar: How Financial Firms Create a Single Customer View with MongoDB
 Webinar: How Financial Firms Create a Single Customer View with MongoDB Webinar: How Financial Firms Create a Single Customer View with MongoDB
Webinar: How Financial Firms Create a Single Customer View with MongoDB
 
MongoDB For Online Advertising at AOL
MongoDB For Online Advertising at AOLMongoDB For Online Advertising at AOL
MongoDB For Online Advertising at AOL
 
MongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and QueueingMongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and Queueing
 
Calculating ROI with Innovative eCommerce Platforms
Calculating ROI with Innovative eCommerce PlatformsCalculating ROI with Innovative eCommerce Platforms
Calculating ROI with Innovative eCommerce Platforms
 
Aggregation Framework MongoDB Days Munich
Aggregation Framework MongoDB Days MunichAggregation Framework MongoDB Days Munich
Aggregation Framework MongoDB Days Munich
 
Single view with_mongo_db_(lo)
Single view with_mongo_db_(lo)Single view with_mongo_db_(lo)
Single view with_mongo_db_(lo)
 
MongoDB WiredTiger Internals
MongoDB WiredTiger InternalsMongoDB WiredTiger Internals
MongoDB WiredTiger Internals
 
Indexing Strategies to Help You Scale
Indexing Strategies to Help You ScaleIndexing Strategies to Help You Scale
Indexing Strategies to Help You Scale
 
How to use Innovative Architectures for Digital Enterprises
How to use Innovative Architectures for Digital EnterprisesHow to use Innovative Architectures for Digital Enterprises
How to use Innovative Architectures for Digital Enterprises
 
Single View of the Customer
Single View of the Customer Single View of the Customer
Single View of the Customer
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
 

Similar to Prepare for Peak Holiday Season with MongoDB

Unify Your Selling Channels in One Product Catalog Service
Unify Your Selling Channels in One Product Catalog ServiceUnify Your Selling Channels in One Product Catalog Service
Unify Your Selling Channels in One Product Catalog ServiceMongoDB
 
Retail referencearchitecture productcatalog
Retail referencearchitecture productcatalogRetail referencearchitecture productcatalog
Retail referencearchitecture productcatalogMongoDB
 
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...MongoDB
 
Retail Reference Architecture
Retail Reference ArchitectureRetail Reference Architecture
Retail Reference ArchitectureMongoDB
 
Expanding Retail Frontiers with MongoDB
Expanding Retail Frontiers with MongoDBExpanding Retail Frontiers with MongoDB
Expanding Retail Frontiers with MongoDBNorberto Leite
 
Webinar: Expanding Retail Frontiers with MongoDB
 Webinar: Expanding Retail Frontiers with MongoDB Webinar: Expanding Retail Frontiers with MongoDB
Webinar: Expanding Retail Frontiers with MongoDBMongoDB
 
Deep.bi - Real-time, Deep Data Analytics Platform For Ecommerce
Deep.bi - Real-time, Deep Data Analytics Platform For EcommerceDeep.bi - Real-time, Deep Data Analytics Platform For Ecommerce
Deep.bi - Real-time, Deep Data Analytics Platform For EcommerceDeep.BI
 
Webinar: Realizing Omni-Channel Retailing with MongoDB - One Step at a Time
Webinar: Realizing Omni-Channel Retailing with MongoDB - One Step at a TimeWebinar: Realizing Omni-Channel Retailing with MongoDB - One Step at a Time
Webinar: Realizing Omni-Channel Retailing with MongoDB - One Step at a TimeMongoDB
 
Data Science and Machine Learning for eCommerce and Retail
Data Science and Machine Learning for eCommerce and RetailData Science and Machine Learning for eCommerce and Retail
Data Science and Machine Learning for eCommerce and RetailAndrei Lopatenko
 
The Value of Customer Insights & Analytics in a Modern Retail Environment
The Value of Customer Insights & Analytics in a Modern Retail EnvironmentThe Value of Customer Insights & Analytics in a Modern Retail Environment
The Value of Customer Insights & Analytics in a Modern Retail EnvironmentDenodo
 
Technology Update: Channel IQ Tech Innovation and Product Roadmap with CEO An...
Technology Update: Channel IQ Tech Innovation and Product Roadmap with CEO An...Technology Update: Channel IQ Tech Innovation and Product Roadmap with CEO An...
Technology Update: Channel IQ Tech Innovation and Product Roadmap with CEO An...Channel IQ
 
Webinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better SearchWebinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better SearchLucidworks
 
Introduction to data mining and data warehousing
Introduction to data mining and data warehousingIntroduction to data mining and data warehousing
Introduction to data mining and data warehousingEr. Nawaraj Bhandari
 
Produktdatenmanagement mit Neo4j
Produktdatenmanagement mit Neo4jProduktdatenmanagement mit Neo4j
Produktdatenmanagement mit Neo4jNeo4j
 
Param Minhas | Meet Joe - Product/Sales Presentation
Param Minhas | Meet Joe - Product/Sales Presentation Param Minhas | Meet Joe - Product/Sales Presentation
Param Minhas | Meet Joe - Product/Sales Presentation Param Minhas
 
MongoDB Partner Program Update - November 2013
MongoDB Partner Program Update - November 2013MongoDB Partner Program Update - November 2013
MongoDB Partner Program Update - November 2013MongoDB
 
Le big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseLe big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseRubedo, a WebTales solution
 
Accelerate your Queries with Data Virtualization
Accelerate your Queries with Data VirtualizationAccelerate your Queries with Data Virtualization
Accelerate your Queries with Data VirtualizationDenodo
 

Similar to Prepare for Peak Holiday Season with MongoDB (20)

Unify Your Selling Channels in One Product Catalog Service
Unify Your Selling Channels in One Product Catalog ServiceUnify Your Selling Channels in One Product Catalog Service
Unify Your Selling Channels in One Product Catalog Service
 
Retail referencearchitecture productcatalog
Retail referencearchitecture productcatalogRetail referencearchitecture productcatalog
Retail referencearchitecture productcatalog
 
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
 
Retail Reference Architecture
Retail Reference ArchitectureRetail Reference Architecture
Retail Reference Architecture
 
Expanding Retail Frontiers with MongoDB
Expanding Retail Frontiers with MongoDBExpanding Retail Frontiers with MongoDB
Expanding Retail Frontiers with MongoDB
 
Webinar: Expanding Retail Frontiers with MongoDB
 Webinar: Expanding Retail Frontiers with MongoDB Webinar: Expanding Retail Frontiers with MongoDB
Webinar: Expanding Retail Frontiers with MongoDB
 
Deep.bi - Real-time, Deep Data Analytics Platform For Ecommerce
Deep.bi - Real-time, Deep Data Analytics Platform For EcommerceDeep.bi - Real-time, Deep Data Analytics Platform For Ecommerce
Deep.bi - Real-time, Deep Data Analytics Platform For Ecommerce
 
Webinar: Realizing Omni-Channel Retailing with MongoDB - One Step at a Time
Webinar: Realizing Omni-Channel Retailing with MongoDB - One Step at a TimeWebinar: Realizing Omni-Channel Retailing with MongoDB - One Step at a Time
Webinar: Realizing Omni-Channel Retailing with MongoDB - One Step at a Time
 
Data Science and Machine Learning for eCommerce and Retail
Data Science and Machine Learning for eCommerce and RetailData Science and Machine Learning for eCommerce and Retail
Data Science and Machine Learning for eCommerce and Retail
 
Retail & CPG
Retail & CPGRetail & CPG
Retail & CPG
 
The Value of Customer Insights & Analytics in a Modern Retail Environment
The Value of Customer Insights & Analytics in a Modern Retail EnvironmentThe Value of Customer Insights & Analytics in a Modern Retail Environment
The Value of Customer Insights & Analytics in a Modern Retail Environment
 
Technology Update: Channel IQ Tech Innovation and Product Roadmap with CEO An...
Technology Update: Channel IQ Tech Innovation and Product Roadmap with CEO An...Technology Update: Channel IQ Tech Innovation and Product Roadmap with CEO An...
Technology Update: Channel IQ Tech Innovation and Product Roadmap with CEO An...
 
Webinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better SearchWebinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better Search
 
1030 track2 komp
1030 track2 komp1030 track2 komp
1030 track2 komp
 
Introduction to data mining and data warehousing
Introduction to data mining and data warehousingIntroduction to data mining and data warehousing
Introduction to data mining and data warehousing
 
Produktdatenmanagement mit Neo4j
Produktdatenmanagement mit Neo4jProduktdatenmanagement mit Neo4j
Produktdatenmanagement mit Neo4j
 
Param Minhas | Meet Joe - Product/Sales Presentation
Param Minhas | Meet Joe - Product/Sales Presentation Param Minhas | Meet Joe - Product/Sales Presentation
Param Minhas | Meet Joe - Product/Sales Presentation
 
MongoDB Partner Program Update - November 2013
MongoDB Partner Program Update - November 2013MongoDB Partner Program Update - November 2013
MongoDB Partner Program Update - November 2013
 
Le big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseLe big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entreprise
 
Accelerate your Queries with Data Virtualization
Accelerate your Queries with Data VirtualizationAccelerate your Queries with Data Virtualization
Accelerate your Queries with Data Virtualization
 

More from MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 

More from MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Prepare for Peak Holiday Season with MongoDB

  • 1. Preparing for Peak Holiday Season: A Seamless Customer Experience! Antoine Girbal Principal Solutions Engineer, MongoDB @antoinegirbal Rebecca Bucnis Global Business Architect & Strategist, MongoDB @rebeccabucnis
  • 2. 3 Questions for this Session? 1. How is Peak Season shaping up this year? 1. How does MongoDB scale to support your business? 2. How do you capture the holiday Digital Customer Experience with MongoDB? 2
  • 3. MongoDB Speakers 3 About Rebecca: Rebecca Bucnis Global Business Architect - Business Strategy - Using data for business value - Former Retailer Washington, DC rebecca.bucnis@mongodb.com @rebeccabucnis About Antoine: Antoine Girbal Principal Solutions Engineer - Original team of MongoDB - Engineer - Solution Designer Palo Alto, CA Antoine.girbal@mongodb.com @antoinegirbal
  • 4. What to expect - Holiday Season 2014 • Consumers more 4 positive • Increased spending (+25%*) • Extended holiday buying window (with fewer days) starts 6pm * From Accenture Holiday Survey Oct 2014 Study on US Consumer Holiday Spending Plans
  • 5. What to expect - Holiday Season 2014 • Cyber Monday bigger 5 than “Black Friday” • Amazon has opened “stores” for returns • 58%* of shoppers will shop with on-line retailers only: * From Accenture Holiday Survey Oct 2014 Study on US Consumer Holiday Spending Plans
  • 6. The Opportunity - Holiday Season 2014 • Consumers want the message right (*43% will defect when irrelevant) • Price, Convenience, relevance & entertainment • Collect immediate & longer term shopping behavior for action 6 * From Gigya Personalization Study 2014 State of Consumer Privacy & Personalization
  • 7. The System of Engagement for Retail • A document model (holds mixed, variant data) • Ability to add new & different data (agility) • Ability to ask real-time questions based on right 7 now update (complex queries & in-place updates) • Geo-Location built-in • Power of traditional data bases (full consistency, durability, atomic operations) • Near linear expansion (scaling via sharding) • MongoDB is a unique fit for frictionless retail
  • 8. Use Cases: Modern, Seamless Retail 8 “Global Product 360” Themes: Up to date product details – with minimal down time; Images, reviews; Vendor and order management;
  • 9. Use Cases: Modern, Seamless Retail 9 Consolidated Customer View & Insight Themes: Single View of Customer, Consumer 360; Activity Capture; Profiles for personalization
  • 10. Technical Deep Dive 1. Detailed Product Information: 10 - Single View of Product Information– Catalog 2. Real-time Inventory and Fulfillment - Real-time Inventory - Shopping Carts / Orders 3. Detailed Customer Views: - User Activity Logging - Integrating Customer Insights 4. Monitoring and Scaling - What to watch for and how to scale
  • 11. Architecture Overview 11 Information Management Merchandising Content Inventory Customer Channel Sales & Fulfillment Insight Social Customer Channels Amazon Ebay … Stores POS Kiosk … Mobile Smartphone Tablet Website Contact Center Social Facebook Twitter … Application Servers API Data and Service Integration Suppliers Supply Chain Management System Data Warehouse Analytics 3rd Party In Network Web Servers
  • 12. Commerce Functional Components 12 Customer Enterprise Information Layer Look & Feel Navigation Customization Personalization Branding Promotions Chat Ads Customer's Perspective Research Browse Search Select Shopping Cart Purchase Checkout Receive Track Use Feedback Maintain Dialog Assist Market / Offer Guide Offer Semantic Search Recommend Rule-based Decisions Pricing Coupons Sell / Fullfill Orders Payments Fraud Detection Fulfillment Business Rules Insight Session Capture Activity Monitoring Information Management Merchandising Content Inventory Customer Channel Sales & Fulfillment Insight Social
  • 14. The many catalogs problem 14
  • 15. The many catalogs problem 1. One department in charge of master product works hard at fitting 15 data into SQL tables 2. Resulting data sits in a SQL server with a couple replicas. It's forbidden to hit it more than 100 times / sec 3. Other departments need to access the data way more often for their own services 4. Other departments need more information that is not available since it did not fit in that long devised rigid SQL schema 5. ETLs and Message Buses are put in place for other teams to try figure it out themselves… 6. Data becomes inconsistent, fragmented, not up-to-date… Problem visible both internally and by customers!
  • 16. The many catalogs problem 16 Online Store Catalog Marketing Catalog Dozens of catalogs! Department 3 Catalog Product Department Master Catalog Department 4 Catalog Department 5 Catalog Department 1 Catalog Message Bus ETLs
  • 17. Too many catalogs problem 17 How many Catalogs do you have? Catalog Caches? Message Buses and ETLs for them?
  • 18. Goal: Single View of Product • Single view of a product, one central service • Flexible schema containing all useful data • Read volume high and sustained, 100k reads / s • Can seamlessly take write spikes during catalog 18 update • Advanced indexing and querying • Geographical distribution for HA and low latency
  • 19. Merchandising - Architecture 19 MongoDB Data Store Items Pricing Promotions Variants Ratings & Reviews Search Engine … Product Service API Online Store Marketing Inventory SCMS Public API …
  • 20. Models - Overview • Item: the overall product info (e.g. Levi’s 501) • Variant: a specific variant of an item (e.g. in black size 6) 20 which typically has a specific SKU / UPC • Price: price information may vary based on the store, the variant, etc • Hierarchy: the item taxonomy • Facet: facets to search products by • Vendors: a given sku may be available through several vendors if the site is a marketplace
  • 21. Models - Item Model { "_id": "054VA72303012P", // the item id 21 "desc": [ // item descriptions { "lang": "en", "val": "Give your dressy look a lift with ..." }, ... ], "name": "Women's Kate Ivory Peep-Toe Stiletto Heel", "category": "/84700/80009/1282094266/1200003270", // hierarchy "brand": { "id": "2483510", "img": "http://...", "name": "Metaphor" }, "assets": { // references to all assets "imgs": [ { "img": { "width": 1900, "height": 1900, "src": "http://..." }, ... ] }, "shipping": { // shipping specs }, "specs": { // item specs }, "attrs": [ // list of items attributes (facets) { "name": "Heel Height", "value": "High (2-1/2 to 4 in.)" }, { "name": "Toe", "value": "Open toe" }, ... ], "variants": { // quick info on the variants "cnt": 9, "attrs": [ { "dispType": "DROPDOWN", "name": "Color" }, { "dispType": "DROPDOWN", "name": "Shoe Size" }, ... ] }, "lastUpdated": 1400877254787 // keep track of updates }
  • 22. Product Search – Traditional Architecture 22 Product Data Store Product Search Indexing #1 obtain search results IDs #2 obtain objects by ID from cache or DB Cache Application Pre-joined into objects
  • 23. Product Search – New Architecture 23 Product Data Store Product Search Indexing #1 obtain search results IDs Applications #2 obtain objects by list of IDs MongoDB Ready-to-use product documents Search Engine Product API Application issues single query
  • 24. Deep Dive: Real-time Inventory and Fulfillment
  • 25. Less than Real-Time Inventory 25
  • 26. Less than Real-Time Inventory 1. The Inventory system is centralized in a single SQL server 2. Latency to Inventory is too high, not accessible from individual 26 stores or distribution centers 3. Stores / DCs need to manage their own local inventory, then ship the result once a day to the central system 4. Central inventory has no view of intra-day quantities. It does forecast and replenish with up to 24h delay 5. Opportunities are lost due to overstock / shortage 6. Sometimes products are sold due to existing quantities in a distant inventory. The product turns out not actually available, customers are upset
  • 27. Inventory – Traditional Architecture 27 Relational DB System of Records Analytics, Aggregations, Reports Caching Layer Local view only Field Inventory Internal & External Apps Once-a-day sync Stale view Suboptimal logic
  • 28. Goal: Real-Time Inventory • Single view of the inventory, one central service • Used by most services and channels • Read dominated workload • Local, real-time writes • Bulk writes for refresh • Geographically distributed • Horizontally scalable 28
  • 29. Inventory – Target Architecture 29 Stores Orders MongoDB Relational DB System of Records Analytics, Aggregations, Reports Field Inventory Internal & External Apps Inventory Assortments Shipments Audits Point-in-time Loads Nightly Real-time check updates Real-time view Relevant dataset
  • 30. Inventory Levels - Inventory Representing quantities … 30
  • 31. Inventory Levels - Inventory Solution: 1 document per SKU / store { "_id": "SPM7597703608A/store0", "storeId": "store0", "location": [-86.95444, 33.40178], "q": 88, "ts": 1400877254787 } > 100 million items x 1000 stores 31 = 100 billions entries
  • 32. Inventory Levels - Inventory Solution: 1 document per key / store grouping SKUs { "_id": "SPM7597703608/store0", // unique key _id: item id or hash of SKU, with store id > Good for geo distribution, low number of docs 32 "storeId": "store0", "location": [-86.95444, 33.40178], "geoCode": 1, "skus": [ // list of skus quantities { "id": "SPM7597703608A", "q": 88 }, { "id": "SPM7597703608B", "q": 55 }, { "id": "SPM7597703608C", "q": 104 }, … ], "ts": 1400877254787 }
  • 33. Inventory Updates - Quantities • Increment / decrement / set quantity for an item at 33 a store, atomically db.inventory.update( { "_id": { regex: "^SPM7597703608/" }, "skus.id": "SPM7597703608A" }, { "$dec": { "skus.$.q": 1 }}) db.inventory.update( { "_id": { regex: "^SPM7597703608/" }, "skus.id": "SPM7597703608A" }, { "$inc": { "skus.$.q": 20 }}) // use $set for setting …
  • 34. Inventory Levels – Inventory • Get closest stores with available SKU db.runCommand({ 34 geoNear: "inventory", near: { type: "Point", coordinates: [-82.8006, 40.0908] }, maxDistance: 10000.0, spherical: true, limit: 10, query: { _id: { regex: "^SPM7597703608/" }, skus: { $elemMatch: { id: "SPM7597703608A", q: { $gt: 0 }}}} })
  • 35. Inventory Updates – Availability How to keep reads / writes local with low latency? How to stay available during network partition? 35
  • 36. 36 West DC Central DC East DC Shard West Shard Central Shard East Inventory Updates – Availability Primary Primary Primary Ap pAp pAp p Ap pAp pAp p Ap pAp pAp p Basic Setup: Writes go everywhere
  • 37. Inventory Updates – Availability • Basic shard key 37 – { _id: 1 } // built as group key + store • Shard key for "Geo-sharding" – { geoCode: 1, _id: 1} • Alternative "Geo-sharding", more granular – { storeId: 1, _id: 1 }
  • 38. 38 West DC Central DC East DC Shard West Shard Central Shard East Inventory Updates – Availability Primary Primary Primary Ap pAp pAp p Ap pAp pAp p Ap pAp pAp p Using tag-aware sharding: mostly local writes
  • 39. Shopping Carts – Model 39
  • 40. Shopping Carts – Model • Shopping cart fits naturally in 1 document { _id: ObjectId(…), ts: ISODate("2011-12-09T00:00:00.000Z”), userId: "c12398", geoCode: 1, totalPrice: 1050.99, items: [{ sku: "SPM7597703608A", quantity: 1, price: 799, 40 storeId: "store100", name: "Apple Macbook Air", thumbnail: "http://…", … }, { sku: "SPM7587703609C", quantity: 4, price: 20, storeId: "store100", name: "Oral-B Toothbrush", thumbnail: "http://…", … }, … ] }
  • 41. 41 West DC Central DC East DC Shard West Shard Central Shard East Shopping Carts – Availability Primary Replication Primary Primary use r use r 1. Shops in West, cart written locally 2. Shops in East, same cart read locally Travel
  • 42. Shopping Carts – Topology • Each shard has 1 replica in every DC • Primary servers are distributed among DCs • Local Cart insert / update: 42 – Tag-aware Sharding using the geoCode field • Local Cart lookup: – Tag-aware Sharding using the geoCode field • Local Cart lookup for all regions: – Nearest Read Preference (closest replica)
  • 43. Deep Dive: User Activity Logging and Insight
  • 44. Insights 44 Data Intelligence
  • 45. Insights – Data of interest Many user activities can be of interest: • Search terms • Product viewed, liked or wished • Shopping cart add / remove • Orders submitted • Sharing on social network • Ad impression, Clickstream 45
  • 46. Insights – Data of interest Data will be used to compute: • User / Product History • Product Map (relationships, etc) • User Preferences • Recommendations • Trends > This is the basis for Personalization 46
  • 47. Insights – Today's Limitations 1. Originally system does not record user activity much, since it is 47 too voluminous. It ends up forgotten in log files. 2. Attempts are made to store it in SQL, but expensive to achieve adequate write performance. Reporting across large data sets (TB+) does not work. 3. Activity is recorded to Data Warehouse system which provides good reporting but too expensive to scale. 4. Using technologies like Hadoop, good scaling and powerful reporting are achieved. 5. Still there is a lack of scalable front end Data Store for real time queries and aggregations from applications.
  • 48. Insights – Traditional Architecture 48 External Analytics: Hadoop, Greenplum, Terradata, … Apps Log Processor Activity Logs SQL Data Store Delays moving logs Delays processing Output limited by schema Limited read capacity
  • 49. Goal: Scalable and Powerful Insights • Store and manage large stream of data samples 49 – High arrival rate from many sources – Variable schema – Control retention period of data • Compute aggregations and derivative data sets – Aggregations and statistics based on data – Roll-up data into pre-computed reports and summaries • Low latency access to up-to-date data – Flexible indexing of raw and derived data sets – Rich querying based on time + meta-data fields
  • 50. Insights – MongoDB Architecture 50 MongoDB HVDF API Activity Logging User History External Analytics: Hadoop, Spark, Storm, … Product Map User Preferences Recommendations Trends Apps Internal Analytics: Aggregation, MR All user activity is recorded MongoDB – Hadoop Connector Personalization
  • 52. Insights – MongoDB + Hadoop Applications powered by 52 Analysis powered by • Products & Inventory • Recommended products • Customer profile • Session management • Elastic pricing • Recommendation models • Predictive analytics • Clickstream history MongoDB Connector for Hadoop
  • 53. Insight – User Activity Model { _id: ObjectId(), 53 geoCode: 1, // used to localize write operations sessionId: "2373BB…", device: { id: "1234", type: "mobile/iphone", userAgent: "Chrome/34.0.1847.131" } userId: "u123", type: "VIEW|CART_ADD|CART_REMOVE|ORDER|…", // type of activity itemId: "301671", sku: "730223104376", order: { id: "12520185", … }, location: [ -86.95444, 33.40178 ], tags: [ "smartphone", "iphone", … ], // associated tags timeStamp: Date("2014/04/01 …") }
  • 54. Insight – User History • Recent activity for a user: db.activity.find({ userId: "u123" }) 54 .sort({ time: -1 }).limit(100) • Recent activity for a product: db.activity.find({ itemId: "301671" }) .sort({ time: -1 }).limit(100) • Indices: – userId + time, itemId + time, time • All queries should be time bound for performance!
  • 55. Insight – User Stats • Recent number of views, purchases, etc for user db.activities.aggregate(([ 55 { $match: { userId: "u123", ts: { $gt: DATE }}}, { $group: { _id: "$type", count: { $sum: 1 }}}]) • Recent total sales for a user db.activities.aggregate(([ { $match: { userId:"u123", ts:{$gt:DATE}, type:"ORDER"}}, { $group: { _id: "result", count: {$sum: "$total" }}}]) • Recent number of views, purchases, etc for item db.activities.aggregate(([ { $match: { itemId: "301671", ts: { $gt: DATE }}}, { $group: { _id: "$type", count: { $sum: 1 }}}]) > Those aggregations are very fast, real-time
  • 56. Insight – User Stats • Map Reduce calculation of unique visitors: var map = function() { emit(this.userId, 1); } var reduce = function(key, values) 56 { return Array.sum(values); } db.activities.mapreduce(map, reduce, { query: { time: { $gt: NOW-1H } }, out: { replace: "lastHourUniques", sharded: true }) // number activities for a user db.lastHourUniques.find({ userId: "u123" }) // total uniques, immediate result db.lastHourUniques.count()
  • 61. Monitoring Tips – Tools Following are useful Monitoring tools: • Mongo Monitoring Service (MMS) • Mongostat – console based • Mongotop – activity of each Namespace • IOStat – disk activity • Plugins for most popular frameworks (Munin, 61 Nagios, Cacti, SNMP …) > Without Monitoring, impossible to quickly troubleshoot and recover from downtime!
  • 63. Monitoring Tips – Metrics Metrics to watch for: • Data Size vs Disk Size • Active Set Size vs Ram Size • Disk IO • Write Lock > Account and test for highest possible traffic! > MongoDB's support team is there to help! 63
  • 64. Replication Tips Add replicas to: • Reduce latency to users • Add read capacity (data potentially stale) • Increase data safety > Adding / Removing replica is seamless 64
  • 66. Sharding Tips If you are not sharding yet … It may be time to shard  Switch to sharding with no downtime … Just make sure you pick the right shard key! MongoDB Support is there to help 66
  • 67. Sharding Tips Add shards to: • Increase read / write IO capacity • Increase Storage space • Increase RAM space • Bring a primary closer to users > Shard add / remove takes time and capacity > Scales mostly linearly but broadcast queries are sub-linear 67
  • 70. Watch MMS Demo at MMS https://www.youtube.com/watch?v=nSJiVXNsPHk
  • 72. 3 Answers for this Season 1. How is Peak Season shaping up this year? 1. Spending & confidence are back! Act fast! 1. How do you scale your business with MongoDB? 2. Create single view services and scale using sharding 2. How do you capture the holiday Digital Customer Experience with MongoDB? 3. High volume activity logging capture for now & rest of the season for “insight”
  • 73. What’s Next? 1. Assess your data and determine your monitoring gaps 2. Join us and Engage: • MongoDB Days – London – November 19 • MongoDB Days- San Francisco – December 3 • MongoDB Meet-ups, MUG, Office Hours 3. Start one step at a time - with “prototype” capabilities
  • 75. Thank You! @antoinegirbal Antoine.girbal@mongodb.com @rebeccabucnis Rebecca.bucnis@mongodb.com