SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
‹#›
@BrendanColeman1 | brendan.coleman@rivetlogic.com
NoSQl Design Considerations and Lessons Learned
‹#›
We only have 30mins…
What%is%out%there%
Thinking%Non1Rela4onal%%
Design%Tidbits%%
Recently%Built%%
Lessons%Learned%
Rivet&Logic&+&a&consul1ng&company&building&applica1ons&with&Modern&Technology&&
‹#›
The Database Debate
Consistency%%
Availability%%
Par44oning%%
Atomic%%
Consistency%%
Isola4on%%
Durability%%
CAP%
ACID%
‹#›
What is out there
MongoDB%
{%
%%%_id:%“brendan",%
%%%name:%“Brendan%Coleman",%
%%%address:%{%
%%%%%%%%%%%%%%street:%"123%RL%Street",%
%%%%%%%%%%%%%%city:%"Reston",%
%%%%%%%%%%%%%%state:%"VA",%
%%%%%%%%%%%%%%zip:%"12345"%
%%%%%%%%%%%%}%
}%
Riak%
Neo4j%
Cassandra%
event%:%Phish%%
loca4on%:%SF%
name%:%Brendan%
age%:%30%
name%:%Dina%
age%:%21%
HAS_ATTENDED%
on:%07/31/2000%
ra4ng:%2%
HAS_ATTENDED%
on:%07/31/2000%
ra4ng:%5%
FRIEND_OF%
since:%07/31/1998%
ra4ng:%5%
FRIEND_OF%
since:%07/31/1998%
ra4ng:%5%
Data$Type$ Key$$ Value$
Product$
Inventory$Item$$
SKU$$ JSON/HTML/
XML/Document$
‹#›
Thinking Non-Relational
○  No SQL
○  No Joins
○  Not a drop-in replacement for RDBMS
○  Normalized vs Denormalized
○  No you can’t use all the same tools (but that is improving)
○  Know your data access patterns
SELECT%name%
FROM%corpora4on%
WHERE%corp_id%=%3;%%
‹#›
Expectations
○  30+yrs vs <7yrs (be realistic)
○  Tradeoffs mean tradeoffs (CAP, ACID, Tooling, Training,etc.)
○  Scale and speed is relative to your need (Don’t be fooled by fluff)
○  Tooling is immature but improving (tooling is a tradeoff)
○  All DB are not created equally (right time and place)
‹#›
Questions to ask Yourself?
○  Will the requirements evolve?
○  most likely
○  Do I understand the tradeoffs?
○  must have vs like to have
○  What are the expectations of the data and patterns?
○  read vs write / analytics
○  Build vs Buy Behavior?
○  changing internal culture is a process
○  Is the ops team on board?
○  life will be SO MUCH easier with their support
‹#›
Schema Design Tidbits
Data access patterns should drive your design
○  MongoDB
○  Collections don’t enforce structure (not like a table)
○  Embedding data
○  Balancing app needs, performance and data retrieval
○  Cassandra
○  Model around your queries
○  Distribute data evenly
○  Minimize partition reads (partition = groups of rows that share the same key)
‹#›
Architecture Examples
Secondary%
Primary%
Node%
Primary%%
Secondary%
Secondary%Secondary%
MongoDB%%
Node%
Node%
Node%
Node%
Node%
Cassandra%
Scale%out%
‹#›
UGC%+%
Analy4cs%%
Recently built on NoSQL
Data%Hub%
Data%Source%Data%Source%Data%Source%
{%
%%%_id:%“brendan",%
%%%name:%“Brendan%Coleman",%
%%%address:%{%
%%%%%%%%%%%%%%street:%"123%RL%Street",%
%%%%%%%%%%%%%%city:%"Reston",%
%%%%%%%%%%%%%%state:%"VA",%
%%%%%%%%%%%%%%zip:%"12345"%
%%%%%%%%%%%%}%
}%
User%Data%Management%%
‹#›
Lessons Learned
○  Schema design is an ongoing process - defining a ‘golden record’ is not always needed
○  Optimization is a team effort
○  Test your shard keys (MongoDB)
○  Don’t skimp on testing & use PRODUCTION data
○  what you assume is not always the outcome in production
○  Shared resources will impact performance - peaks and valleys are frustrating
○  Understand what tools are available and where they are in maturity
○  Don’t get lost in the hype
○  Enable the ‘data consumer’
○  JSON is beautiful
‹#›
Now you are ready for NoSQL!
○  Education will eliminate hesitation
○  Don’t get lost in the marketing fluff
○  Get Ops involved (not just for developers)
○  It’s just a DB (still need a frontend)
‹#›
Check Out What We DO - www.rivetlogic.com
More questions: brendan.coleman@rivetlogic.com
@BrendanColeman1
Do%your%research%
Leverage%resources%available%
Validate%use1case%with%DB%selec4on%%
Socware%can%be%free%(some4mes)%but%4me%isn’t%%
Ques4ons?%

Más contenido relacionado

Destacado

NoSQL and Data Modeling for Data Modelers
NoSQL and Data Modeling for Data ModelersNoSQL and Data Modeling for Data Modelers
NoSQL and Data Modeling for Data ModelersKaren Lopez
 
Software Developer and Architecture @ LinkedIn (QCon SF 2014)
Software Developer and Architecture @ LinkedIn (QCon SF 2014)Software Developer and Architecture @ LinkedIn (QCon SF 2014)
Software Developer and Architecture @ LinkedIn (QCon SF 2014)Sid Anand
 
Operational Analytics Using Spark and NoSQL Data Stores
Operational Analytics Using Spark and NoSQL Data StoresOperational Analytics Using Spark and NoSQL Data Stores
Operational Analytics Using Spark and NoSQL Data StoresDATAVERSITY
 
Security Design Considerations Module 3 - Training Sample
Security Design Considerations Module 3 - Training SampleSecurity Design Considerations Module 3 - Training Sample
Security Design Considerations Module 3 - Training SampleContent Rules, Inc.
 
Non-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value StoresNon-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value StoresJoël Perras
 
Persistence Smoothie: Blending SQL and NoSQL (RubyNation Edition)
Persistence  Smoothie: Blending SQL and NoSQL (RubyNation Edition)Persistence  Smoothie: Blending SQL and NoSQL (RubyNation Edition)
Persistence Smoothie: Blending SQL and NoSQL (RubyNation Edition)Michael Bleigh
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Alexandre Morgaut
 
7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth7. Key-Value Databases: In Depth
7. Key-Value Databases: In DepthFabio Fumarola
 
5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2Fabio Fumarola
 
Slides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
Slides: NoSQL Data Modeling Using JSON Documents – A Practical ApproachSlides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
Slides: NoSQL Data Modeling Using JSON Documents – A Practical ApproachDATAVERSITY
 
Query mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesQuery mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesArangoDB Database
 
Advanced data modeling with apache cassandra
Advanced data modeling with apache cassandraAdvanced data modeling with apache cassandra
Advanced data modeling with apache cassandraPatrick McFadin
 
Visually impaired as a design challenge
Visually impaired as a design challenge Visually impaired as a design challenge
Visually impaired as a design challenge Husam AlMuzainy
 
Architecture for hot and humid climate
Architecture for hot and humid climateArchitecture for hot and humid climate
Architecture for hot and humid climateAsmita Rawool
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBLee Theobald
 
Irish And Celtic Social Media
Irish And Celtic Social MediaIrish And Celtic Social Media
Irish And Celtic Social MediaMark Logan
 

Destacado (19)

NoSQL and Data Modeling for Data Modelers
NoSQL and Data Modeling for Data ModelersNoSQL and Data Modeling for Data Modelers
NoSQL and Data Modeling for Data Modelers
 
Software Developer and Architecture @ LinkedIn (QCon SF 2014)
Software Developer and Architecture @ LinkedIn (QCon SF 2014)Software Developer and Architecture @ LinkedIn (QCon SF 2014)
Software Developer and Architecture @ LinkedIn (QCon SF 2014)
 
Operational Analytics Using Spark and NoSQL Data Stores
Operational Analytics Using Spark and NoSQL Data StoresOperational Analytics Using Spark and NoSQL Data Stores
Operational Analytics Using Spark and NoSQL Data Stores
 
Security Design Considerations Module 3 - Training Sample
Security Design Considerations Module 3 - Training SampleSecurity Design Considerations Module 3 - Training Sample
Security Design Considerations Module 3 - Training Sample
 
Non-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value StoresNon-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value Stores
 
Persistence Smoothie: Blending SQL and NoSQL (RubyNation Edition)
Persistence  Smoothie: Blending SQL and NoSQL (RubyNation Edition)Persistence  Smoothie: Blending SQL and NoSQL (RubyNation Edition)
Persistence Smoothie: Blending SQL and NoSQL (RubyNation Edition)
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
 
NoSQL meets Microservices
NoSQL meets MicroservicesNoSQL meets Microservices
NoSQL meets Microservices
 
7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth
 
Real-World NoSQL Schema Design
Real-World NoSQL Schema DesignReal-World NoSQL Schema Design
Real-World NoSQL Schema Design
 
5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2
 
Slides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
Slides: NoSQL Data Modeling Using JSON Documents – A Practical ApproachSlides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
Slides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
 
Query mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesQuery mechanisms for NoSQL databases
Query mechanisms for NoSQL databases
 
Advanced data modeling with apache cassandra
Advanced data modeling with apache cassandraAdvanced data modeling with apache cassandra
Advanced data modeling with apache cassandra
 
Visually impaired as a design challenge
Visually impaired as a design challenge Visually impaired as a design challenge
Visually impaired as a design challenge
 
Architecture for hot and humid climate
Architecture for hot and humid climateArchitecture for hot and humid climate
Architecture for hot and humid climate
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
Irish And Celtic Social Media
Irish And Celtic Social MediaIrish And Celtic Social Media
Irish And Celtic Social Media
 
Async
AsyncAsync
Async
 

Similar a NoSQL Design Considerations and Lessons Learned

NewBCamp08: Intro to Web Standards
NewBCamp08: Intro to Web StandardsNewBCamp08: Intro to Web Standards
NewBCamp08: Intro to Web StandardsAdam Darowski
 
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced FeaturesAndrew Liu
 
The Future Of CSS
The Future Of CSSThe Future Of CSS
The Future Of CSSAndy Budd
 
Ruby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseRuby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseWisely chen
 
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...Junho Choi
 
Under the Hood with MySQL
Under the Hood with MySQLUnder the Hood with MySQL
Under the Hood with MySQLohiocore
 
Standardizing the Web: A Look into the Why of Web Standards
Standardizing the Web: A Look into the Why of Web StandardsStandardizing the Web: A Look into the Why of Web Standards
Standardizing the Web: A Look into the Why of Web StandardsTim Wright
 
2012 11 7 TAR Webinar Part 3 Sigler
2012 11 7 TAR Webinar Part 3 Sigler2012 11 7 TAR Webinar Part 3 Sigler
2012 11 7 TAR Webinar Part 3 SiglerSonya Sigler
 
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012Daum DNA
 
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...Junho Choi
 
Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Moullet
 
Can Confidence Assessment Enhance Traditional Multiple-Choice Testing?
Can Confidence Assessment Enhance Traditional Multiple-Choice Testing?Can Confidence Assessment Enhance Traditional Multiple-Choice Testing?
Can Confidence Assessment Enhance Traditional Multiple-Choice Testing?Martin Ebner
 
Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]
Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]
Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]RootedCON
 
When To Use Ruby On Rails
When To Use Ruby On RailsWhen To Use Ruby On Rails
When To Use Ruby On Railsdosire
 
Introduction to-web-application-development-with-vaadin7
Introduction to-web-application-development-with-vaadin7Introduction to-web-application-development-with-vaadin7
Introduction to-web-application-development-with-vaadin7Johannes Eriksson
 
Overview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseOverview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseBrendan Tierney
 

Similar a NoSQL Design Considerations and Lessons Learned (20)

NewBCamp08: Intro to Web Standards
NewBCamp08: Intro to Web StandardsNewBCamp08: Intro to Web Standards
NewBCamp08: Intro to Web Standards
 
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
 
Speed Index, explained!
Speed Index, explained!Speed Index, explained!
Speed Index, explained!
 
The Future Of CSS
The Future Of CSSThe Future Of CSS
The Future Of CSS
 
Ruby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseRuby on Rails in UbiSunrise
Ruby on Rails in UbiSunrise
 
Introduction To R
Introduction To RIntroduction To R
Introduction To R
 
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
글로벌 CDN과 동적 웹 가속 기술 (Global CDN & Dynamic Web Acceleration) - FNet Grand Conf...
 
Under the Hood with MySQL
Under the Hood with MySQLUnder the Hood with MySQL
Under the Hood with MySQL
 
Standardizing the Web: A Look into the Why of Web Standards
Standardizing the Web: A Look into the Why of Web StandardsStandardizing the Web: A Look into the Why of Web Standards
Standardizing the Web: A Look into the Why of Web Standards
 
2012 11 7 TAR Webinar Part 3 Sigler
2012 11 7 TAR Webinar Part 3 Sigler2012 11 7 TAR Webinar Part 3 Sigler
2012 11 7 TAR Webinar Part 3 Sigler
 
The Future of CSS
The Future of CSSThe Future of CSS
The Future of CSS
 
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
글로벌 CDN서비스와 웹 성능 향상 방법론 | Devon 2012
 
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
글로벌 CDN서비스와 웹 성능 향상 방법론 (Global CDN and Web Performance Optimization) - DevOn...
 
Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012
 
Can Confidence Assessment Enhance Traditional Multiple-Choice Testing?
Can Confidence Assessment Enhance Traditional Multiple-Choice Testing?Can Confidence Assessment Enhance Traditional Multiple-Choice Testing?
Can Confidence Assessment Enhance Traditional Multiple-Choice Testing?
 
Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]
Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]
Carlos Díaz y Fco. Jesús Gómez - CMD: Look who's talking too [RootedCON 2012]
 
When To Use Ruby On Rails
When To Use Ruby On RailsWhen To Use Ruby On Rails
When To Use Ruby On Rails
 
Introduction to-web-application-development-with-vaadin7
Introduction to-web-application-development-with-vaadin7Introduction to-web-application-development-with-vaadin7
Introduction to-web-application-development-with-vaadin7
 
Overview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseOverview of running R in the Oracle Database
Overview of running R in the Oracle Database
 
MongoDB 3.2 - Analytics
MongoDB 3.2  - AnalyticsMongoDB 3.2  - Analytics
MongoDB 3.2 - Analytics
 

Más de rivetlogic

Storytelling for CX: Make Your Audience the Hero
Storytelling for CX: Make Your Audience the HeroStorytelling for CX: Make Your Audience the Hero
Storytelling for CX: Make Your Audience the Herorivetlogic
 
How to Accelerate Your Digital Transformation With Design Thinking
How to Accelerate Your Digital Transformation With Design ThinkingHow to Accelerate Your Digital Transformation With Design Thinking
How to Accelerate Your Digital Transformation With Design Thinkingrivetlogic
 
Ensuring the Success of a Global Partner Network - How Dropbox is managing it...
Ensuring the Success of a Global Partner Network - How Dropbox is managing it...Ensuring the Success of a Global Partner Network - How Dropbox is managing it...
Ensuring the Success of a Global Partner Network - How Dropbox is managing it...rivetlogic
 
How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...
How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...
How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...rivetlogic
 
Reimagine Your Video Communications With Video Center on AWS
Reimagine Your Video Communications With Video Center on AWSReimagine Your Video Communications With Video Center on AWS
Reimagine Your Video Communications With Video Center on AWSrivetlogic
 
Elevate Your Digital Experiences with Cloud Content Management on Box
Elevate Your Digital Experiences with Cloud Content Management on BoxElevate Your Digital Experiences with Cloud Content Management on Box
Elevate Your Digital Experiences with Cloud Content Management on Boxrivetlogic
 
Delivering Connected Digital Experiences for Engaging the Modern Day Customer
Delivering Connected Digital Experiences for Engaging the Modern Day CustomerDelivering Connected Digital Experiences for Engaging the Modern Day Customer
Delivering Connected Digital Experiences for Engaging the Modern Day Customerrivetlogic
 
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWSrivetlogic
 
5 Reasons Why Your CMS Should Move to the Cloud
5 Reasons Why Your CMS Should Move to the Cloud5 Reasons Why Your CMS Should Move to the Cloud
5 Reasons Why Your CMS Should Move to the Cloudrivetlogic
 
Improve Employee Engagement With a Mobile Enabled Intranet
Improve Employee Engagement With a Mobile Enabled IntranetImprove Employee Engagement With a Mobile Enabled Intranet
Improve Employee Engagement With a Mobile Enabled Intranetrivetlogic
 
Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting
Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting
Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting rivetlogic
 
Incorporating Mobile Into Your Digital Experience Strategy
Incorporating Mobile Into Your Digital Experience StrategyIncorporating Mobile Into Your Digital Experience Strategy
Incorporating Mobile Into Your Digital Experience Strategyrivetlogic
 
Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...
Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...
Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...rivetlogic
 
Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...
Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...
Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...rivetlogic
 
Social Intranets for Smarter Enterprise Collaboration
Social Intranets for Smarter Enterprise CollaborationSocial Intranets for Smarter Enterprise Collaboration
Social Intranets for Smarter Enterprise Collaborationrivetlogic
 
AT&T’s Mobile Developer Community: Social, Personalized, and Built for Scale
AT&T’s Mobile Developer Community: Social, Personalized, and Built for ScaleAT&T’s Mobile Developer Community: Social, Personalized, and Built for Scale
AT&T’s Mobile Developer Community: Social, Personalized, and Built for Scalerivetlogic
 
SEO with Liferay
SEO with LiferaySEO with Liferay
SEO with Liferayrivetlogic
 
Implementing an SEO Strategy for Your Liferay Websites
Implementing an SEO Strategy for Your Liferay WebsitesImplementing an SEO Strategy for Your Liferay Websites
Implementing an SEO Strategy for Your Liferay Websitesrivetlogic
 
Building Engaging Customer Experiences Powered by MongoDB
Building Engaging Customer Experiences Powered by MongoDBBuilding Engaging Customer Experiences Powered by MongoDB
Building Engaging Customer Experiences Powered by MongoDBrivetlogic
 
Social Intranets on Liferay for Smarter Enterprise Collaboration
Social Intranets on Liferay for Smarter Enterprise CollaborationSocial Intranets on Liferay for Smarter Enterprise Collaboration
Social Intranets on Liferay for Smarter Enterprise Collaborationrivetlogic
 

Más de rivetlogic (20)

Storytelling for CX: Make Your Audience the Hero
Storytelling for CX: Make Your Audience the HeroStorytelling for CX: Make Your Audience the Hero
Storytelling for CX: Make Your Audience the Hero
 
How to Accelerate Your Digital Transformation With Design Thinking
How to Accelerate Your Digital Transformation With Design ThinkingHow to Accelerate Your Digital Transformation With Design Thinking
How to Accelerate Your Digital Transformation With Design Thinking
 
Ensuring the Success of a Global Partner Network - How Dropbox is managing it...
Ensuring the Success of a Global Partner Network - How Dropbox is managing it...Ensuring the Success of a Global Partner Network - How Dropbox is managing it...
Ensuring the Success of a Global Partner Network - How Dropbox is managing it...
 
How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...
How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...
How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...
 
Reimagine Your Video Communications With Video Center on AWS
Reimagine Your Video Communications With Video Center on AWSReimagine Your Video Communications With Video Center on AWS
Reimagine Your Video Communications With Video Center on AWS
 
Elevate Your Digital Experiences with Cloud Content Management on Box
Elevate Your Digital Experiences with Cloud Content Management on BoxElevate Your Digital Experiences with Cloud Content Management on Box
Elevate Your Digital Experiences with Cloud Content Management on Box
 
Delivering Connected Digital Experiences for Engaging the Modern Day Customer
Delivering Connected Digital Experiences for Engaging the Modern Day CustomerDelivering Connected Digital Experiences for Engaging the Modern Day Customer
Delivering Connected Digital Experiences for Engaging the Modern Day Customer
 
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
 
5 Reasons Why Your CMS Should Move to the Cloud
5 Reasons Why Your CMS Should Move to the Cloud5 Reasons Why Your CMS Should Move to the Cloud
5 Reasons Why Your CMS Should Move to the Cloud
 
Improve Employee Engagement With a Mobile Enabled Intranet
Improve Employee Engagement With a Mobile Enabled IntranetImprove Employee Engagement With a Mobile Enabled Intranet
Improve Employee Engagement With a Mobile Enabled Intranet
 
Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting
Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting
Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting
 
Incorporating Mobile Into Your Digital Experience Strategy
Incorporating Mobile Into Your Digital Experience StrategyIncorporating Mobile Into Your Digital Experience Strategy
Incorporating Mobile Into Your Digital Experience Strategy
 
Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...
Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...
Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...
 
Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...
Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...
Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...
 
Social Intranets for Smarter Enterprise Collaboration
Social Intranets for Smarter Enterprise CollaborationSocial Intranets for Smarter Enterprise Collaboration
Social Intranets for Smarter Enterprise Collaboration
 
AT&T’s Mobile Developer Community: Social, Personalized, and Built for Scale
AT&T’s Mobile Developer Community: Social, Personalized, and Built for ScaleAT&T’s Mobile Developer Community: Social, Personalized, and Built for Scale
AT&T’s Mobile Developer Community: Social, Personalized, and Built for Scale
 
SEO with Liferay
SEO with LiferaySEO with Liferay
SEO with Liferay
 
Implementing an SEO Strategy for Your Liferay Websites
Implementing an SEO Strategy for Your Liferay WebsitesImplementing an SEO Strategy for Your Liferay Websites
Implementing an SEO Strategy for Your Liferay Websites
 
Building Engaging Customer Experiences Powered by MongoDB
Building Engaging Customer Experiences Powered by MongoDBBuilding Engaging Customer Experiences Powered by MongoDB
Building Engaging Customer Experiences Powered by MongoDB
 
Social Intranets on Liferay for Smarter Enterprise Collaboration
Social Intranets on Liferay for Smarter Enterprise CollaborationSocial Intranets on Liferay for Smarter Enterprise Collaboration
Social Intranets on Liferay for Smarter Enterprise Collaboration
 

Último

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

NoSQL Design Considerations and Lessons Learned

  • 1. ‹#› @BrendanColeman1 | brendan.coleman@rivetlogic.com NoSQl Design Considerations and Lessons Learned
  • 2. ‹#› We only have 30mins… What%is%out%there% Thinking%Non1Rela4onal%% Design%Tidbits%% Recently%Built%% Lessons%Learned% Rivet&Logic&+&a&consul1ng&company&building&applica1ons&with&Modern&Technology&&
  • 4. ‹#› What is out there MongoDB% {% %%%_id:%“brendan",% %%%name:%“Brendan%Coleman",% %%%address:%{% %%%%%%%%%%%%%%street:%"123%RL%Street",% %%%%%%%%%%%%%%city:%"Reston",% %%%%%%%%%%%%%%state:%"VA",% %%%%%%%%%%%%%%zip:%"12345"% %%%%%%%%%%%%}% }% Riak% Neo4j% Cassandra% event%:%Phish%% loca4on%:%SF% name%:%Brendan% age%:%30% name%:%Dina% age%:%21% HAS_ATTENDED% on:%07/31/2000% ra4ng:%2% HAS_ATTENDED% on:%07/31/2000% ra4ng:%5% FRIEND_OF% since:%07/31/1998% ra4ng:%5% FRIEND_OF% since:%07/31/1998% ra4ng:%5% Data$Type$ Key$$ Value$ Product$ Inventory$Item$$ SKU$$ JSON/HTML/ XML/Document$
  • 5. ‹#› Thinking Non-Relational ○  No SQL ○  No Joins ○  Not a drop-in replacement for RDBMS ○  Normalized vs Denormalized ○  No you can’t use all the same tools (but that is improving) ○  Know your data access patterns SELECT%name% FROM%corpora4on% WHERE%corp_id%=%3;%%
  • 6. ‹#› Expectations ○  30+yrs vs <7yrs (be realistic) ○  Tradeoffs mean tradeoffs (CAP, ACID, Tooling, Training,etc.) ○  Scale and speed is relative to your need (Don’t be fooled by fluff) ○  Tooling is immature but improving (tooling is a tradeoff) ○  All DB are not created equally (right time and place)
  • 7. ‹#› Questions to ask Yourself? ○  Will the requirements evolve? ○  most likely ○  Do I understand the tradeoffs? ○  must have vs like to have ○  What are the expectations of the data and patterns? ○  read vs write / analytics ○  Build vs Buy Behavior? ○  changing internal culture is a process ○  Is the ops team on board? ○  life will be SO MUCH easier with their support
  • 8. ‹#› Schema Design Tidbits Data access patterns should drive your design ○  MongoDB ○  Collections don’t enforce structure (not like a table) ○  Embedding data ○  Balancing app needs, performance and data retrieval ○  Cassandra ○  Model around your queries ○  Distribute data evenly ○  Minimize partition reads (partition = groups of rows that share the same key)
  • 10. ‹#› UGC%+% Analy4cs%% Recently built on NoSQL Data%Hub% Data%Source%Data%Source%Data%Source% {% %%%_id:%“brendan",% %%%name:%“Brendan%Coleman",% %%%address:%{% %%%%%%%%%%%%%%street:%"123%RL%Street",% %%%%%%%%%%%%%%city:%"Reston",% %%%%%%%%%%%%%%state:%"VA",% %%%%%%%%%%%%%%zip:%"12345"% %%%%%%%%%%%%}% }% User%Data%Management%%
  • 11. ‹#› Lessons Learned ○  Schema design is an ongoing process - defining a ‘golden record’ is not always needed ○  Optimization is a team effort ○  Test your shard keys (MongoDB) ○  Don’t skimp on testing & use PRODUCTION data ○  what you assume is not always the outcome in production ○  Shared resources will impact performance - peaks and valleys are frustrating ○  Understand what tools are available and where they are in maturity ○  Don’t get lost in the hype ○  Enable the ‘data consumer’ ○  JSON is beautiful
  • 12. ‹#› Now you are ready for NoSQL! ○  Education will eliminate hesitation ○  Don’t get lost in the marketing fluff ○  Get Ops involved (not just for developers) ○  It’s just a DB (still need a frontend)
  • 13. ‹#› Check Out What We DO - www.rivetlogic.com More questions: brendan.coleman@rivetlogic.com @BrendanColeman1 Do%your%research% Leverage%resources%available% Validate%use1case%with%DB%selec4on%% Socware%can%be%free%(some4mes)%but%4me%isn’t%% Ques4ons?%