Friday, November 20, 2009

Should mysql engine types allow support at column level

As Mysql developer, I am now challenged with designing schema's and applications tied to each engine type like InnoDB vs PBXT . Each engine has its pro's and con's, in practice CAP theorem is more and more influencing distributed application design .
Should MySQL or drizzle start addressing this impedance mismatch between various engines and application. Atleast drizzle is modular and provides ability to replace virtually any component of upper and lower RDMBS.

The following could be a sample pseudo DDL for create table
CREATE Table email_tbl ( id int PK,
email_address varchar "compressed",
rfc_content blob "udf or pbxt"" isolation level for reads" ) table engine ( MyISAM or InnoDB)


Thoughts on Innodb Scaling using waffle grid

Some thoughts on scaling innodb with waffle grid

Leverage OS container virtualization
  • Static or on demand OS containers provisioning
  • Instantiate memcache node
  • Publish to existing memcache cluster
  • Manage on demand memcache node from load balancer like squid
Benefits of this approach
  • Latency between cache nodes is reduced
  • Potentially enhance memcache server to perform addressing of objects using PAE http://kerneltrap.org/node/2450
  • Key value pairs could leverage PAE addressing for optimizing data structure as linked list
A more detailed version of Innodb vs MyISAM slides is here http://www.scribd.com/doc/22677819/inodbvsmyisam