В MarkLogic, где хранятся тройные индексы, на диске или в памяти? А что лучше в памяти или на диске?

В MarkLogic, где хранятся тройные индексы, на диске или в памяти? А что лучше в памяти или на диске? Кроме того, как мы можем вставить эти тройки в виде XML в БД?

1 ответ

Ответы, которые вы ищете, удобно расположены в Руководстве разработчика семантики

Вы должны действительно пройти часть этого документа в качестве учебника. Это поможет вам безмерно. А пока, чтобы ответить на несколько ваших вопросов:

Относится к где хранится:
Как стандартная операция, MarklLogic хранит большую часть тройной информации на диске в специальном индексе. Из-за этого используется небольшое начальное использование памяти - но, конечно, в кэшах памяти (2) есть для выполнения семантических операций, и некоторые части хранилищ троек отображаются в память.

Тем не менее, есть способ создать тройной накопитель в памяти (что вы можете захотеть сделать для некоторых особых обстоятельств). Это было бы с помощью функции sem:in-memory-store()

Вставка троек: троек не должны быть в документе, которым вы управляете

  • Вы можете вставить их, используя функции
  • Вы можете вставить их, анализируя стандартные форматы данных RDF
  • Вы можете вставить их через REST
  • Вероятно, еще несколько вариантов

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

Отличный документ доступен здесь: Управляемые против Неуправляемых троек.

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