Articulo de referencia

Schema evolution

In computer science , schema versioning and schema evolution , deal with the need to retain current data and software system functionality in the face of changing database struc...

In computer science, schema versioning and schema evolution, deal with the need to retain current data and software system functionality in the face of changing database structure.[1] The problem is not limited to the modification of the schema. It, in fact, affects the data stored under the given schema and the queries (and thus the applications) posed on that schema.

A database design is sometimes created as a "as of now" instance and thus schema evolution is not considered. (This is different but related to where a database is designed as a "one size fits all" which doesn't cover attribute volatility). This assumption, almost unrealistic in the context of traditional information systems, becomes unacceptable in the context of systems that retain large volumes of historical information or those such as web information systems, that due to the distributed and cooperative nature of their development, are subject of an even stronger pressure toward change (from 39% to over 500% more intense than in traditional settings).[2] Due to this historical heritage the process of schema evolution as of 2008 a particularly taxing one. It is, in fact, widely acknowledged that the data management core of an applications is one of the most difficult and critical components to evolve. The key problem is the impact of the schema evolution on queries and applications. As shown in the article Schema Evolution in Wikipedia - Toward a Web Information System Benchmark (2008)[3] (which provides an analysis of the MediaWiki evolution) each evolution step might affect up to 70% of the queries operating on the schema, that must be manually reworked consequently.

En 2008, la comunidad de bases de datos reconoció el problema como uno apremiante desde hacía más de 12 años. [ 4 ] [ 5 ] El soporte para la evolución de esquemas es un problema difícil que implica un mapeo complejo entre versiones de esquemas y el soporte de herramientas ha sido hasta ahora muy limitado. Los recientes avances teóricos sobre la composición de mapeos [ 6 ] y la invertibilidad de mapeos, [ 7 ] que representan los problemas centrales subyacentes a la evolución de esquemas siguen siendo prácticamente inaccesibles para el público en general. El problema se siente particularmente en las bases de datos temporales . [ 8 ]

  • Una amplia bibliografía sobre la evolución de esquemas se encuentra disponible en: http://se-pubs.dbs.uni-leipzig.de/pubs/results/taxonomy%3A100
  • La Universidad de UCLA llevó a cabo un análisis de la evolución del esquema de MediaWiki: Schema Evolution Benchmark.
  • PRISM, una herramienta para apoyar la evolución elegante de esquemas relacionales: Prism: herramienta de evolución de esquemas
  • PRIMA, una herramienta que admite bases de datos en tiempo de transacción bajo evolución de esquema PRIMA: admite bases de datos en tiempo de transacción bajo evolución de esquema
  • Pario y deltasql [ 9 ] son ​​ejemplos de herramientas de desarrollo de software que incluyen una evolución de esquema totalmente automatizada.

Referencias

  1. Roddick, John F (1995). "Un estudio sobre los problemas de versionado de esquemas para sistemas de bases de datos". Information and Software Technology . 37 (7): 383– 393. CiteSeerX 10.1.1.54.8474 . doi : 10.1016/0950-5849(95)91494-K . 
  2. "Schema Evolution Benchmark - Schema Evolution" . yellowstone.cs.ucla.edu . Consultado el 29 de julio de 2010 .
  3. ^ Curino CA, Moon HJ, Tanca L, Zaniolo C (2008). Evolución del esquema en Wikipedia: hacia un punto de referencia del sistema de información web (PDF) . ICEIS .
  4. Rahm E, Bernstein PA. "Una bibliografía en línea sobre la evolución de esquemas" (PDF) . Archivado del original (PDF) el 12 de mayo de 2008. Recuperado el 2 de mayo de 2017 .
  5. ^ Topor, Rodney; Salem, Kenneth; Gupta, Amarnath; Goda, Kazuo; Gehrke, Johannes; Palmer, Natanael; Sharaf, Mohamed; Labrinidis, Alexandros; Roddick, John F.; Fuxman, Ariel; Miller, Renée J.; Tan, Wang-Chiew; Kementsietsidis, Anastasios; Capo, Philippe; Shasha, Dennis; Roddick, John F.; Gupta, Amarnath; Peikert, Ronald; Ludäscher, Bertram; Bowers, Shawn; McPhillips, Timoteo; Naumann, Harald; Voruganti, Kaladhar; Domingo-Ferrer, Josep; Carterette, Ben; Ipeirotis, Panagiotis G.; Arenas, Marcelo; Manolopoulos, Yannis; Theodoridis, Yannis; et al. (2009). "Versión de esquemas". Enciclopedia de sistemas de bases de datos . Springer, Boston, MA. págs. 2499–2502 . doi : 10.1007/978-0-387-39940-9_323 . ISBN   978-0-387-35544-3.
  6. Nash, Alan; Bernstein, Philip A.; Melnik, Sergey (2007). "Composición de asignaciones dadas por dependencias incrustadas". ACM Transactions on Database Systems . 32 : 4–es. CiteSeerX 10.1.1.534.3957 . doi : 10.1145/1206049.1206053 . 
  7. ^ Fagin R, Kolaitis PG, Popa L, Tan WC. "Cuasi-inversas de asignaciones de esquemas" (PDF) .
  8. Roddick, John F.; Snodgrass, Richard T. (1995). "Control de versiones de esquemas". El lenguaje de consulta temporal TSQL2 . Serie internacional Springer en ingeniería e informática. Springer, Boston, MA. págs. 427–449 . doi : 10.1007/978-1-4615-2289-8_22 . ISBN  9781461359661.
  9. "deltasql, la evolución de las bases de datos bajo control" . Equipo de desarrollo de Deltasql. 2013-04-20 . Consultado el 2019-02-08 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Schema_evolution&oldid=1362588479 "