Быстрая вставка троек в формате 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
,