Java之to SQL or not to SQL - Java應用在MySQL上兼容SQL和NoQL之道

杜修文

技術顧問

具有三十多年IT實務經驗的IT老兵,現任甲骨文公司MySQL北亞技術顧問主管,同時也是臺灣MySQL社群(參考(https://www.facebook.com/groups/taiwanmysqlusergroup)的發起人。在Oracle 主要的工作是帶領大中華區及韓國的MySQL技術顧問團隊推廣MySQL技術,也為重大專案推動技術指導。任職甲骨文之前,曾任升陽電腦軟體事業部架構師,甲骨文大學講師和訓練經理等工作。取得OCP-Developer、SCJP、SCJWAD、SCJWSD、MySQL DBA、MySQL Cluster Administrator等認證和資格。

長久以來Java和MySQL是支持網際網應用的兩大支拄,兩在最近這幾年互聯網出現爆炸性發展的時候,它們都面臨了一些挑戰,必須由基礎架構上做一些改變才能繼續引領IT發展的風潮.對像MySQL這樣傳統的關聯式資料庫而言,NoSQL的再度風行是MySQL必須面對的問題.為此,MySQL在推出5.6版時就引進了memcache介面,讓我們能以memcache的指令(不透過JDBC和SQL)直接以key-value的方式操作存於InnoDB引擎中的資料,而使性能呈倍數的成長.在5.7版時又出現了以JSON Document為存儲的Document Store,同時對這這些JSON Document可以用CRUD function直接取用的XDev API,讓我們能在應用層完全脫離SQL的方式操作JSON資料,以支援最新的聯網應用支術,同時又透過MySQL的InnoDB引擎保障資料的完整性和持久性.乃至於在MySQL支術中最具高可用性和線性性能增長性的MySQL Cluster (NDB引擎)的介面中也提供了讓Java能以Clusterj.jar直接操作存於分散式資料庫的NDB引擎中的資料,以達到Java應用性能呈倍數增加,同時又能做到5個9的高可用水準.
本場講演將為大家介紹何讓Java程式善用以上的NoSQL支術以追求性能、可靠度的增長之餘又能滿足DevOPs的快速開發方式.

1. 本場次為中文