Как стать автором
Обновить

Комментарии 12

Посмотрев документацию Postgres, вижу поддержку XML. Тогда вопрос: не проще все это хранить и обрабатывать в базе в XML варианте? В MSSQL для меня сегодня гораздо удобнее хранить и обрабатывать в XML чем вот такие хитроумности. Не знаю как в Postgres но MSSQL умеет и древовидные xml строить с уровнями одним запросом. А раз и Postgres работает с XML то вопрос остается чисто в сериализации и десериализации json<>xml.
Я понимаю что это потеря производительности на конвертации но если речь идет об очень больших данных и производительности, тогда и смотреть нужно в сторону mongo redis и т.д.
Вопрос представления данных в проекте. Мы на работе обрабатываем данные в XML (AIXM 5.1). И я бы не сказал, что SQL запросы по XPath удобнее/легче читаются. Просто необходимость вывода данных в XML определила формат. Если разработчику удобнее оперировать JSON, почему бы и нет.
У jsonb есть хорошее преимущество перед xml это возможность делать индексы па самим json объектам, с xml данными это сделать сложно, придется преобразовывать к  типу символьной строки  и потом создавать индекс. Да и почему бы нет, Potgres сейчас достаточно быстро развивается, приятно когда есть все.
У баз с полноценной поддержкой XML (не знаю, как с этим в Postgres, но думаю, что это там есть) индексы по XML как раз замечательно строятся, и XPath-запросы потом их используют. Собственно, он именно затем и нужен как отдельный от обычных блобов тип данных.
Отличная статья. Я сам разбирался по оригиналу. Кстати с декабря прошлого года jsonb идет в postgres из коробки.
Для расширенных запросов по JSON данным можно использовать JSQuery. Он более функционален, чем встроенные возможности Postgres. Хотя проект только начал развиваться.
Давно ждали ;) Еще с PGConf ;)
Гем для ленивых (т.е. не любящих писать сырой SQL) любителей Рельсов.

Спасибо за статью. JSONB в массы!
http://initd.org/psycopg/docs/extras.html#psycopg2.extras.Json — Changed in version 2.5.4: added jsonb support.

насчет XML — статья не об этом же — для Хмл нужно еще его потом распарсить, а через Jsonb — сразу нативный dict

Ну и имхо нативно всегда быстрее, чем навес

Вы лучше уточните, что не так

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории