Эволюция схемы
В информатике управление версиями схем и эволюция схем связаны с необходимостью сохранения текущих данных и функциональности программной системы в условиях изменения структуры базы данных. [ 1 ] Проблема не ограничивается изменением схемы. Фактически это влияет на данные, хранящиеся в данной схеме, и на запросы (и, следовательно, на приложения), выполненные в этой схеме.
Проект базы данных иногда создается как экземпляр «на данный момент», и поэтому эволюция схемы не учитывается. (Это другое, но связано с тем, что база данных спроектирована как «один размер, подходящий всем», который не учитывает волатильность атрибутов). Это предположение, почти нереалистичное в контексте традиционных информационных систем , становится неприемлемым в контексте систем, сохраняющих большие объемы исторической информации, или таких, как веб-информационные системы, которые из-за распределенного и кооперативного характера их развития являются предметом еще более сильное давление в сторону перемен (с 39% до более чем на 500% более интенсивное, чем в традиционных условиях). [ 2 ] Из-за этого исторического наследия процесс эволюции схемы по состоянию на 2008 год был особенно трудным. Фактически широко признано, что ядро управления данными приложений является одним из наиболее сложных и критически важных компонентов для развития. Основная проблема – влияние эволюции схемы запросов и приложений. Как показано в статье « Эволюция схемы в Википедии — к тесту веб-информационной системы» (2008 г.). [ 3 ] (который обеспечивает анализ эволюции MediaWiki) каждый шаг эволюции может затронуть до 70% запросов, работающих в схеме, которые, следовательно, должны быть переработаны вручную.
В 2008 году проблема была признана сообществом баз данных актуальной уже более 12 лет. [ 4 ] [ 5 ] Поддержка эволюции схемы — сложная задача, включающая сложное сопоставление версий схемы, а поддержка инструментов до сих пор была очень ограниченной. Последние теоретические достижения в картографировании композиции [ 6 ] и отображение обратимости, [ 7 ] которые представляют собой основные проблемы, лежащие в основе эволюции схемы, остаются почти недоступными для широкой публики. [ почему? ] Эта проблема особенно остро ощущается в отношении темпоральных баз данных . [ 8 ]
Связанные работы
[ редактировать ]- Богатая библиография по эволюции схемы собрана по адресу: http://se-pubs.dbs.uni-leipzig.de/pubs/results/taxonomy%3A100.
- Университет Калифорнийского университета в Лос-Анджелесе провел анализ эволюции схемы MediaWiki: Schema Evolution Benchmark
- PRISM, инструмент для поддержки плавной эволюции реляционной схемы: Prism: инструмент эволюции схемы.
- PRIMA, инструмент, поддерживающий базы данных времени транзакций в рамках эволюции схемы. PRIMA: поддержка БД времени транзакций в рамках эволюции схемы.
- Парио и дельтаsql [ 9 ] являются примерами инструментов разработки программного обеспечения, которые включают полностью автоматизированную эволюцию схемы.
Ссылки
[ редактировать ]- ^ Роддик, Джон Ф (1995). «Обзор проблем управления версиями схем для систем баз данных». Информационные и программные технологии . 37 (7): 383–393. CiteSeerX 10.1.1.54.8474 . дои : 10.1016/0950-5849(95)91494-К .
- ^ «Бенчмарк эволюции схемы — эволюция схемы» . Йеллоустоун.cs.ucla.edu . Проверено 29 июля 2010 г.
- ^ Курино, Калифорния, Мун Х.Дж., Танка Л., Заниоло С. (2008). Эволюция схемы в Википедии: к тесту веб-информационной системы (PDF) . ICEIS .
- ^ Рам Э., Бернштейн П.А. «Интернет-библиография по эволюции схем» (PDF) . Проверено 2 мая 2017 г.
- ^ Топор, Родни; Салем, Кеннет; Гупта, Амарнатх; Года, Кадзуо; Герке, Джон; Палмер, Натаниэль; Шараф, Мохаммед; Лабринидис, Александр; Роддик, Джон Ф.; Фуксман, Ариэль; Миллер, Рене Дж.; Тан, Ван-Чью; Комментарии, Анастасиос; Бонне, Филип; Шаша, Деннис; Роддик, Джон Ф.; Гупта, Амарнатх; Пейкерт, Рональд; Людешер, Бертрам; Бауэрс, Шон; Макфиллипс, Тимоти; Науманн, Харальд; Воруганти, Каладхар; Сандей-Феррер, Джозеф; Картеретт, Бен; Ипейротис, Ипейротис Г.; Сэндс, Марсело; Манолопулос, Яннис; Теодоридис, Джон; и др. (2009). «Версии схемы». Энциклопедия систем баз данных Спрингер, Бостон, Массачусетс. стр. 100-1 2499–2502. дои : 10.1007/978-0-387-39940-9_323 . ISBN 978-0-387-35544-3 .
- ^ Нэш, Алан; Бернштейн, Филип А.; Мельник, Сергей (2007). «Состав отображений, заданных встроенными зависимостями». Транзакции ACM в системах баз данных . 32 : 4–с. CiteSeerX 10.1.1.534.3957 . дои : 10.1145/1206049.1206053 .
- ^ Фейгин Р., Колайтис П.Г., Попа Л., Тан В.К. «Квазиинверсии отображений схем» (PDF) .
- ^ Роддик, Джон Ф.; Снодграсс, Ричард Т. (1995). «Версии схемы». Язык временных запросов TSQL2 . Международная серия Springer по инженерным наукам и информатике. Спрингер, Бостон, Массачусетс. стр. 427–449. дои : 10.1007/978-1-4615-2289-8_22 . ISBN 9781461359661 .
- ^ «deltasql, эволюция баз данных под контролем» . Команда разработчиков Deltasql. 20 апреля 2013 г. Проверено 8 февраля 2019 г.