Title: Transaction Processing Discussion
1Transaction ProcessingDiscussion
2Discussion
- Question 1 eBay and Amazon have been competing
with each other for some time. Between the two
companies, one observation is that Amazon has
continued to innovate and adapt, while eBay has
basically held steady. - Discuss eBays opportunities over its rivals.
What areas it should span, or what technology it
should invest, in order to maintain its strength
and growth?
3The World of Internet Business
4eBay's New Tough Love CEO
- John Donahoe assumed the role of CEO on March 31,
2008 - "The market is saying that they are in real big
trouble, - Buyers and sellers are trying out rival Web
sites, Amazon, Google, Etsy - Investors has grown as the company's shares have
lost half their value over the past three years - Donahoe is planning major investments in
technology, including ways that will make it
easier for buyers to browse and find goods. "We
need to aggressively change our product, our
customer approach, and our business model - The core auction and retail businesses, which
account for the majority of revenue, are showing
signs of weakness. - The number of active users has been flat for
three quarters, at 83 million. - The number of new products listed on the site has
inched up only 4 from a year ago. - And the number of stores selling goods at fixed
prices on eBay has actually declined from a year
earlier, to 532,000. - Need to push eBay to be more innovative. "EBay
has to be more aggressive and think about
strategic planning five to 10 years down the
line"
EBay's New Tough Love CEO Business Week, January
23, 2008, Forbes, Feb. 2008
5Net Revenue by Type
Source EBAY INC. REPORTS FIRST QUARTER 2008
RESULTS
6Supplemental Operating Data
Source EBAY INC. REPORTS FIRST QUARTER 2008
RESULTS
7How about Amazon Google ?
- Amazon's investments in technology have made it
easier for buyers to find what they want from
sellers. There's also more of a sense of trust
among its users because Amazon stands behind most
third-party transactions. - Google has its own payment system called Checkout
- On eBay, it can be extremely difficult to get
your money back if you're burned by a seller or
buyer. - eBay needs to better integrate its auctions with
the fixed price shopping convenience offered at
sites like Amazon.com - Keep the excitement of winning an auction while
providing the easy, convenient option of buying
at a set price
8Pick A Strategic Path
- Focus on the one thing that it does best and
penetrate new markets - Credit card use is increasing in China and India
- In 2003, eBay acquired Chinese company Eachnet to
launch its operations in the country. However, in
2006, when eBay put its Chinese operation into a
joint venture with Tom Online(???), a local
wireless Internet company, analysts viewed the
move as a retreat for eBay. - Take its core competencies and expand into
related businesses where its auctions are a
complement - Expanding into new but auction-related businesses
through acquisition - PayPal and Shopping.com
- EBay can use the social nature of its site to
create new tools that could improve the rate of
purchases, gain more "wallet share" from its
existing customers.
9Making eBay "Easier And Safer to Use"
- Competition has eroded much of the advantage that
eBay once had - Roll out new search technology in certain
categories that enables shoppers to look for
specific items based on relevancy and to narrow
their results by color, brand, size, and other
features - Launched a new photo-focused service that allows
users essentially to window shop for things,
rather than read through long descriptions beside
small thumbnail images - Address few areas--including fraud, the
difficulties some have in navigating through the
site and the need for better search tools.
10Perfect The Basics
- Marry the value-selection fun created by auctions
with the convenience and opportunity inherent in
fixed price - Rework search abilities, making it easier to add
pictures to listings, and is changing its web
site to improve the company's merchant rating
system - EBay's challenge is to launch innovative new
services, either through acquisitions or
experimentation within the company
EBay's New Tough Love CEO Business Week, January
23, 2008,
11eBay Disruptive Innovation
- Both sides of eBay marketplace
- Attracting and retaining continued stream of
buyers - Internet era, consumer is always evolving
- Whats new?
12Fun Projects
eBay Desktop 1.0 (February 26, 2008) the enhanced
eBay Desktop application that lets users search,
bid/receive alerts, and more
eBay Flyer (December 21, 2007) print out your
awesome auction in an easy to read format, ready
for posting on a local bulletin board
eBay Marketplace on Facebook (August 21,
2007) eBay your Facebook friends sheer
genius. Post, brag and peek at your favorite eBay
friends and items. alerts, and more
eBay Countdown (July 20, 2007) watch, bid and win
auctions using a live clock and instant bidding
with eBay Countdown
Bid Assistant (May 17, 2007) having trouble
winning an item? create a group of items youre
interested in, set your maximum bids, and Bid
Assistant will bid on your behalf until you win
one item from the group
eBay ToGo (April 30, 2007) show off eBay
listings on any web page
eBay Deal Finder (November 8, 2006) use eBay eBay
Deal Finder to discover valuable items that
others haven't including items with zero bids
MapIt (October 1, 2006) find eBay items near you
by plotting search results on a map
eBay Matchups (September 1, 2006) pit your
favorite items, celebrities, or concepts against
each other in a popularity contest powered bye
eBay
13Fun 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 - 309 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)
eBays vision is to help people everywhere
connect, discover and interact with each other
through commerce
Source MySQL in eBays Personalization
Platform Chris Kasten, eBay Kernel Framework
Group April 16, 2008 eBay 2007 Annual Meeting of
Stockholders June 14, 2007
14Find Buy - Pay
15Improve the Finding Experience
16Improve the Finding Experience
- New Search Result
- New Search Landing Pages
17Improve the Finding Experience
- New Search Result
- New Search Landing Pages
- New Relevancy Based Listing Sort Best Match
18Improve the Shopping Experience
19Improve the Shopping Experience
- Bid Assistant
- Detailed Seller Ratings Feedback 2.0
20Improve the Shopping Experience
- Bid Assistant
- Detailed Seller Ratings Feedback 2.0
- Improved eBay Checkout
21Improve the Shopping Experience
- Bid Assistant
- Detailed Seller Ratings Feedback 2.0
- Improved eBay Checkout
- Motors 2.0
22Extend offering
- eBay Express
- Convenience oriented buyer
- New search engine
- Shopping cart
23Extend offering
- Tickets -StubHub
- A leading secondary tickets marketplace
- Best in class buying/selling experience
24Improve Trust Safety
- Safeguarding Member IDs
- Selling limits on items favored by counterfeiters
- Enhanced buyer protection
25Background
- 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
Source MySQL in eBays Personalization
Platform Chris Kasten, eBay Kernel Framework
Group April 16, 2008
26eBay Architecture
- eBay Serves 5 Billion API Calls Each Month.
- More and more traffic driven by mashups composed
on top of open APIs - Everyday 26 billion SQL queries and keeps tabs on
100 million items available for purchase. - 1 billion page views a day, 105 million listings,
2 petabytes of data, 3 billion API calls a month - The database is virtualized and spans 600
production instances residing in more than 100
server clusters - 15,000 application servers, all J2EE. About 100
groups of functionality aka "apps". Notion of a
"pool" "all the machines that deal with
selling"..
Lesson Learned
Virtualize Components Reduce physical
dependencies. Improve deployment flexibility.
Scale Out, Not Up Horizontal scaling at every
tier. Functional decomposition.
Prefer Asynchronous Integration Minimize
availability coupling. Improve scaling options.
27The Architecture
- Scaling only horizontal, not vertical many
parallel boxes. - Architectures is strictly divided into layers
data tier, application tier, search, operations, - Split databases by primary access path, modulo on
a key. - Every database has at least 3 on-line databases.
Distributed over 8 data centers - Some database copies run 15 min behind, 4 hours
behind - Databases are segmented by function user, item
account, feedback, transaction, over 70 in all. - No stored procedures, simple triggers
- Move out cpu-intensive work to application layer
- No client-side transactions, no distributed
transactions - Uses reliable multicast from primary database to
search nodes, in-memory search index, horizontal
segmentation, N slices, load-balances over M
instances, cache queries.
28Background
- 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 - eBays very large scale quickly multiplies costs
in to a very large number - Throughput of OLTPs 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
eBays very large scale - These constraints were limiting business
decisions and had to be solved
Source MySQL in eBays Personalization
Platform Chris Kasten, eBay Kernel Framework
Group April 16, 2008
29eBay Personalization System General Vision
Every Application Server Can Access Data For
Every URL Request (All 2 Billion of them!)
Session Data Personalization Data
Chris Kasten Bay Kernel Framework Group April
16, 2008
30eBay Personalization System
MySQL Memory Engine Cache Tier
Application Servers
Browser
Persistent Database
Chris Kasten Bay Kernel Framework Group April
16, 2008
31eBay Personalization System
MySQL Memory Engine Cache Tier
Application Servers
5 min Batched Write Back
Replication
Read/Write
Cache Miss Read
Persistent Database
Chris Kasten Bay Kernel Framework Group April
16, 2008
32eBay 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
Chris Kasten Bay Kernel Framework Group April
16, 2008
33eBay 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
Chris Kasten Bay Kernel Framework Group April
16, 2008
34Results
- 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 eBays 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
Chris Kasten Bay Kernel Framework Group April
16, 2008
35Results
- 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
Chris Kasten Bay Kernel Framework Group April
16, 2008
36How eBay Searches and Updates 100 Million
Listings in 60 Seconds
- The search infrastructure at eBay
- eBay featured up to 100 million listings, and
60,000 changes per minute, now it takes only a
minute or two for a new item to show up in the
search engine - Instead of searching the entire database at once,
eBay looks at nearly two dozen slices. Conducting
smaller searches simultaneously at data centers
in San Jose and Phoenix and elsewhere is much
faster. The trick is then combining those sets of
results to look like a single query.
37Architectural Forces
- Scalability
- Resource usage should increase linearly with load
- Design for 10x growth in data, traffic, users,
rtc. - Availability
- Resilience of failure
- Graceful degradation
- Recoverability from failure
- Latency
- User experience latency
- Data Latency
- Manageability
- Simplicity
- Maintainability
- Diagnostics
- Cost
- Development effort and complexity
- Operational cost (TCO)
Randy Shoup, eBay Distinguished Architect
38Architectural Strategies
- Strategy 1 Partition Everything
- How do you eat an elephant?... One bite at a time
- Strategy 2 Async Everywhere
- Good things come to those who wait
- Strategy 3 Automate Everything
- Give a man a fish and he eats for a day teach a
man to fish and he eats for a lifetime - Strategy 4 Remember Everything Fails
- Be prepared
Randy Shoup, eBay Distinguished Architect
39Partition Database
- Segment database into functional areas
- Group data using standard modeling technique
- Cardinality (11, 1N, MN)
- Relationships
- Usage characteristics
- Logical hosts
- Abstract applications logical representation
from hosts physical location - Support combining and splitting without code
change
User
Item
Transaction
Product
Account
Feedback
Randy Shoup, eBay Distinguished Architect
40Horizontal Split
- Split database horizontally along primary access
path - Multiple split approaches for different use cases
- Modulo on key (item id, user id, etc.)
- Aggregation / routing in Data Access Layer (DAL)
Randy Shoup, eBay Distinguished Architect
41Search
- Read-only search decoupled from write-intensive
transactional database - Horizontal split, aggregate parallelizes query
over N slices, load-balances over M instances
Randy Shoup, eBay Distinguished Architect
42Async Everywhere
ItemHost N
Selling
Randy Shoup, eBay Distinguished Architect
43eBay Flyer
44Bid Assistant
http//innovation.ebay.com/?p12
45eBay Countdown
46eBay To Go (beta)!
Showcase your favorite eBay discoveries directly
on your website or blog! Setting up eBay To Go
is both easy and free. Create your widget now and
make your website stand out!
47eBay Deal Finder
48Where did Map It go?
- Map It was a prototype site designed to make it
easy to find eBay items close to you. - Unfortunately, the eBay Map It prototype is no
longer available.
- What is was Map It?
- Map It is a prototype site that is designed to
make it easy to find eBay items near to you. It
features a prominent zip code box as well as
search results that are plotted on a map. - Why did eBay build Map It?
- Map It was built by a couple of eBays internal
developers as an example of what can be done
using eBays APIs (which can be accessed publicly
through the eBay Developers Program). Map It
provides an entirely different way to look at
eBay.
49Sorry! eBay Matchups is closed
What we used to say about Matchups Have you
ever wanted to put two things side by side and
determine which is better? Thats a Match
Up. And thats what eBay Match Ups lets you do
create a Match Up, vote for the winners, and
interact with other eBay members! Launched in
September of 2006, eBay Matchups has grown from a
private beta project built off of the eBay API to
being home to one of most thriving and eccentric
communities on eBay.