Presented by, MySQL & O’Reilly Media, Inc. MySQL in eBay’s Personalization Platform Chris Kasten eBay Kernel Framework Group April 16, 2008.

Slides:



Advertisements
Similar presentations
1/17/20141 Leveraging Cloudbursting To Drive Down IT Costs Eric Burgener Senior Vice President, Product Marketing March 9, 2010.
Advertisements

Case Study: Photo.net March 20, What is photo.net? An online learning community for amateur and professional photographers 90,000 registered users.
Performance Testing - Kanwalpreet Singh.
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
Alastair Dewhurst, Dimitrios Zilaskos RAL Tier1 Acknowledgements: RAL Tier1 team, especially John Kelly and James Adams Maximising job throughput using.
Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Standardizing Application.
WSUS Presented by: Nada Abdullah Ahmed.
© 2014 VMware Inc. All rights reserved. BlazeMeter Load Testing Solution with vCloud Air High-level Overview Jan 2015.
Caching the MDSPlus Data via Hibernate By Ajith M Jose Comp6703 Project Client: Raju Karia Supervisor: Dr. Henry Gardner (Development of “WebScope”)
Meanwhile RAM cost continues to drop Moore’s Law on total CPU processing power holds but in parallel processing… CPU clock rate stalled… Because.
Extensible Scalable Monitoring for Clusters of Computers Eric Anderson U.C. Berkeley Summer 1997 NOW Retreat.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Navision Business Analytics Joyce Leung, Partner Technology Specialist.
“IT Solutions for Tourism Industry” CAPS Workshop Yerevan April 14, 2009.
Web-Enabling the Warehouse Chapter 16. Benefits of Web-Enabling a Data Warehouse Better-informed decision making Lower costs of deployment and management.
Deploying Visual Studio Team System 2008 Team Foundation Server at Microsoft Published: June 2008 Using Visual Studio 2008 to Improve Software Development.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
© Hitachi Data Systems Corporation All rights reserved. 1 1 Det går pænt stærkt! Tony Franck Senior Solution Manager.
Capacity Planning in SharePoint Capacity Planning Process of evaluating a technology … Deciding … Hardware … Variety of Ways Different Services.
Infiniband enables scalable Real Application Clusters – Update Spring 2008 Sumanta Chatterjee, Oracle Richard Frank, Oracle.
Selling the Database Edition for Oracle on HP-UX November 2000.
1 Chapter Overview Monitoring Server Performance Monitoring Shared Resources Microsoft Windows 2000 Auditing.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
Intel ® Server Configurator Tool Training Guide. Intel® Server Configurator Tool Enhancements New Website look consistent with Intel style for ease of.
Transaction Processing Discussion
Exchange 2000 on Windows 2000 Data Center The Opportunity for Server Consolidation.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
M ODULE 2 D ATABASE I NSTALLATION AND C ONFIGURATION Section 1: DBMS Installation 1 ITEC 450 Fall 2012.
OFC 200 Microsoft Solution Accelerator for Intranets Scott Fynn Microsoft Consulting Services National Practices.
Database Edition for Sybase Sales Presentation. Market Drivers DBAs are facing immense time pressure in an environment with ever-increasing data Continuous.
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
Service Computation 2010November 21-26, Lisbon.
CakePHP is an open source web development framework. It follows Model-View- Controller and is developed using PHP. IT is the basic for user to create.
Selling the Storage Edition for Oracle November 2000.
Web Cache Redirection using a Layer-4 switch: Architecture, issues, tradeoffs, and trends Shirish Sathaye Vice-President of Engineering.
Kyung Hee University 1/41 Introduction Chapter 1.
Server to Server Communication Redis as an enabler Orion Free
Esri UC 2014 | Technical Workshop | Editing Versioned Geodatabases : An Introduction Cheryl Cleghorn and Shawn Thorne.
Microsoft’s Worldwide Marketing Database with Windows 2000 Datacenter Server Scaling Up to the Needs of the Worldwide Marketing Database with Windows.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
The Million Point PI System – PI Server 3.4 The Million Point PI System PI Server 3.4 Jon Peterson Rulik Perla Denis Vacher.
Chapter 20 Parallel Sysplex
WHAT EXACTLY IS ORACLE EXALYTICS?. 2 What Exactly Is Exalytics? AGENDA Exalytics At A Glance The Exa Family Do We Need Exalytics? Hardware & Software.
SQL Server 2012 Session: 1 Session: 4 SQL Azure Data Management Using Microsoft SQL Server.
I NTRODUCTION OF W EEK 2  Assignment Discussion  Due this week:  1-1 (Exam Proctor): everyone including in TLC  1-2 (SQL Review): review SQL  Review.
Copyright 2008 © Mobile Telephone Networks. All rights reserved. MTN Business Hosting Services: Efficient Localization of Web & Digital Content Tolulope.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Microsoft Dynamics NAV Dynamics NAV 2016 one Azure SQL Dmitry Chadayev Microsoft.
The Holmes Platform and Applications
Business System Development
Netscape Application Server
Business Critical Application Platform
LOCO Extract – Transform - Load
Open Source distributed document DB for an enterprise
2016 Citrix presentation.
Couchbase Server is a NoSQL Database with a SQL-Based Query Language
Navision Business Analytics
HPE Persistent Memory Microsoft Ignite 2017
VIDIZMO Deployment Options
Introduction to NewSQL
Business Critical Application Platform
Cloud Database Based on SQL Server 2012 Technologies
Introduction of Week 3 Assignment Discussion
Capitalize on modern technology
Azure the Power, Scale Behind Pre-Roll Ad SaaS Solution That Offers Real-Time Ad Decision Logic “With AdQ built upon the Microsoft Azure cloud platform,
Users Manage Terabytes of Data with Powerful and Agnostic Hosting from Azure Cloud Service Partner Logo “Given the challenges we face both in dealing with.
Database hidden disasters…
Salesforce.com Salesforce.com is the world leader in on-demand customer relationship management (CRM) services Manages sales, marketing, customer service,
SQL Server 2016 High Performance Database Offer.
Presentation transcript:

Presented by, MySQL & O’Reilly Media, Inc. MySQL in eBay’s Personalization Platform Chris Kasten eBay Kernel Framework Group April 16, 2008

Outline  Background  General Vision  General Requirements  Why MySQL Memory Engine?  System Overview  Results

Fun Facts About eBay  110 Million items for sale on the site  $59 Billion in gross merchandize value (GMV) per year  Approx $2,039 worth of goods traded on the site every second  276 Million registered users  2 Billion URL requests per day  6,000 application servers with 12,000 Java processes  40 Billion database requests per day  300 different databases (over 700 instances)  9 PB of data storage  13 million lines of source code (In 2008 will surpass Windows NT 4.0 O/S 16 million lines)

Background  Further distinguish the eBay shopping experience  Provide a more relevant and even better user experience  Provide users with a more rich experience with greater continuity  Provide users with the best selection tailored to their interests/profile  Provide better user experience through real time personalization data feedback loop that is immediately available  Provide users with tailored alternatives  Further distinguish the eBay business value proposition  Advertising shown to more relevant buyers  More effective merchandizing and marketing of items  Increase conversion rates through better buyer experience and greater relevancy of items presented to the buyer

Background  eBay needed to expand its real time personalization capabilities  eBay needed to be able to associate more data with sessions  Both personalization and session data were constrained by technology  Cookies limitation Client side cookie limit of 4KB data Long term scalability issue of sending all cookie data, whether needed or not  High cost of traditional server side solutions using an OLTP database eBay’s very large scale quickly multiplies costs in to a very large number Throughput of OLTP’s decrease with high write ratio of approximately 50% Large number of licenses/servers needed for throughput was cost prohibitive  High cost of other commercial alternatives at eBay’s very large scale  These constraints were limiting business decisions and had to be solved

General Vision Every Application Server Can Access Data For Every URL Request (All 2 Billion of them!) Session Data Personalization Data

General Requirements  Handle 4 Billion reads/writes per day  Support connections and requests from 12,000 Java processes  High throughput on low cost hardware  Scale both horizontally and vertically for 10x future growth  Scale without operational interruption  High availability and operational failure robustness  Low latency response times  Low licensing, support, and total cost of ownership costs  Enterprise class support agreement  Enterprise class management and monitoring tools  Driver for Java

Why MySQL Memory Engine?  MySQL Memory Engine had the best performance  Very impressive POC results for MySQL Memory Engine  Approx 2X more throughput than nearest competitor (Java driver)  eBay test case of 50/50 read/writes showed approx 13,000 50% CPU for a Sun 4100 running Solaris 10 x86 (2 CPU, Dual Core Opteron, 16GB RAM) for a network client  Handled 20,000 concurrent connections with less than 1% degradation in throughput than baseline case (eBay developed patch)  Production performance has been consistent with POC results

Why MySQL Memory Engine?  MySQL Enterprise had a very attractive cost structure  MySQL’s ability to offer enterprise class support  MySQL’s combined throughput and cost structure provided a low cost system for the scale of eBay  Power and flexibility of using SQL for different needs  A company with a significant track record

Why MySQL Memory Engine?  The power of open source  eBay has developed and contributed two enhancements to MySQL Support for an event port based threading and connection handling model for scalable connection handling Support for true variable size columns in MySQL Memory Engine  Option to be able to apply our talent and create the enhancements we need quickly  Receive the benefits of innovations of others via open source

Why MySQL Memory Engine?  The power of an open source company behind the product  Ability to collaborate with MySQL on enhancements to the product  Option to request enhancements from a company behind the product  Out of the box monitoring and administration tools  Eliminate tying up high end eBay talent in owning it ourselves  An enterprise class open source product  Enterprise class support offerings for use in critical systems

eBay Personalization System Overview MySQL Memory Engine Cache Tier Application Servers Browser Persistent Database

Replication eBay Personalization System Overview MySQL Memory Engine Cache Tier Application Servers Persistent Database 5 min Batched Write Back Read/Write Cache Miss Read

eBay Personalization System Overview  Replication optional based on criticality of data loss for past 5 min  Trade-off between data criticality versus double the memory cost  Some personalization data may not be critical enough for the additional hardware cost  Single threaded MySQL replication is generally problematic  Once replication falls behind it stays behind with continued traffic  Replication can be achieved via dual writes from the application server performed transparently by the framework  Second write to replica can be asynchronous  Automatic redistribution of data when node failure or draining a node

eBay Personalization System Overview  Write back to persistent database performed by batch process  Evictions performed by batch process based on target free memory  Buffering space is set aside in case persistent database is unavailable  Special techniques used to minimize table lock duration during write back and eviction operations

Results  A business critical system running on MySQL Enterprise for one of the largest scale websites in the world  Highly scalable and low cost system that handles all of eBay’s personalization and session data needs  Ability to handle 4 billion requests per day of 50/50 read/write operations for approximately 40KB of data per user / session  Approx 25 Sun 4100’s running 100% of eBay’s personalization and session data service (2 CPU, Dual core Opteron, 16 GB RAM, Solaris 10 x86)

Results  Highly manageable system for entire operational life cycle  Leveraging MySQL Dashboard as a critical tool in providing insight into system performance, trending, and identifying issues  Adding new applications to ebay.com domain that previously would have been in a different domain because of cookie constraints  Creating several new business opportunities that would not have been possible without this new low cost personalization platform  Leveraging MySQL Memory Engine for other types of caching tiers that are enabling new business opportunities

Q & A  Thank you for coming!  Questions?