Taking the first step: our journey to NoSQL at cars.com – Couchbase Connect 2016

Preview:

Citation preview

Implementation of Couchbaseat Cars.com

Couchbase Connect 2016

Jason WilliamsBruce Zawadzki

2

To be the leading decision engine that moves people through the car

ownership cycle with transparent, fun and engaging experiences.

3

4

5

Challenges & Opportunities

Identify Use Cases

Vendor Selection

Initial Launch

6

Challenges & Opportunities

Business

• Quickly onboard new data

• Quickly release new products

• Start small and iterate

• “Fail Fast” & Learn

Architecture

• Flexible data / documents

• Cost-effective scalability

• Fast data access

• Aligned to Cloud & SOA strategies

7

8

Use Cases

Vehicle Listings Profile Product Data Metrics Pricing Data

9

Vendor Selection Process• Initial Research

• POCs

• Proposals & Demos from 5 Solutions Providers

• Analyst Conversations

10

Why we chose Couchbase - Highlights• Features & Functions• N1QL, Secondary Indexes, Map Reduce Views, …

• Architectural Simplicity• Peer-to-Peer, Multi-dimensional scaling, …

• Performance & High Availability• Memory-first architecture, XDCR, …

• Cloud Readiness & SOA/Microservices Alignment• Easy on/off-prem deployment, document model aligns to fine-grained micro

services, …

11

First Use Cases

12

Goals of our first Couchbase use cases• Deploy and operationalize the new platform with minimal risk

• Provide visible business value

• Learn and document to accelerate future NoSQL development efforts at Cars

• Have fun

13

Vehicle ListingDemand Metrics

14

Vehicle Detail Page (VDP)

15

VDP Activity

16

Architecture

17

Unpackingthe Price

18

VDP – Features

19

VDP – Detailed Pricing

20

Architecture

21

Our Experience with Couchbase• Learning the basics and getting up and running on Couchbase was easy

• Automatic in-memory caching simplified our architecture and design

• Single node architecture simplified our deployment and support

• We liked that N1QL uses a familiar syntax and provides us with many of the same capabilities of a relational database if we need them

• We liked that the Couchbase SDK allows us to configure timeout and durability options on the client side so we can configure these as we need for each of our different use cases

• Couchbase offers flexibility

22

Thank You!

Recommended