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
期刊:
International Conference on Model and Data Engineering
影响因子:
--
通讯作者:
Panos Vassiliadis
Panos Vassiliadis
中科院分区:
--
文献类型:
--
作者:
Panos Vassiliadis

文献摘要

被引文献

相似文献

不断发展的依赖磁铁,即,大量其它模块所依赖的软件模块总是一项艰巨的任务。作为罗伯特·C.马丁很好地总结了这一点(见http://www.oodesign.com/design-principles.html),阻碍进化的坏设计的基本问题包括固定性,即,重复使用困难,刚性,即,软件的趋势是难以改变和脆弱,即,软件在每次更改时在许多地方崩溃的趋势。在这种情况下,开发人员不愿意演化软件以避免面对变化的影响。这些基本原理与图式进化有什么关系?我们知道,数据库模式中的更改会影响大量(不一定是跟踪)周围的应用程序,而没有明确的影响标识。然后,这些受影响的应用程序可能会遭受语法和语义不一致的影响-语法不一致导致应用程序崩溃,语义不一致导致检索原始数据以外的数据。因此,优雅地促进数据密集型信息系统的进化的难题是显而易见的,并且迫切需要提出工程方法,使我们能够设计信息系统,以最大限度地减少进化的影响,这是研究界的崇高目标。
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.