Быстрая вставка троек в формате rdf с использованием redland/ C++

Я просмотрел документацию Redland, и есть некоторые проблемы, которые я не мог быть уверен в решении.

Рассматривая сторону C++, предположим, что вы генерируете множество rdf-троек с течением времени для нескольких различных графов, и зная, что не интересует основной интерес иметь все графы в памяти:

Можно ли использовать Redland для выполнения одиночных / массовых вставок (запись в постоянное хранилище) без сохранения графика в памяти, и как бы вы настроили такие вставки?

Если мы забудем о запросах, какой будет хороший постоянный способ хранения: файлы или базы данных?

Как вы думаете?

1 ответ

Решение

Можно ли использовать Redland для выполнения одиночных / массовых вставок (запись в постоянное хранилище) без сохранения графика в памяти, и как бы вы настроили такие вставки?

Да. Создать librdf_storage объект, где вы хотите, чтобы ваши данные хранятся и передать его librdf_new_model(), Затем используйте любую из функций API, таких как librdf_parser_parse_into_model()хранить данные в этой модели, и они сохраняются в хранилище.

График хранится в памяти, только если модуль памяти librdf записан таким образом.

Если мы забудем о запросах, какой будет хороший постоянный способ хранения: файлы или базы данных?

file хранение не совсем для серьезного бизнеса. Он хранит график в памяти и сохраняет на диске путем сериализации в / из RDF/XML.

Используйте хранилище на основе базы данных, например mysql или BDB hashes,

Другие вопросы по тегам