В MarkLogic, где хранятся тройные индексы, на диске или в памяти? А что лучше в памяти или на диске?
В MarkLogic, где хранятся тройные индексы, на диске или в памяти? А что лучше в памяти или на диске? Кроме того, как мы можем вставить эти тройки в виде XML в БД?
1 ответ
Ответы, которые вы ищете, удобно расположены в Руководстве разработчика семантики
Вы должны действительно пройти часть этого документа в качестве учебника. Это поможет вам безмерно. А пока, чтобы ответить на несколько ваших вопросов:
Относится к где хранится:
Как стандартная операция, MarklLogic хранит большую часть тройной информации на диске в специальном индексе. Из-за этого используется небольшое начальное использование памяти - но, конечно, в кэшах памяти (2) есть для выполнения семантических операций, и некоторые части хранилищ троек отображаются в память.
Тем не менее, есть способ создать тройной накопитель в памяти (что вы можете захотеть сделать для некоторых особых обстоятельств). Это было бы с помощью функции sem:in-memory-store()
Вставка троек: троек не должны быть в документе, которым вы управляете
- Вы можете вставить их, используя функции
- Вы можете вставить их, анализируя стандартные форматы данных RDF
- Вы можете вставить их через REST
- Вероятно, еще несколько вариантов
Да, вы также можете создавать их и хранить в своих документах. В некоторых случаях это может быть чрезвычайно эффективным решением, поскольку тройки хранятся в том же фрагменте, что и документ. Это делает для некоторых забавных запросов.
Отличный документ доступен здесь: Управляемые против Неуправляемых троек.