Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
Next
Download to read offline and view in fullscreen.

Share

Extensible Data Modeling

Download to read offline

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.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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
  • serafinheaven

    Aug. 23, 2021
  • VisionLing

    May. 17, 2021
  • nguyendinhbang

    Dec. 23, 2020
  • binhthaigia

    Oct. 8, 2020
  • AbhinavGupta506

    Sep. 26, 2020
  • dasunhegoda

    Aug. 28, 2020
  • xocderjames

    May. 23, 2020
  • AbdulMalik145

    May. 17, 2020
  • JonathanBergqvist

    Jan. 24, 2020
  • EgorEremeev

    Nov. 16, 2019
  • pktheguitarman

    Oct. 8, 2019
  • jackliusr

    Aug. 23, 2019
  • trinhhung1801

    Jun. 11, 2019
  • DheerajKumar267

    May. 29, 2019
  • Mohammadebadi

    Apr. 12, 2019
  • hack-club

    Mar. 20, 2019
  • deddyfebriyadi

    Feb. 25, 2019
  • PiaCarmelaQuizon

    Feb. 7, 2019
  • svstanev1

    Aug. 1, 2018
  • svstanev1

    Aug. 1, 2018

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.

Views

Total views

37,258

On Slideshare

0

From embeds

0

Number of embeds

833

Actions

Downloads

990

Shares

0

Comments

0

Likes

89

×