©	
  2011	
  –	
  2013	
  PERCONA	
  
Extensible Data Modeling with MySQL
Bill Karwin
Percona Live MySQL Conference & Expo...
©	
  2011	
  –	
  2013	
  PERCONA	
  
	

“I need to add a
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Extensible Data Modeling
Upcoming SlideShare
Loading in...5
×

Extensible Data Modeling

8,754

Published on

Designing an extensible, flexible schema that supports user customization is a common requirement, but it's easy to paint yourself into a corner.

Examples of extensible database requirements:
- A database that allows users to declare new fields on demand.
- Or an e-commerce catalog with many products, each with distinct attributes.
- Or a content management platform that supports extensions for custom data.

The solutions we use to meet these requirements is overly complex and the performance is terrible. How should we find the right balance between schema and schemaless database design?

I'll briefly cover the disadvantages of Entity-Attribute-Value (EAV), a problematic design that's an example of the antipattern called the Inner-Platform Effect, That is, modeling an attribute-management system on top of the RDBMS architecture, which already provides attributes through columns, data types, and constraints.

Then we'll discuss the pros and cons of alternative data modeling patterns, with respect to developer productivity, data integrity, storage efficiency and query performance, and ease of extensibility.
- Class Table Inheritance
- Serialized BLOB
- Inverted Indexing

Finally we'll show tools like pt-online-schema-change and new features of MySQL 5.6 that take the pain out of schema modifications.

Published in: Technology
2 Comments
20 Likes
Statistics
Notes
  • @Omid Amraei
    Amraei I think you can do it with only one join.
    Just join the Attributes table on specific entity and get all the attributes that related to the specific entity.
    Am I missing something?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • In EAV, a common problem is that we don't know how many JOINs do we need to fetch all attributes. Do you know a solution ?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
8,754
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
257
Comments
2
Likes
20
Embeds 0
No embeds

No notes for slide

Transcript of "Extensible Data Modeling"

  1. 1. ©  2011  –  2013  PERCONA   Extensible Data Modeling with MySQL Bill Karwin Percona Live MySQL Conference & ExpoBill Karwin Percona Live 2013
  2. 2. ©  2011  –  2013  PERCONA   “I need to add a
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×