Показаны сообщения с ярлыком XML. Показать все сообщения
Показаны сообщения с ярлыком XML. Показать все сообщения

воскресенье, 16 июня 2019 г.

Скрещиваем R и велоспорт (анализ спортивных треков)


Я люблю бегать и кататься на велосипеде, и часто возникает желание подумать как проходила та или иная тренировка. Обычно я записываю GPS-трек и просматриваю его потом в сервисах Endomondo, Strava, в которых имеются довольно развитые средства анализа, но раз уж я владею R, то интересно и исследовать треки в этой системе. Ниже я опишу по шагам как это делается.


среда, 15 августа 2007 г.

Недоделанный стандарт XQuery

Source: http://www.itblogs.ru/blogs/borkus/archive/2007/08/15/_1D04350434043E04340435043B0430043D043D044B043904_-_4104420430043D043404300440044204_-XQuery.aspx

Прочитал на неделе IBM Red Book, посвященный работе с XML в СУБД DB2. Хотя качество этих книг в последнее время падает -- их пишут коллективы авторов, редактура слабая, что приводит к большому числу повторов, -- эти книги все еще интересны и познавательны.

DB2, как известно, очень хорошая СУБД. Я в нее «влюбился» еще лет десять назад просто за программы инсталляции и администрирования -- все было настолько удобно по сравнению с Oracle DB, что использовать Oracle больше не хотелось.

Однако, OracleDB всегда опережала DB2 по техническим новинкам -- сначала это было более совершенная поддержка журналов транзакций, потом большее быстродействие за счет кэширования результатов запросов, потом поддержка обектно-реляционных данных и т.п. Все это появлялось и в DB2, но спустя какое-то время. DB2 просто всегда оставалась надежной, производительной и промышленной платформой, но не лидер.

Пару лет назад в нее, также с некоторым опозданием, добавили поддержку XML.

Вокруг XML-СУБД было много шума в свое время, так как они существенно снижают нагрузку на разработчика приложений. И сейчас еще встречаются статьи на тему «как важно в SOA использовать «родную СУБД», а не гибридную»  и т.п. Но интерес к ним стих, так же, как когда-то спал интерес к объектным базам.

«Чисто» XML базы в существенной степени были вытеснены гибридными решениями на базе традиционных СУБД. Вначале гибриды были совсем примитивными (позволяли только хранить строку XML в поле BLOB), но потом обросли поддержкой специальных XML-полей в таблицах и стандарта XML-запросов Xquery.

По этому пути пошла и DB2. Она позволяет смешивать в запросах как SQL-поля, так и XQuery-поля, что дает возможность извлекать данные изнури XML-документов. Скажем, если сделать запрос на языке SQL-XML, то  можно делать выборку (SELECT) одновременно по полям таблицы и XML-иерархии, и выдавать результат в виде обычной SQL-таблицы. Или, наоборот, сделать запрос XQuery и получить результат в виде документа XML.

В этих процессах есть тонкости -- можно задавать довольно сложные преобразования данных, можно проверять помещаемый в базу XML на соответствие схемам, строить смешанные виды (с ними нужно быть осторожными, т.к. XML-столбцы не будут индексироваться) -- об этом собственно и книжка.

Но, что интересно, что вся красивая картинка рушится, когда надо записывать данные в XML. Записать можно только целый документ  -- стандарт XQuery 1.0 не поддерживает записи внутрь XML, только извлечение данных. Соответственно, гибридные СУБД предлагают некоторые обходные маневры -- в том числе DB2 имеет специальную хранимую процедуру -- но все равно это уже не стандартно, да и не очень эстетично.

 //Влад Боркус

Published 15 августа 2007 г. 3:15 by Vlad Borkus
Filed under: , ,

Comments