SlideShare uma empresa Scribd logo
1 de 22
Introducing Social Networking Into an e-commerce Platform Tomer Gabel |  SHC Israel 03.02.2011
Social Commerce: An Introduction The last few years have seen tremendous growth in social networks Some estimates place Facebook above Google Even if not, we’re talking millions of daily unique visitors So the obvious question is… where’s the money? 2
Social Commerce: An Introduction 3
Social Commerce: Business Case What’s wrong with traditional e-commerce? Discovery/recommendation features are extremely hard to get right Overly broad market targeting means lost sales and disgruntled, ad-weary customers The trust model is inherently broken Impossible to gauge truth and accuracy in customer reviews “Wisdom of the masses” does not always apply Not fun! Shopping is a social experience (going to the mall, holiday shopping sprees) This does not translate to existing e-commerce sites! 4
Social Commerce: Business Case “Social commerce” aims to address these deficiencies Correlating interests and products is more accurate and significantly easier when based on social context Social circles are inherently constructed on shared interests and perspectives A customer’s social network is much smaller in scope than generating a global, statistical recommendation model More accurate personalized data exposes new opportunities Personalized discovery allows more opportunity to tap the long tail Social interaction makes it easy to identify domain experts A single opinion provided by a friend, family member or acquaintance is more trustworthy than dozens of unrelated product reviews/ratings 5
Social Commerce: Business Case Most crucially, social commerce is all about user engagement and collaboration: Should I buy an iPhone, Blackberry or Android phone? Which wedding dress looks best?  Which video games are suitable for a preschooler? 6 Ask your friends!
Social Commerce: The Axiom Social features increase user engagement Increased conversion Profit! 7
8 Enter: Delver
Enter: Delver The Delver team has two products on the market Two sides of the same coin, really: sears.com is a traditional e-commerce website with a social twist delver.com is a traditional social website with an e-commerce twist 9
The Technical Challenge sears.com is a fully blown commercial retail site Over 1 million page-views daily Over 270,000 visitors daily Traffic can easily spike up to ten times in the holiday season! 10
The Technical Challenge Processing social networks is not an easy proposition Massive amounts of branching data No data locality Very few assumptions can be made about the data Let’s address each of these in turn 11 Source: NetworkWeaver
The Technical Challenge Massive amounts of branching data: Imagine every Facebook user (500 million) Imagine each person is only connected to 100 others (conservative estimate) How is user X connected with Y? X has 100 friends Each of them has 100 friends 10,001 nodes visited! 101 reads from the underlying storage system! 12 X Y
The Technical Challenge No data locality: Any object may be connected to any other object in no particular order How to split the data? Some research is being done in the area (SPAR) 13
The Technical Challenge No easy assumptions: No “typical user” Not enough data to draw archetypes Significant, unavoidable long tail Difficult to pre-tune data structures 14
The Technical Challenge The crux of the problem: High branch factor necessitates many loads to serve even a simple request No data locality + high branch factor means very high random I/O Traditional storage models (RDBMS, flat files etc.) are a poor fit Serious research into graph storage, social network composition etc. only dates back a few years No best practices or “accepted truths” to build on 15
Use Case for GigaSpaces To solve the graph storage and traversal problem, we arrived at the following requirements: Completely in-memory storage No data locality means caching is inefficient Massive amounts of random I/O cannot scale vertically, and hardware (basically, spindle count) cost quickly becomes prohibitive If data access is sufficiently fast, data can be randomly partitioned Horizontal scaling with a well-known scale-up strategy Add more memory or more nodes to handle data growth Add more CPUs or additional nodes to handle load growth 16
Use Case for GigaSpaces Additional requirements include: Map/Reduce execution framework Graph traversal and data analysis requirements lend well to the map/reduce paradigm Code execution on the data nodes Because of the massive amounts of data involved, the network interface will be quickly saturated by retrievals Memory retrieval is at least two orders of magnitude faster than network throughput (DDR2-800 on a dual channel memory controller has a theoretical throughput maximum of 102.4Gb/s) 17
Use Case for GigaSpaces As an operations tech I had a few things to add to the list, namely… Nonfunctional requirements: Built-in fault tolerance and high availability Zero-configuration (or as close to it as it gets) setup; in particular, component discovery and assignment must be automated Well-documented deployment, configuration and tuning process Monitoring API Administrative client for diagnosis, trouble resolution and manual intervention 18
Use Case for GigaSpaces GigaSpaces features map well to our requirements Data grid Compute grid High availability Horizontal data and load scaling Management API Very few viable alternatives: Hadoop, neo4j are disk-based Terracotta is overly simplistic and has no execution framework Oracle Coherence is expensive and has a limited feature set 19
Delver Architecture We ended up with a hybrid platform: GigaSpaces for graph storage, traversal and analysis MySQL for traditional, “simple” data as well as a backing store for GigaSpaces .NET-based front-end, Java-based back-end We had to factor our organization accordingly Data access team provides abstracted interfaces on top of GigaSpaces and MySQL Back-end “heavy lifting” services (e.g. recommendation engine) work directly against GigaSpaces Most other components either use the abstracted DAL or are simple enough to work directly against MySQL using (N)Hibernate 20
Delver Architecture 21
Key Benefits Significantly reduced integration costs GigaSpaces does a lot of what we need out of the box An alternative solution would require integrating several products, incurring significant integration and development overhead Broad feature set Social commerce is an emerging, dynamic market requiring rapid experimentation and adaptation The large feature set allows us to introduce new features into the system at a furious pace While primarily intended for graph storage, we also use GigaSpaces as a message queue, distributed lock server and distributed scheduler 22

Mais conteúdo relacionado

Mais procurados

BBDO Proximity: Big-data May 2013
BBDO Proximity: Big-data May 2013BBDO Proximity: Big-data May 2013
BBDO Proximity: Big-data May 2013
Brian Crotty
 

Mais procurados (11)

5 Big Data Visualization Maps that Will Make Your HEAD EXPLODE
5 Big Data Visualization Maps that Will Make Your HEAD EXPLODE5 Big Data Visualization Maps that Will Make Your HEAD EXPLODE
5 Big Data Visualization Maps that Will Make Your HEAD EXPLODE
 
A Primer for a layman about Big Data, Business Analytics and Cloud
A Primer for a layman  about Big Data, Business Analytics and CloudA Primer for a layman  about Big Data, Business Analytics and Cloud
A Primer for a layman about Big Data, Business Analytics and Cloud
 
Notes from the Observation Deck // A Data Revolution
Notes from the Observation Deck // A Data Revolution Notes from the Observation Deck // A Data Revolution
Notes from the Observation Deck // A Data Revolution
 
The state of the Big Data market
The state of the Big Data marketThe state of the Big Data market
The state of the Big Data market
 
BBDO Proximity: Big-data May 2013
BBDO Proximity: Big-data May 2013BBDO Proximity: Big-data May 2013
BBDO Proximity: Big-data May 2013
 
Big MDM Part 2: Using a Graph Database for MDM and Relationship Management
Big MDM Part 2: Using a Graph Database for MDM and Relationship ManagementBig MDM Part 2: Using a Graph Database for MDM and Relationship Management
Big MDM Part 2: Using a Graph Database for MDM and Relationship Management
 
The Web Revolution: Data, Design & Driving Results
The Web Revolution: Data, Design & Driving ResultsThe Web Revolution: Data, Design & Driving Results
The Web Revolution: Data, Design & Driving Results
 
Big data overview external
Big data overview externalBig data overview external
Big data overview external
 
Big Data Case study - caixa bank
Big Data Case study - caixa bankBig Data Case study - caixa bank
Big Data Case study - caixa bank
 
IBM Governed Data Lake
IBM Governed Data LakeIBM Governed Data Lake
IBM Governed Data Lake
 
How AI will impact Web and Social Media Intelligence - Uljan Sharka (Crystal.io)
How AI will impact Web and Social Media Intelligence - Uljan Sharka (Crystal.io)How AI will impact Web and Social Media Intelligence - Uljan Sharka (Crystal.io)
How AI will impact Web and Social Media Intelligence - Uljan Sharka (Crystal.io)
 

Semelhante a SHC Israel: GigaSpaces Case Study

Introducing social networking into an e commerce platform - (delver) sears ho...
Introducing social networking into an e commerce platform - (delver) sears ho...Introducing social networking into an e commerce platform - (delver) sears ho...
Introducing social networking into an e commerce platform - (delver) sears ho...
Nati Shalom
 
Big Data PPT by Rohit Dubey
Big Data PPT by Rohit DubeyBig Data PPT by Rohit Dubey
Big Data PPT by Rohit Dubey
Rohit Dubey
 
The Growth Of Data Centers
The Growth Of Data CentersThe Growth Of Data Centers
The Growth Of Data Centers
Gina Buck
 
How to Place Data at the Center of Digital Transformation in BFSI
How to Place Data at the Center of Digital Transformation in BFSIHow to Place Data at the Center of Digital Transformation in BFSI
How to Place Data at the Center of Digital Transformation in BFSI
Denodo
 
The future of scaling forrester research - GigaSpaces Road Show 2011
The future of scaling forrester research - GigaSpaces Road Show 2011The future of scaling forrester research - GigaSpaces Road Show 2011
The future of scaling forrester research - GigaSpaces Road Show 2011
Nati Shalom
 

Semelhante a SHC Israel: GigaSpaces Case Study (20)

Introducing social networking into an e commerce platform - (delver) sears ho...
Introducing social networking into an e commerce platform - (delver) sears ho...Introducing social networking into an e commerce platform - (delver) sears ho...
Introducing social networking into an e commerce platform - (delver) sears ho...
 
Big Data PPT by Rohit Dubey
Big Data PPT by Rohit DubeyBig Data PPT by Rohit Dubey
Big Data PPT by Rohit Dubey
 
Improve your Tech Quotient
Improve your Tech QuotientImprove your Tech Quotient
Improve your Tech Quotient
 
NoSQL Basics - a quick tour
NoSQL Basics - a quick tourNoSQL Basics - a quick tour
NoSQL Basics - a quick tour
 
Big Data
Big DataBig Data
Big Data
 
Big Data is changing abruptly, and where it is likely heading
Big Data is changing abruptly, and where it is likely headingBig Data is changing abruptly, and where it is likely heading
Big Data is changing abruptly, and where it is likely heading
 
Big Data By Vijay Bhaskar Semwal
Big Data By Vijay Bhaskar SemwalBig Data By Vijay Bhaskar Semwal
Big Data By Vijay Bhaskar Semwal
 
Big Data using NoSQL Technologies
Big Data using NoSQL TechnologiesBig Data using NoSQL Technologies
Big Data using NoSQL Technologies
 
The Growth Of Data Centers
The Growth Of Data CentersThe Growth Of Data Centers
The Growth Of Data Centers
 
Big Data Basic Concepts | Presented in 2014
Big Data Basic Concepts  | Presented in 2014Big Data Basic Concepts  | Presented in 2014
Big Data Basic Concepts | Presented in 2014
 
Future of Data Strategy (ASEAN)
Future of Data Strategy (ASEAN)Future of Data Strategy (ASEAN)
Future of Data Strategy (ASEAN)
 
Big Data, NoSQL, NewSQL & The Future of Data Management
Big Data, NoSQL, NewSQL & The Future of Data ManagementBig Data, NoSQL, NewSQL & The Future of Data Management
Big Data, NoSQL, NewSQL & The Future of Data Management
 
To mesh or mess up your data organisation - Jochem van Grondelle (Prosus/OLX ...
To mesh or mess up your data organisation - Jochem van Grondelle (Prosus/OLX ...To mesh or mess up your data organisation - Jochem van Grondelle (Prosus/OLX ...
To mesh or mess up your data organisation - Jochem van Grondelle (Prosus/OLX ...
 
How to Place Data at the Center of Digital Transformation in BFSI
How to Place Data at the Center of Digital Transformation in BFSIHow to Place Data at the Center of Digital Transformation in BFSI
How to Place Data at the Center of Digital Transformation in BFSI
 
Big data business case
Big data   business caseBig data   business case
Big data business case
 
Exercise solution of chapter3 of datawarehouse cs614(solution of exercise)
Exercise solution of chapter3 of datawarehouse cs614(solution of exercise)Exercise solution of chapter3 of datawarehouse cs614(solution of exercise)
Exercise solution of chapter3 of datawarehouse cs614(solution of exercise)
 
The future of scaling forrester research - GigaSpaces Road Show 2011
The future of scaling forrester research - GigaSpaces Road Show 2011The future of scaling forrester research - GigaSpaces Road Show 2011
The future of scaling forrester research - GigaSpaces Road Show 2011
 
Introduction Big data
Introduction Big data  Introduction Big data
Introduction Big data
 
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your DataCloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
 
SegmentOfOne
SegmentOfOneSegmentOfOne
SegmentOfOne
 

Mais de Tomer Gabel

Mais de Tomer Gabel (20)

How shit works: Time
How shit works: TimeHow shit works: Time
How shit works: Time
 
Nondeterministic Software for the Rest of Us
Nondeterministic Software for the Rest of UsNondeterministic Software for the Rest of Us
Nondeterministic Software for the Rest of Us
 
Slaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency InjectionSlaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency Injection
 
An Abridged Guide to Event Sourcing
An Abridged Guide to Event SourcingAn Abridged Guide to Event Sourcing
An Abridged Guide to Event Sourcing
 
How shit works: the CPU
How shit works: the CPUHow shit works: the CPU
How shit works: the CPU
 
How Shit Works: Storage
How Shit Works: StorageHow Shit Works: Storage
How Shit Works: Storage
 
Java 8 and Beyond, a Scala Story
Java 8 and Beyond, a Scala StoryJava 8 and Beyond, a Scala Story
Java 8 and Beyond, a Scala Story
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice Stack
 
Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)
 
Scala Refactoring for Fun and Profit
Scala Refactoring for Fun and ProfitScala Refactoring for Fun and Profit
Scala Refactoring for Fun and Profit
 
Onboarding at Scale
Onboarding at ScaleOnboarding at Scale
Onboarding at Scale
 
Scala in the Wild
Scala in the WildScala in the Wild
Scala in the Wild
 
Speaking Scala: Refactoring for Fun and Profit (Workshop)
Speaking Scala: Refactoring for Fun and Profit (Workshop)Speaking Scala: Refactoring for Fun and Profit (Workshop)
Speaking Scala: Refactoring for Fun and Profit (Workshop)
 
Put Your Thinking CAP On
Put Your Thinking CAP OnPut Your Thinking CAP On
Put Your Thinking CAP On
 
Leveraging Scala Macros for Better Validation
Leveraging Scala Macros for Better ValidationLeveraging Scala Macros for Better Validation
Leveraging Scala Macros for Better Validation
 
A Field Guide to DSL Design in Scala
A Field Guide to DSL Design in ScalaA Field Guide to DSL Design in Scala
A Field Guide to DSL Design in Scala
 
Functional Leap of Faith (Keynote at JDay Lviv 2014)
Functional Leap of Faith (Keynote at JDay Lviv 2014)Functional Leap of Faith (Keynote at JDay Lviv 2014)
Functional Leap of Faith (Keynote at JDay Lviv 2014)
 
Scala Back to Basics: Type Classes
Scala Back to Basics: Type ClassesScala Back to Basics: Type Classes
Scala Back to Basics: Type Classes
 
5 Bullets to Scala Adoption
5 Bullets to Scala Adoption5 Bullets to Scala Adoption
5 Bullets to Scala Adoption
 
Nashorn: JavaScript that doesn’t suck (ILJUG)
Nashorn: JavaScript that doesn’t suck (ILJUG)Nashorn: JavaScript that doesn’t suck (ILJUG)
Nashorn: JavaScript that doesn’t suck (ILJUG)
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
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...
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 

SHC Israel: GigaSpaces Case Study

  • 1. Introducing Social Networking Into an e-commerce Platform Tomer Gabel | SHC Israel 03.02.2011
  • 2. Social Commerce: An Introduction The last few years have seen tremendous growth in social networks Some estimates place Facebook above Google Even if not, we’re talking millions of daily unique visitors So the obvious question is… where’s the money? 2
  • 3. Social Commerce: An Introduction 3
  • 4. Social Commerce: Business Case What’s wrong with traditional e-commerce? Discovery/recommendation features are extremely hard to get right Overly broad market targeting means lost sales and disgruntled, ad-weary customers The trust model is inherently broken Impossible to gauge truth and accuracy in customer reviews “Wisdom of the masses” does not always apply Not fun! Shopping is a social experience (going to the mall, holiday shopping sprees) This does not translate to existing e-commerce sites! 4
  • 5. Social Commerce: Business Case “Social commerce” aims to address these deficiencies Correlating interests and products is more accurate and significantly easier when based on social context Social circles are inherently constructed on shared interests and perspectives A customer’s social network is much smaller in scope than generating a global, statistical recommendation model More accurate personalized data exposes new opportunities Personalized discovery allows more opportunity to tap the long tail Social interaction makes it easy to identify domain experts A single opinion provided by a friend, family member or acquaintance is more trustworthy than dozens of unrelated product reviews/ratings 5
  • 6. Social Commerce: Business Case Most crucially, social commerce is all about user engagement and collaboration: Should I buy an iPhone, Blackberry or Android phone? Which wedding dress looks best? Which video games are suitable for a preschooler? 6 Ask your friends!
  • 7. Social Commerce: The Axiom Social features increase user engagement Increased conversion Profit! 7
  • 9. Enter: Delver The Delver team has two products on the market Two sides of the same coin, really: sears.com is a traditional e-commerce website with a social twist delver.com is a traditional social website with an e-commerce twist 9
  • 10. The Technical Challenge sears.com is a fully blown commercial retail site Over 1 million page-views daily Over 270,000 visitors daily Traffic can easily spike up to ten times in the holiday season! 10
  • 11. The Technical Challenge Processing social networks is not an easy proposition Massive amounts of branching data No data locality Very few assumptions can be made about the data Let’s address each of these in turn 11 Source: NetworkWeaver
  • 12. The Technical Challenge Massive amounts of branching data: Imagine every Facebook user (500 million) Imagine each person is only connected to 100 others (conservative estimate) How is user X connected with Y? X has 100 friends Each of them has 100 friends 10,001 nodes visited! 101 reads from the underlying storage system! 12 X Y
  • 13. The Technical Challenge No data locality: Any object may be connected to any other object in no particular order How to split the data? Some research is being done in the area (SPAR) 13
  • 14. The Technical Challenge No easy assumptions: No “typical user” Not enough data to draw archetypes Significant, unavoidable long tail Difficult to pre-tune data structures 14
  • 15. The Technical Challenge The crux of the problem: High branch factor necessitates many loads to serve even a simple request No data locality + high branch factor means very high random I/O Traditional storage models (RDBMS, flat files etc.) are a poor fit Serious research into graph storage, social network composition etc. only dates back a few years No best practices or “accepted truths” to build on 15
  • 16. Use Case for GigaSpaces To solve the graph storage and traversal problem, we arrived at the following requirements: Completely in-memory storage No data locality means caching is inefficient Massive amounts of random I/O cannot scale vertically, and hardware (basically, spindle count) cost quickly becomes prohibitive If data access is sufficiently fast, data can be randomly partitioned Horizontal scaling with a well-known scale-up strategy Add more memory or more nodes to handle data growth Add more CPUs or additional nodes to handle load growth 16
  • 17. Use Case for GigaSpaces Additional requirements include: Map/Reduce execution framework Graph traversal and data analysis requirements lend well to the map/reduce paradigm Code execution on the data nodes Because of the massive amounts of data involved, the network interface will be quickly saturated by retrievals Memory retrieval is at least two orders of magnitude faster than network throughput (DDR2-800 on a dual channel memory controller has a theoretical throughput maximum of 102.4Gb/s) 17
  • 18. Use Case for GigaSpaces As an operations tech I had a few things to add to the list, namely… Nonfunctional requirements: Built-in fault tolerance and high availability Zero-configuration (or as close to it as it gets) setup; in particular, component discovery and assignment must be automated Well-documented deployment, configuration and tuning process Monitoring API Administrative client for diagnosis, trouble resolution and manual intervention 18
  • 19. Use Case for GigaSpaces GigaSpaces features map well to our requirements Data grid Compute grid High availability Horizontal data and load scaling Management API Very few viable alternatives: Hadoop, neo4j are disk-based Terracotta is overly simplistic and has no execution framework Oracle Coherence is expensive and has a limited feature set 19
  • 20. Delver Architecture We ended up with a hybrid platform: GigaSpaces for graph storage, traversal and analysis MySQL for traditional, “simple” data as well as a backing store for GigaSpaces .NET-based front-end, Java-based back-end We had to factor our organization accordingly Data access team provides abstracted interfaces on top of GigaSpaces and MySQL Back-end “heavy lifting” services (e.g. recommendation engine) work directly against GigaSpaces Most other components either use the abstracted DAL or are simple enough to work directly against MySQL using (N)Hibernate 20
  • 22. Key Benefits Significantly reduced integration costs GigaSpaces does a lot of what we need out of the box An alternative solution would require integrating several products, incurring significant integration and development overhead Broad feature set Social commerce is an emerging, dynamic market requiring rapid experimentation and adaptation The large feature set allows us to introduce new features into the system at a furious pace While primarily intended for graph storage, we also use GigaSpaces as a message queue, distributed lock server and distributed scheduler 22
  • 23. Now is a good time for… Questions?COMMENTS? 23
  • 24. Endgame Experience our work! Visit Delver at http://www.delver.com/in?invite=friends-and-family Visit Sears Social at http://catalog.sears.com Read about our work at http://blog.delver.com Have anything to discuss? Contact me at tomer@delver.com Visit my blog at http://www.tomergabel.com Follow me on Twitter at http://www.twitter.com/tomerg Thank you for your time! 24

Notas do Editor

  1. Image sources (also linked):* Facebook US traffic estimates (http://www.insidefacebook.com/2011/01/03/november-2010-facebook-traffic/)* Top 20 visited websites (http://www.hitwise.com/us/datacenter/main/)
  2. Sources:Sumeet Jain: http://vator.tv/news/2010-12-27-2011-location-and-social-will-rule-commerceAndy Leaver: http://www.currybet.net/cbet_blog/2009/11/notes-and-quotes-from-ecommerc-2.phpGordon Gould: http://socialcommercetoday.com/will-2010-be-the-year-of-social-commerce/
  3. Case in point:Discovery and recommendation features: when was the last time YOU “might be interested in this product”? How accurate are the typical recommendation systems for you?Just how relevant is the typical ad or marketing campaign? When was the last time you went into Amazon and got a coupon for a truly relevant occasion or product? How tired are you of flashing banners?
  4. Public data source: http://bizinformation.ca/www.sears.com#visitors
  5. Massive amounts of data:* Imagine modeling every person on the planet (say, 6 billion). Now say each person is connected to just 100 others (a conservative estimate)Image source: http://networkweaver.blogspot.com/2010/03/overlapping-boards.html
  6. SPAR presentation: http://www.slideshare.net/jmpujol/the-little-engines-that-could-scaling-online-social-networksImage source: http://paysa09.wikispaces.com/Networks
  7. Time distribution image source: http://blog.nielsen.com/nielsenwire/global/social-norms-twitter-users-follow-the-797-rule-in-the-u-k/Twitter following distribution image source: http://www.personalizemedia.com/twitter-long-tail-broadcastization-pre-twitter-reputation/
  8. Inevitably, someone will ask: what are the problems you encountered?Barrier of entry:Ops: setting up a GigaSpaces cluster is not a hassle-free affair. Lots of work went into a robust, efficient bootstrapping procedure and we had to content with quite a few unexpected snags. I believe things are a lot better with the current version than they were a while ago. Furthermore, the overall cost of setting up and deploying GigaSpaces is significantly less than the total overhead for using specific products to tackle our various needs (compared to a traditional system, the cost of setting up e.g. MySQL+RHCS+client configuration; more likely we’d have had to use some sort of 3rd party graph storage, clustering and persistence solution)Devs: working against GigaSpacesis considerably harder than vanilla, commonplace RDBMS. To counter the barrier of entry we modeled our organization so that a core team of developers handle graph storage and data analysis, with most other teams either integrating with this subsystem or handling their own requirements with regular Hibernate/NHibernate over MySQL.Hard to handle migration paths, zero-time deployment and schema evolution. Features in 8.0 should help remedy the situation (cue Nati Shalom)