更好的应用程序可用性:在线 DDL/模式 变化
如今基于web的应用程序被设计用来快速的进化以及自适应业务和生产需求。当一个应用程序必须迅速适应新的产品线或新产品时,后端数据库模式也必须跟着适应,但是又要求同时应用程序可以正常的业务操作。mysql5.6提供了这种程度的在线模式,此新语法为ALTER TABLE DDL,其他附加有:
CREATE INDEX
DROP INDEX
Change AUTO_INCREMENT value for a column
ADD/DROP FOREIGN KEY
Rename COLUMN
Change ROW FORMAT, KEY_BLOCK_SIZE for a table
Change COLUMN NULL, NOT_NULL
Add, drop, reorder COLUMN
DBA和开发者们可以在标准的innoDB表上增加索引或者其他的修改操作,同时数据库依然可以供应用程序使用。这对于快速迭代的应用非常有益,特别是开发人员需要模式的灵活性,以适应不断变化的业务需求。
更好的开发灵活性:为innoDB增加Nosql
Mysql5.6为innoDB提供了memcached API。为mysqld增加一个新的memcached守护进程插件,这样memcached协议被直接映射到本机的innoDB API,允许开发者使用现存的memcached客户端来直接忽略掉查询语法的解析消耗,直接对数据进行查找和修改。这些API可以对现有的memcached库和客户端进行重用,整合一个持久、事故安全、事务数据库后端 来对memcached功能进行了扩展。实现如下:
测试结果显示,在整体吞吐量上,SET/INSERT操作性能要提升9倍左右:
不仅开发者和DBA们获得了更好的性能和灵活性,同样也减少了复杂性,压缩之前单独的缓存和数据库层到一个单一的数据管理层次,这样消除缓存一致性维护的开销。
更好的开发灵活性:InnoDB扩展使用案例
mysql5.6新的特征和优化器将innoDB扩展到更多的使用案例中去,这样开发者可以标准化一个单一的存储引擎 已达到简化应用程序的目的。
新的全文索引(FTS) - 为了取代Myisam的FTS,现在InnoDB允许开发者在表上建立FULLTEXT索引来标示文本内容,同时也加快了应用搜索单词和短语。