МОЖНО ЛИ использовать XML-файлы для хранения очень больших данных, разбитых по записям,как в БД-таблицах? Какие проблемы могут возникнуть?
И второй вопрос:
можно ли связать XMLDocument1 с TFileStream?
Здравствуйте, szb, Вы писали:
szb>МОЖНО ЛИ использовать XML-файлы для хранения очень больших данных, разбитых по записям,как в БД-таблицах? Какие проблемы могут возникнуть?
скорость, отсутствие возможности использования SQL
Здравствуйте, szb, Вы писали:
szb>МОЖНО ЛИ использовать XML-файлы для хранения очень больших данных, разбитых по записям,как в БД-таблицах? Какие проблемы могут возникнуть? szb>И второй вопрос: szb>можно ли связать XMLDocument1 с TFileStream?
XML, в отличие от БД, формат избыточный, и текстовый. Из этого:
— более быстрое исчерпание дискового пространства.
— очень низкая производительность при обработке.
Здравствуйте, szb, Вы писали:
szb>МОЖНО ЛИ использовать XML-файлы для хранения очень больших данных, разбитых по записям,как в БД-таблицах? Какие проблемы могут возникнуть?
Проблемы могут быть с быстродействием.
Мне приходилось вытаскивать информацию из HTML файла размеров в 40Мб.
От приводился к XML виду и загружался в MSXML парсер.
Непосредственно загрузка в парсер занимает менее минуты, при этом парсер отжирает
оперативки раза в 3 больше чем сам файл.
XPath запросы на таком объеме выполняются достаточно шустро (порядка секунды)
szb>И второй вопрос: szb>можно ли связать XMLDocument1 с TFileStream?
Ты бы хоть сказал, на чем ты их собираешься связывать.
Если имелось ввиду MSXML то его функции Load передается на вход
не только строка с именем файла но и указатель на интерфейс,
после чего они начинают договариваться о поддержки интерфейсов
следуют запросы на IStream, ISequentialStream.
Если C# то одна из перегруженных функций
public virtual void Load(Stream inStream);