Schema Evolution and Gravitation to Rigidity: A Tale of Calmness in the Lives of Structured Data
Schema Evolution and Gravitation to Rigidity: A Tale of Calmness in the Lives of Structured Data
复制标题
模式演化和刚性倾向:结构化数据生活中的平静故事
DOI:
--
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
Panos Vassiliadis
中科院分区:
文献类型:
--
作者:
Panos Vassiliadis
Evolving dependency magnets, i.e., software modules upon which a large number of other modules depend, is always a hard task. As Robert C. Martin has nicely summarized it (see http://www.oodesign.com/design-principles.html), fundamental problems of bad design that hinder evolution include immobility, i.e., difficulty in reuse, rigidity, i.e., the tendency for software to be difficult to change and fragility, i.e., the tendency of the software to break in many places every time it is changed. In such cases, developers are reluctant to evolve the software to avoid facing the impact of change. How are these fundamentals related to schema evolution? We know that changes in the schema of a database affect a large (and not necessarily traced) number of surrounding applications, without explicit identification of the impact. These affected applications can then suffer from syntactic and semantic inconsistencies – with syntactic inconsistency leading to application crashes and semantic inconsistency leading to the retrieval of data other than the ones originally intended. Thus, the puzzle of gracefully facilitating the evolution of data-intensive information systems is evident, and the desideratum of coming up with engineering methods that allow us to design information systems with a view to minimizing the impact of evolution, a noble goal for the research community.