SlideShare une entreprise Scribd logo
1  sur  33
01/16/2014

CASSANDRA AND
RIAK AT
BESTBUY.COM
WHO WE ARE
• Best Buy is the world’s largest multi-channel consumer
electronics retailer, with stores in the United States, Canada, China

and Mexico.
• We are the 10th largest online retailer in the United States
• More than 1.6 billion visitors come to our stores and BestBuy.com

each year.
• Our My Best Buy loyalty program is among the largest loyalty
programs of its kind, with more than 40 million active members.

• We provide customers with outstanding choice, unbiased advice
and unmatched support for the tech needs.
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
A UNIQUE CUSTOMER PROMISE
• THE LATEST DEVICES AND SERVICES, ALL IN ONE
PLACE

• IMPARTIAL & KNOWLEDGEABLE ADVICE
• COMPETITIVE PRICES
• THE ABILITY TO SHOP WHEN AND WHERE YOU
WANT
• SUPPORT FOR THE LIFE OF YOUR PRODUCTS

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
JOEL
CRABB

KANNAN
SWAMINATHAN

Chief Architect,

Director, Web

BestBuy.com

Architecture

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
NOSQL AT BESTBUY.COM
• Schema-less design
—Key–value systems
—Sparse column systems
—Non-relational data

• Distributed nature
—Eventual consistency
—Active-Active across clouds and datacenters
—High reliability
—Horizontal scaling
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
BESTBUY.COM

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
SCALABILITY GOALS
• Near-Infinite
• Bursts

• 7X traffic spikes

• Bursts > 50,000 rps
• #4 in eCommerce traffic during
2013 Holiday

Walmart
Best Buy

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
FLEXIBILITY
GOALS
Low cost of change
Fast concepts to site
Daily releases
Multiple versions

One day of work vs. two months
RELIABILITY GOALS
• 100% availability
• Zero defects

• Achieved 100% cloud
uptime during Holiday

• ~ 2s response times

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
CLOUD ARCHITECTURE CONCEPTS
• Clouds fail; plan for it
—Multiple availability zones
—Multiple regions
—Multiple vendors

• Datacenter connections fail; plan for it
—Serve pages completely from cloud
—Browse-only fallback mode

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
CLOUD ARCHITECTURE CONCEPTS
CDN: Global Traffic Manager

Browse Cloud

Browse Cloud

Vendor 1

Vendor 2

Best Buy Datacenter
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
RIAK

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
PRODUCT CATALOG - REQUIREMENTS
• Business Requirements
—Easily add new attributes to products
—Use existing product content feeding systems
—Provide enhanced product data to all of Best Buy

• Technical Requirements
—Scale to BestBuy.com’s needs
—One-way replication from DC to cloud

—Provide a Product Catalog API usable by Best Buy
applications internally (DC) and externally (cloud)

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
BROWSE CLOUD - ARCHITECTURE

Persistent Cache

Load Balancer
Web App

Web App

Service Aggregator

Product Data

Product Data

Datacenter

Legacy Services and Product Data

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
WHY RIAK FOR THE PRODUCT CATALOG
• Key-value Store
—Easily add new attributes
—Different attribute sets for different product categories

• Hub and Spoke Replication
—Multiple cloud instances can be out-of-synch for seconds or
minutes; this is OK
—Connection to Datacenter can be lost

• Resilience within all tiers
—Riak’s ring architecture allows single instances to fail with
little impact to the system
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
WHY RIAK FOR THE PRODUCT CATALOG
• Legacy Bridge
—Extract data from legacy system
—Expose to anyone who needs the data
—Extends decision to retire legacy system

• Input into Product Evolution
—Best Buy is stretching Riak in multiple areas
—Feedback on Search and Replication
—Direct connection to Riak engineers

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
PRODUCT CATALOG DEPLOYMENT
Cloud Replicant

Cloud Replicant

V1.2.1
Each Cloud
Replicant is a
self-contained
instance which
can intermittently
lose connectivity
to the Datacenter

Datacenter Master

V1.4.2

January 16, 2014

@Copyright 2014 – Best Buy, Inc. All rights reserved.
PRODUCT CATALOG - DATA FLOW
Cloud

Web
Application

Granular
Service

Aggregator
Service

NoSQL Product Data

Replication

Extraction

Datacenter
Legacy Product Data

NoSQL Product Data
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
RIAK LESSONS LEARNED
• Search eats up the CPU (Pre-Yokozuna)

Search Endpoint Removed

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
RIAK LESSONS LEARNED
• Multi-datacenter replication is hard at scale
• Object replication fails silently (v1.4.2)

1.5 hours for partial update

4000 objects/sec

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
DID THE PRODUCT CATALOG SUCCEED?
• Scale – generally < 5 ms response times in cloud
• Scope – provides APIs in cloud and DC

Single zone
1.5 hours response update
failure, for partial
times jump to 8-10
ms

4 ms @ 95%
4000 objects/sec

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
CASSANDRA

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
CUSTOMER GRAPH - REQUIREMENTS
• Business Requirements
—Create a single identity provider
—Build an adaptive model to support a 360 degree view of the
customer, customer segmentation and multi-channel
personalization
—Extensible framework to support federated identity interoperability
with external providers

• Technical Requirements
—Scale to BestBuy.com’s needs with a distributed service oriented

architecture
—Support risk based authentication and secure service interfaces for
consumers
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
CUSTOMER GRAPH - ARCHITECTURE
CDN + GTM + WAF

Load Balancer

API

Load Balancer

API

Topology: NTS
RF: 3
Partitioner: Random

Data Center 1 / Region 1

API

API

Cassandra Ring

Data Center n / Region n
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
CUSTOMER GRAPH - CONCEPTUAL

Create Connection:
POST /customers/Kannan/following/customers/Joel
Get all Kannan’s connections:
GET /customers/Kannan/connections
Get Joel’s “followers”:
GET customers/Joel/followers
Get customers connecting to a specific store:
GET /stores/{store id}/connecting/customer
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
CUSTOMER GRAPH – CONCEPTUAL

Topics

Products

Blogs

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
WHY CASSANDRA?
• No single point of failure

• Delivers on Atomicity, Isolation & Durability
• Eventual Consistency
• Tunable Consistency for Reads vs. Writes
• Linear Scalability
• Querying a column slice or a range of row keys

• Data can have expiration set
• Reliable multiple data center replication
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
LESSONS LEARNED – DATA MODELING
Use composite column names; static composite types

Column names are stored physically sorted and
indexed
Store “values” as column names

Wide rows in conjunction with composite columns can
be used to build indices, but…
For larger data sets, distribute the columns among rows
A secondary index is best modeled as a separate column
family
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
LESSONS LEARNED – DATA MODELING
Do not store an entity as a single column blob
Cannot index and query on entity attributes
Updates to an entity attribute would require a read and
then a write

Mutate just the required columns on an entity row
Do not read and then write

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
LESSONS LEARNED - MONITORING
Heap Size and Use
 GC

Mutation Stage (Writes) & Read Stage (Reads)
 Active and Pending

AE Service, Stream & Message-Streaming-Pool Stages
 Especially during scheduled repair or rebuild (while adding nodes to a
new data center)
 Streaming requires keep-alive connections (watch out for firewalls
terminating idle established connections; update periodic tcp keep-alive
ping rate)

Compaction Stage & Compaction Count
 IO Wait, Limits - nofiles, nproc

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
IMPLEMENTATION STRATEGY
• Start with a project team
—Riak – Product Catalog
—Cassandra – Customer Graph

• Build expertise in development and operations
• As usage grows, create a Platform team
—Combine engineering into one team
—Project team can then focus on business features
—Focus on automation

January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
CONCLUSIONS
• Riak and Cassandra have both been successful
—Riak – No complete outages in two years
—Cassandra – Flawless in its first Holiday in 2013

• Differences
—Replication patterns are different
—Write and read treatment is different
—Deployment pattern are different

• High Availability
—Both have highly resilient architectures
—Both scale linearly
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.
January 16, 2014
@Copyright 2014 – Best Buy, Inc. All rights reserved.

Contenu connexe

Tendances

HBaseCon2017 Democratizing HBase
HBaseCon2017 Democratizing HBaseHBaseCon2017 Democratizing HBase
HBaseCon2017 Democratizing HBaseHBaseCon
 
A3 transforming data_management_in_the_cloud
A3 transforming data_management_in_the_cloudA3 transforming data_management_in_the_cloud
A3 transforming data_management_in_the_cloudDr. Wilfred Lin (Ph.D.)
 
Open Source Databases on the Cloud
Open Source Databases on the CloudOpen Source Databases on the Cloud
Open Source Databases on the CloudAmazon Web Services
 
HBaseCon2017 HBase/Phoenix @ Scale @ Salesforce
HBaseCon2017 HBase/Phoenix @ Scale @ SalesforceHBaseCon2017 HBase/Phoenix @ Scale @ Salesforce
HBaseCon2017 HBase/Phoenix @ Scale @ SalesforceHBaseCon
 
Discover HDP2.1: Apache Storm for Stream Data Processing in Hadoop
Discover HDP2.1: Apache Storm for Stream Data Processing in HadoopDiscover HDP2.1: Apache Storm for Stream Data Processing in Hadoop
Discover HDP2.1: Apache Storm for Stream Data Processing in HadoopHortonworks
 
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...Amazon Web Services
 
John Zuniga Resume
John Zuniga ResumeJohn Zuniga Resume
John Zuniga ResumeJohn Zuniga
 
C3 bringing the_power_of_the_public_cloud_to_your_secure_data_center
C3 bringing the_power_of_the_public_cloud_to_your_secure_data_centerC3 bringing the_power_of_the_public_cloud_to_your_secure_data_center
C3 bringing the_power_of_the_public_cloud_to_your_secure_data_centerDr. Wilfred Lin (Ph.D.)
 
6 GigaSpaces Principles to Survive Black Friday
6 GigaSpaces Principles to Survive Black Friday6 GigaSpaces Principles to Survive Black Friday
6 GigaSpaces Principles to Survive Black FridayAli Hodroj
 
Hortonworks Hadoop summit 2011 keynote - eric14
Hortonworks Hadoop summit 2011 keynote - eric14Hortonworks Hadoop summit 2011 keynote - eric14
Hortonworks Hadoop summit 2011 keynote - eric14Hortonworks
 
YARN Ready - Integrating to YARN using Slider Webinar
YARN Ready - Integrating to YARN using Slider WebinarYARN Ready - Integrating to YARN using Slider Webinar
YARN Ready - Integrating to YARN using Slider WebinarHortonworks
 
History of Privacera
History of PrivaceraHistory of Privacera
History of PrivaceraPrivacera
 
LLAP: long-lived execution in Hive
LLAP: long-lived execution in HiveLLAP: long-lived execution in Hive
LLAP: long-lived execution in HiveDataWorks Summit
 
Actian Vector on Hadoop: First Industrial-strength DBMS to Truly Leverage Hadoop
Actian Vector on Hadoop: First Industrial-strength DBMS to Truly Leverage HadoopActian Vector on Hadoop: First Industrial-strength DBMS to Truly Leverage Hadoop
Actian Vector on Hadoop: First Industrial-strength DBMS to Truly Leverage HadoopDataWorks Summit
 
(BIZ301) Getting Started: Running SAP on AWS | AWS re:Invent 2014
(BIZ301) Getting Started: Running SAP on AWS | AWS re:Invent 2014(BIZ301) Getting Started: Running SAP on AWS | AWS re:Invent 2014
(BIZ301) Getting Started: Running SAP on AWS | AWS re:Invent 2014Amazon Web Services
 
클라우드 시대 완벽한 데이터 관리 방법
클라우드 시대 완벽한 데이터 관리 방법 클라우드 시대 완벽한 데이터 관리 방법
클라우드 시대 완벽한 데이터 관리 방법 오라클 클라우드
 
Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012Michael Peacock
 
Actian Analytics Platform - Hadoop SQL Edition
Actian Analytics Platform - Hadoop SQL EditionActian Analytics Platform - Hadoop SQL Edition
Actian Analytics Platform - Hadoop SQL EditionAlessandro Salvatico
 
C4 optimizing your_application_infrastructure
C4 optimizing your_application_infrastructureC4 optimizing your_application_infrastructure
C4 optimizing your_application_infrastructureDr. Wilfred Lin (Ph.D.)
 
Overview of new features in Apache Ranger
Overview of new features in Apache RangerOverview of new features in Apache Ranger
Overview of new features in Apache RangerDataWorks Summit
 

Tendances (20)

HBaseCon2017 Democratizing HBase
HBaseCon2017 Democratizing HBaseHBaseCon2017 Democratizing HBase
HBaseCon2017 Democratizing HBase
 
A3 transforming data_management_in_the_cloud
A3 transforming data_management_in_the_cloudA3 transforming data_management_in_the_cloud
A3 transforming data_management_in_the_cloud
 
Open Source Databases on the Cloud
Open Source Databases on the CloudOpen Source Databases on the Cloud
Open Source Databases on the Cloud
 
HBaseCon2017 HBase/Phoenix @ Scale @ Salesforce
HBaseCon2017 HBase/Phoenix @ Scale @ SalesforceHBaseCon2017 HBase/Phoenix @ Scale @ Salesforce
HBaseCon2017 HBase/Phoenix @ Scale @ Salesforce
 
Discover HDP2.1: Apache Storm for Stream Data Processing in Hadoop
Discover HDP2.1: Apache Storm for Stream Data Processing in HadoopDiscover HDP2.1: Apache Storm for Stream Data Processing in Hadoop
Discover HDP2.1: Apache Storm for Stream Data Processing in Hadoop
 
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
 
John Zuniga Resume
John Zuniga ResumeJohn Zuniga Resume
John Zuniga Resume
 
C3 bringing the_power_of_the_public_cloud_to_your_secure_data_center
C3 bringing the_power_of_the_public_cloud_to_your_secure_data_centerC3 bringing the_power_of_the_public_cloud_to_your_secure_data_center
C3 bringing the_power_of_the_public_cloud_to_your_secure_data_center
 
6 GigaSpaces Principles to Survive Black Friday
6 GigaSpaces Principles to Survive Black Friday6 GigaSpaces Principles to Survive Black Friday
6 GigaSpaces Principles to Survive Black Friday
 
Hortonworks Hadoop summit 2011 keynote - eric14
Hortonworks Hadoop summit 2011 keynote - eric14Hortonworks Hadoop summit 2011 keynote - eric14
Hortonworks Hadoop summit 2011 keynote - eric14
 
YARN Ready - Integrating to YARN using Slider Webinar
YARN Ready - Integrating to YARN using Slider WebinarYARN Ready - Integrating to YARN using Slider Webinar
YARN Ready - Integrating to YARN using Slider Webinar
 
History of Privacera
History of PrivaceraHistory of Privacera
History of Privacera
 
LLAP: long-lived execution in Hive
LLAP: long-lived execution in HiveLLAP: long-lived execution in Hive
LLAP: long-lived execution in Hive
 
Actian Vector on Hadoop: First Industrial-strength DBMS to Truly Leverage Hadoop
Actian Vector on Hadoop: First Industrial-strength DBMS to Truly Leverage HadoopActian Vector on Hadoop: First Industrial-strength DBMS to Truly Leverage Hadoop
Actian Vector on Hadoop: First Industrial-strength DBMS to Truly Leverage Hadoop
 
(BIZ301) Getting Started: Running SAP on AWS | AWS re:Invent 2014
(BIZ301) Getting Started: Running SAP on AWS | AWS re:Invent 2014(BIZ301) Getting Started: Running SAP on AWS | AWS re:Invent 2014
(BIZ301) Getting Started: Running SAP on AWS | AWS re:Invent 2014
 
클라우드 시대 완벽한 데이터 관리 방법
클라우드 시대 완벽한 데이터 관리 방법 클라우드 시대 완벽한 데이터 관리 방법
클라우드 시대 완벽한 데이터 관리 방법
 
Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012
 
Actian Analytics Platform - Hadoop SQL Edition
Actian Analytics Platform - Hadoop SQL EditionActian Analytics Platform - Hadoop SQL Edition
Actian Analytics Platform - Hadoop SQL Edition
 
C4 optimizing your_application_infrastructure
C4 optimizing your_application_infrastructureC4 optimizing your_application_infrastructure
C4 optimizing your_application_infrastructure
 
Overview of new features in Apache Ranger
Overview of new features in Apache RangerOverview of new features in Apache Ranger
Overview of new features in Apache Ranger
 

En vedette

10 Tips To Drive More Traffic To Your Mobile Site
10 Tips To Drive More Traffic To Your Mobile Site10 Tips To Drive More Traffic To Your Mobile Site
10 Tips To Drive More Traffic To Your Mobile SiteMobyLabs
 
金大アルゴリズム勉強会#001資料
金大アルゴリズム勉強会#001資料金大アルゴリズム勉強会#001資料
金大アルゴリズム勉強会#001資料Takumi Murano
 
金大アルゴリズム勉強会#007資料
金大アルゴリズム勉強会#007資料金大アルゴリズム勉強会#007資料
金大アルゴリズム勉強会#007資料Takumi Murano
 
Final powerpoint presentation, prof3 a sphiwe dladla-201221896
Final powerpoint presentation, prof3 a sphiwe dladla-201221896Final powerpoint presentation, prof3 a sphiwe dladla-201221896
Final powerpoint presentation, prof3 a sphiwe dladla-201221896Sphiwe Dladla
 
金大アルゴリズム勉強会#005資料
金大アルゴリズム勉強会#005資料金大アルゴリズム勉強会#005資料
金大アルゴリズム勉強会#005資料Takumi Murano
 

En vedette (7)

10 Tips To Drive More Traffic To Your Mobile Site
10 Tips To Drive More Traffic To Your Mobile Site10 Tips To Drive More Traffic To Your Mobile Site
10 Tips To Drive More Traffic To Your Mobile Site
 
金大アルゴリズム勉強会#001資料
金大アルゴリズム勉強会#001資料金大アルゴリズム勉強会#001資料
金大アルゴリズム勉強会#001資料
 
TaTBiR
TaTBiRTaTBiR
TaTBiR
 
Planing
PlaningPlaning
Planing
 
金大アルゴリズム勉強会#007資料
金大アルゴリズム勉強会#007資料金大アルゴリズム勉強会#007資料
金大アルゴリズム勉強会#007資料
 
Final powerpoint presentation, prof3 a sphiwe dladla-201221896
Final powerpoint presentation, prof3 a sphiwe dladla-201221896Final powerpoint presentation, prof3 a sphiwe dladla-201221896
Final powerpoint presentation, prof3 a sphiwe dladla-201221896
 
金大アルゴリズム勉強会#005資料
金大アルゴリズム勉強会#005資料金大アルゴリズム勉強会#005資料
金大アルゴリズム勉強会#005資料
 

Similaire à Cassandra and Riak at BestBuy.com

ASTQB washington-sept-2015
ASTQB washington-sept-2015ASTQB washington-sept-2015
ASTQB washington-sept-2015Dan Boutin
 
Big Data LDN 2016: When Big Data Meets Fast Data
Big Data LDN 2016: When Big Data Meets Fast DataBig Data LDN 2016: When Big Data Meets Fast Data
Big Data LDN 2016: When Big Data Meets Fast DataMatt Stubbs
 
Presentación Paco Bermejo - La Noche del Sector Financiero
Presentación Paco Bermejo - La Noche del Sector FinancieroPresentación Paco Bermejo - La Noche del Sector Financiero
Presentación Paco Bermejo - La Noche del Sector FinancieroJorge Puebla Fernández
 
Does Big Data Spell Big Costs- Impetus Webinar
Does Big Data Spell Big Costs- Impetus WebinarDoes Big Data Spell Big Costs- Impetus Webinar
Does Big Data Spell Big Costs- Impetus WebinarImpetus Technologies
 
Riverbed SteelCentral AppResponse 9.0 NetProfiler and NetShark 10.6
Riverbed SteelCentral AppResponse 9.0 NetProfiler and NetShark 10.6Riverbed SteelCentral AppResponse 9.0 NetProfiler and NetShark 10.6
Riverbed SteelCentral AppResponse 9.0 NetProfiler and NetShark 10.6Riverbed Technology
 
Riverbed SteelCentral Simplifies Web App Monitoring
Riverbed SteelCentral Simplifies Web App MonitoringRiverbed SteelCentral Simplifies Web App Monitoring
Riverbed SteelCentral Simplifies Web App MonitoringLori Bertelli
 
Gab Genai Cloudera - Going Beyond Traditional Analytic
Gab Genai Cloudera - Going Beyond Traditional Analytic Gab Genai Cloudera - Going Beyond Traditional Analytic
Gab Genai Cloudera - Going Beyond Traditional Analytic IntelAPAC
 
Application patterns
Application patternsApplication patterns
Application patternstomi vanek
 
Enterprise Hadoop with Hortonworks and Nimble Storage
Enterprise Hadoop with Hortonworks and Nimble StorageEnterprise Hadoop with Hortonworks and Nimble Storage
Enterprise Hadoop with Hortonworks and Nimble StorageHortonworks
 
RTBkit Introduction & Best Practices
RTBkit Introduction & Best PracticesRTBkit Introduction & Best Practices
RTBkit Introduction & Best PracticesDatacratic
 
What's New In Primavera Analytics 16.1
What's New In Primavera Analytics 16.1What's New In Primavera Analytics 16.1
What's New In Primavera Analytics 16.1p6academy
 
Out With the Old, in With the Open-source: Brainshark's Complete CMS Migration
Out With the Old, in With the Open-source: Brainshark's Complete CMS MigrationOut With the Old, in With the Open-source: Brainshark's Complete CMS Migration
Out With the Old, in With the Open-source: Brainshark's Complete CMS MigrationAcquia
 
How to scale your PaaS with OVH infrastructure?
How to scale your PaaS with OVH infrastructure?How to scale your PaaS with OVH infrastructure?
How to scale your PaaS with OVH infrastructure?OVHcloud
 
Level Up – How to Achieve Hadoop Acceleration
Level Up – How to Achieve Hadoop AccelerationLevel Up – How to Achieve Hadoop Acceleration
Level Up – How to Achieve Hadoop AccelerationInside Analysis
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSaspyker
 
Recipes for API Ninjas
Recipes for API NinjasRecipes for API Ninjas
Recipes for API NinjasNordic APIs
 
Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014EDB
 
APNIC services and Policy Development Process | IDNOG 5
APNIC services and Policy Development Process | IDNOG 5APNIC services and Policy Development Process | IDNOG 5
APNIC services and Policy Development Process | IDNOG 5APNIC
 

Similaire à Cassandra and Riak at BestBuy.com (20)

ASTQB washington-sept-2015
ASTQB washington-sept-2015ASTQB washington-sept-2015
ASTQB washington-sept-2015
 
Big Data LDN 2016: When Big Data Meets Fast Data
Big Data LDN 2016: When Big Data Meets Fast DataBig Data LDN 2016: When Big Data Meets Fast Data
Big Data LDN 2016: When Big Data Meets Fast Data
 
Presentación Paco Bermejo - La Noche del Sector Financiero
Presentación Paco Bermejo - La Noche del Sector FinancieroPresentación Paco Bermejo - La Noche del Sector Financiero
Presentación Paco Bermejo - La Noche del Sector Financiero
 
Does Big Data Spell Big Costs- Impetus Webinar
Does Big Data Spell Big Costs- Impetus WebinarDoes Big Data Spell Big Costs- Impetus Webinar
Does Big Data Spell Big Costs- Impetus Webinar
 
Riverbed SteelCentral AppResponse 9.0 NetProfiler and NetShark 10.6
Riverbed SteelCentral AppResponse 9.0 NetProfiler and NetShark 10.6Riverbed SteelCentral AppResponse 9.0 NetProfiler and NetShark 10.6
Riverbed SteelCentral AppResponse 9.0 NetProfiler and NetShark 10.6
 
Riverbed SteelCentral Simplifies Web App Monitoring
Riverbed SteelCentral Simplifies Web App MonitoringRiverbed SteelCentral Simplifies Web App Monitoring
Riverbed SteelCentral Simplifies Web App Monitoring
 
Gab Genai Cloudera - Going Beyond Traditional Analytic
Gab Genai Cloudera - Going Beyond Traditional Analytic Gab Genai Cloudera - Going Beyond Traditional Analytic
Gab Genai Cloudera - Going Beyond Traditional Analytic
 
Application patterns
Application patternsApplication patterns
Application patterns
 
Enterprise Hadoop with Hortonworks and Nimble Storage
Enterprise Hadoop with Hortonworks and Nimble StorageEnterprise Hadoop with Hortonworks and Nimble Storage
Enterprise Hadoop with Hortonworks and Nimble Storage
 
RTBkit Introduction & Best Practices
RTBkit Introduction & Best PracticesRTBkit Introduction & Best Practices
RTBkit Introduction & Best Practices
 
Primavera Analytics 16.1 is Released - Everything You Need To Know
Primavera Analytics 16.1 is Released - Everything You Need To KnowPrimavera Analytics 16.1 is Released - Everything You Need To Know
Primavera Analytics 16.1 is Released - Everything You Need To Know
 
What's New In Primavera Analytics 16.1
What's New In Primavera Analytics 16.1What's New In Primavera Analytics 16.1
What's New In Primavera Analytics 16.1
 
Out With the Old, in With the Open-source: Brainshark's Complete CMS Migration
Out With the Old, in With the Open-source: Brainshark's Complete CMS MigrationOut With the Old, in With the Open-source: Brainshark's Complete CMS Migration
Out With the Old, in With the Open-source: Brainshark's Complete CMS Migration
 
How to scale your PaaS with OVH infrastructure?
How to scale your PaaS with OVH infrastructure?How to scale your PaaS with OVH infrastructure?
How to scale your PaaS with OVH infrastructure?
 
Level Up – How to Achieve Hadoop Acceleration
Level Up – How to Achieve Hadoop AccelerationLevel Up – How to Achieve Hadoop Acceleration
Level Up – How to Achieve Hadoop Acceleration
 
Intel Cloud Foundry and OpenStack
Intel Cloud Foundry and OpenStackIntel Cloud Foundry and OpenStack
Intel Cloud Foundry and OpenStack
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSS
 
Recipes for API Ninjas
Recipes for API NinjasRecipes for API Ninjas
Recipes for API Ninjas
 
Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014
 
APNIC services and Policy Development Process | IDNOG 5
APNIC services and Policy Development Process | IDNOG 5APNIC services and Policy Development Process | IDNOG 5
APNIC services and Policy Development Process | IDNOG 5
 

Dernier

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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 2024The Digital Insurer
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Dernier (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Cassandra and Riak at BestBuy.com

  • 2. WHO WE ARE • Best Buy is the world’s largest multi-channel consumer electronics retailer, with stores in the United States, Canada, China and Mexico. • We are the 10th largest online retailer in the United States • More than 1.6 billion visitors come to our stores and BestBuy.com each year. • Our My Best Buy loyalty program is among the largest loyalty programs of its kind, with more than 40 million active members. • We provide customers with outstanding choice, unbiased advice and unmatched support for the tech needs. January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 3. A UNIQUE CUSTOMER PROMISE • THE LATEST DEVICES AND SERVICES, ALL IN ONE PLACE • IMPARTIAL & KNOWLEDGEABLE ADVICE • COMPETITIVE PRICES • THE ABILITY TO SHOP WHEN AND WHERE YOU WANT • SUPPORT FOR THE LIFE OF YOUR PRODUCTS January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 4. JOEL CRABB KANNAN SWAMINATHAN Chief Architect, Director, Web BestBuy.com Architecture January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 5. NOSQL AT BESTBUY.COM • Schema-less design —Key–value systems —Sparse column systems —Non-relational data • Distributed nature —Eventual consistency —Active-Active across clouds and datacenters —High reliability —Horizontal scaling January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 6. BESTBUY.COM January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 7. SCALABILITY GOALS • Near-Infinite • Bursts • 7X traffic spikes • Bursts > 50,000 rps • #4 in eCommerce traffic during 2013 Holiday Walmart Best Buy January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 8. FLEXIBILITY GOALS Low cost of change Fast concepts to site Daily releases Multiple versions One day of work vs. two months
  • 9. RELIABILITY GOALS • 100% availability • Zero defects • Achieved 100% cloud uptime during Holiday • ~ 2s response times January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 10. CLOUD ARCHITECTURE CONCEPTS • Clouds fail; plan for it —Multiple availability zones —Multiple regions —Multiple vendors • Datacenter connections fail; plan for it —Serve pages completely from cloud —Browse-only fallback mode January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 11. CLOUD ARCHITECTURE CONCEPTS CDN: Global Traffic Manager Browse Cloud Browse Cloud Vendor 1 Vendor 2 Best Buy Datacenter January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 12. RIAK January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 13. PRODUCT CATALOG - REQUIREMENTS • Business Requirements —Easily add new attributes to products —Use existing product content feeding systems —Provide enhanced product data to all of Best Buy • Technical Requirements —Scale to BestBuy.com’s needs —One-way replication from DC to cloud —Provide a Product Catalog API usable by Best Buy applications internally (DC) and externally (cloud) January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 14. BROWSE CLOUD - ARCHITECTURE Persistent Cache Load Balancer Web App Web App Service Aggregator Product Data Product Data Datacenter Legacy Services and Product Data January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 15. WHY RIAK FOR THE PRODUCT CATALOG • Key-value Store —Easily add new attributes —Different attribute sets for different product categories • Hub and Spoke Replication —Multiple cloud instances can be out-of-synch for seconds or minutes; this is OK —Connection to Datacenter can be lost • Resilience within all tiers —Riak’s ring architecture allows single instances to fail with little impact to the system January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 16. WHY RIAK FOR THE PRODUCT CATALOG • Legacy Bridge —Extract data from legacy system —Expose to anyone who needs the data —Extends decision to retire legacy system • Input into Product Evolution —Best Buy is stretching Riak in multiple areas —Feedback on Search and Replication —Direct connection to Riak engineers January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 17. PRODUCT CATALOG DEPLOYMENT Cloud Replicant Cloud Replicant V1.2.1 Each Cloud Replicant is a self-contained instance which can intermittently lose connectivity to the Datacenter Datacenter Master V1.4.2 January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 18. PRODUCT CATALOG - DATA FLOW Cloud Web Application Granular Service Aggregator Service NoSQL Product Data Replication Extraction Datacenter Legacy Product Data NoSQL Product Data January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 19. RIAK LESSONS LEARNED • Search eats up the CPU (Pre-Yokozuna) Search Endpoint Removed January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 20. RIAK LESSONS LEARNED • Multi-datacenter replication is hard at scale • Object replication fails silently (v1.4.2) 1.5 hours for partial update 4000 objects/sec January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 21. DID THE PRODUCT CATALOG SUCCEED? • Scale – generally < 5 ms response times in cloud • Scope – provides APIs in cloud and DC Single zone 1.5 hours response update failure, for partial times jump to 8-10 ms 4 ms @ 95% 4000 objects/sec January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 22. CASSANDRA January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 23. CUSTOMER GRAPH - REQUIREMENTS • Business Requirements —Create a single identity provider —Build an adaptive model to support a 360 degree view of the customer, customer segmentation and multi-channel personalization —Extensible framework to support federated identity interoperability with external providers • Technical Requirements —Scale to BestBuy.com’s needs with a distributed service oriented architecture —Support risk based authentication and secure service interfaces for consumers January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 24. CUSTOMER GRAPH - ARCHITECTURE CDN + GTM + WAF Load Balancer API Load Balancer API Topology: NTS RF: 3 Partitioner: Random Data Center 1 / Region 1 API API Cassandra Ring Data Center n / Region n January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 25. CUSTOMER GRAPH - CONCEPTUAL Create Connection: POST /customers/Kannan/following/customers/Joel Get all Kannan’s connections: GET /customers/Kannan/connections Get Joel’s “followers”: GET customers/Joel/followers Get customers connecting to a specific store: GET /stores/{store id}/connecting/customer January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 26. CUSTOMER GRAPH – CONCEPTUAL Topics Products Blogs January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 27. WHY CASSANDRA? • No single point of failure • Delivers on Atomicity, Isolation & Durability • Eventual Consistency • Tunable Consistency for Reads vs. Writes • Linear Scalability • Querying a column slice or a range of row keys • Data can have expiration set • Reliable multiple data center replication January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 28. LESSONS LEARNED – DATA MODELING Use composite column names; static composite types Column names are stored physically sorted and indexed Store “values” as column names Wide rows in conjunction with composite columns can be used to build indices, but… For larger data sets, distribute the columns among rows A secondary index is best modeled as a separate column family January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 29. LESSONS LEARNED – DATA MODELING Do not store an entity as a single column blob Cannot index and query on entity attributes Updates to an entity attribute would require a read and then a write Mutate just the required columns on an entity row Do not read and then write January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 30. LESSONS LEARNED - MONITORING Heap Size and Use  GC Mutation Stage (Writes) & Read Stage (Reads)  Active and Pending AE Service, Stream & Message-Streaming-Pool Stages  Especially during scheduled repair or rebuild (while adding nodes to a new data center)  Streaming requires keep-alive connections (watch out for firewalls terminating idle established connections; update periodic tcp keep-alive ping rate) Compaction Stage & Compaction Count  IO Wait, Limits - nofiles, nproc January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 31. IMPLEMENTATION STRATEGY • Start with a project team —Riak – Product Catalog —Cassandra – Customer Graph • Build expertise in development and operations • As usage grows, create a Platform team —Combine engineering into one team —Project team can then focus on business features —Focus on automation January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 32. CONCLUSIONS • Riak and Cassandra have both been successful —Riak – No complete outages in two years —Cassandra – Flawless in its first Holiday in 2013 • Differences —Replication patterns are different —Write and read treatment is different —Deployment pattern are different • High Availability —Both have highly resilient architectures —Both scale linearly January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.
  • 33. January 16, 2014 @Copyright 2014 – Best Buy, Inc. All rights reserved.