Skip To Content

Рекомендации для баз данных Neo4j, используемых в качестве хранилищ данных NoSQL

Чтобы обеспечить правильную работу графов знаний при использовании базы данных Neo4j в качестве хранилищ данных NoSQL, зарегистрированных на вашем сайте ArcGIS Knowledge, необходимо учитывать некоторые детали.

Создать граф знаний

Первым шагом в использовании базы данных Neo4j на вашем сайте ArcGIS Knowledge является создание базы данных Neo4j с помощью команд администрирования Neo4j. Зарегистрируйте базу данных на своем сайте как хранилище данных NoSQL.

Когда база данных Neo4j регистрируется как хранилище данных NoSQL, ее можно зарегистрировать, используя либо имя базы данных, либо присвоенный ей псевдоним. На используемое вами имя или псевдоним распространяются те же ограничения на задание имен, что и на граф знаний. После создания хранилища данных NoSQL невозможно переименовать базу данных или изменить псевдоним или добавить его в Neo4j.

Когда вы предоставляете данные аутентификации для подключения к экземпляру Neo4j, убедитесь, что пользователь или удостоверение, с которым осуществляется доступ к базе данных, имеет достаточные права для поддержки всех операций, необходимых для графа знаний, который будет создан.

Граф знаний, связанный с хранилищем данных NoSQL, будет иметь уровень доступа, связанный с учетными данными, которые были использованы при создании хранилища данных NoSQL. Эти учетные данные применяются, когда любой клиент получает доступ к содержимому сервиса графа знаний. Например, если пользователь может получить доступ только к определенному набору элементов и отношений, в исследовании проекта ArcGIS Pro будут доступны только эти элементы.

Более подробно об администрировании ваших баз данных Neo4j

Управление данными

Когда вы создаете граф знаний, используя хранилище данных NoSQL, вы должны выбрать способ управления данными, хранящимися в базе данных Neo4j. Этот выбор определяет другие факторы, касающиеся базы данных Neo4j.

Например, хранилище графов, связанное с вашим сайтом ArcGIS Knowledge, хранит информацию о схеме, которая должна синхронизироваться с информацией, хранящейся в базах данных Neo4j, связанных с вашим сайтом. Как это достигается, зависит от того, как управляются данные в базе данных.

Вы должны создать план резервного копирования и восстановления баз данных Neo4j, согласованный с вашим планом резервного копирования и восстановления развертывания ArcGIS Enterprise и хранилища графов ArcGIS Data Store.

Данные, управляемые ArcGIS

Если граф знаний будет содержать данные, управляемые ArcGIS, зарегистрированная база данных должна быть пустой, когда вы добавляете ее в развертывание ArcGIS Enterprise в качестве хранилища данных NoSQL. Если база данных Neo4j не полностью пуста, операция по созданию графа знаний с данными, управляемыми ArcGIS, завершится ошибкой.

Когда вы создаете хранилище данных NoSQL, которое будет содержать данные, управляемые ArcGIS, учетные данные, предоставляемые для доступа к базе данных Neo4j, должны иметь права, соответствующие встроенной роли архитектора Neo4j.

Вы можете создать только одно хранилище данных NoSQL, которое обращается к базе данных Neo4j с управляемыми ArcGIS данными. Аналогично, вы можете создать только один граф знаний, который обращается к хранилищу данных NoSQL, где база данных содержит управляемые ArcGIS данные. Например, вы не можете создать второй граф знаний, обращающийся к тому же хранилищу данных NoSQL, в котором вы задали хранилище данных NoSQL как содержащее данные, управляемые пользователем.

После создания графа знаний с данными, управляемыми ArcGIS, идентификаторы элементов и связей должны синхронизироваться между базой данных Neo4j и хранилищем графов ArcGIS Knowledge, чтобы граф знаний оставался работоспособным. Для обеспечения целостности данных, редактирование всех систем, связанных с графом знаний, поддерживается только посредством операций и запросов, сделанных в ArcGIS Pro и ArcGIS Enterprise.

Редактирование данных и другие изменения в базе данных Neo4j не должны производиться вне ArcGIS. Это включает в себя изменение или удаление любых индексов, связанных с базой данных Neo4j, поскольку они необходимы для поддержки поиска.

Данные, управляемые пользователем

Если ваша база данных Neo4j содержит данные, вы можете зарегистрировать базу данных как хранилище данных NoSQL и создать граф знаний, в котором хранилище данных NoSQL назначено как содержащее данные, управляемые пользователем.

Когда вы создаете хранилище данных NoSQL, которое будет содержать данные, управляемые пользователем, учетные данные, предоставляемые для доступа к базе данных Neo4j, должны иметь права, соответствующие встроенной роли читателя Neo4j. Однако, если вы включаете поиск при создании графа знаний, необходимо использовать встроенную роль архитектора; возможности поиска требуют достаточных прав для создания полнотекстовых индексов в базе данных Neo4j.

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

Если для графа знаний включен поиск, в базе данных Neo4j ArcGIS Knowledge создает полнотекстовые индексы для поддержки поиска. Эти индексы нельзя обновлять или удалять вне ArcGIS Knowledge. Имена индексов начинаются с esri__.

Для поиска данных графа знаний и добавления их на диаграмму связей или карту необходимо синхронизировать модель данных базы данных Neo4j с хранилищем графа ArcGIS Knowledge. Если узел или отношение в базе данных Neo4j имеют несколько надписей, синхронизация модели данных завершается ошибкой. При возникновении этого сбоя данные, связанные с ранее синхронизированной информацией модели данных, могут быть доступны, но вы не можете добавлять данные в диаграмму связей или карту, связанные с частями модели данных, которые не были синхронизированы. Вы должны синхронизировать модель данных при каждом изменении схемы в базе данных Neo4j.

Вы можете создать множество хранилищ данных NoSQL, которые обращаются к одной и той же базе данных Neo4j, при условии, что база данных не содержит управляемых ArcGIS данных, созданных с помощью другого графа знаний, и каждое хранилище данных обращается к одной и той же базе данных с разными учетными данными. Вы также можете создать множество графов знаний, которые обращаются к единому хранилищу данных NoSQL, обозначенному как содержащее управляемые пользователем данные. Любой из методов может создавать множество графов знаний, обращающихся к одной и той же исходной базе данных Neo4j. Используйте портал ArcGIS Enterprise, чтобы контролировать, кто может получить доступ к каждому графу знаний.

Например, если у вас есть два графа знаний, и каждый из них связан со своим хранилищем данных NoSQL, которые обращаются к базе данных Neo4j, используя разные учетные данные, убедитесь, что каждый граф знаний доступен соответствующей группе пользователей портала ArcGIS Enterprise. Предоставьте общий доступ к каждому графу знаний отдельной группе портала. Настройте участников для каждой группы портала, чтобы каждый пользователь портала имел доступ к соответствующим ресурсам, используя свой граф знаний.

Аналогично, вы можете создать два графа знаний, которые обращаются к одному и тому же хранилищу данных NoSQL, используя учетные данные, предоставляющие полный доступ к базе данных Neo4j. Однако вы можете контролировать, что именно разные пользователи портала могут делать с доступной информацией, по-разному настроив общий доступ к графам знаний на портале ArcGIS Enterprise. Один граф знаний может быть предоставлен группе, всем участникам которой назначена роль обозревателя и, следовательно, они имеют доступ к содержимому только для чтения. Другим графом знаний можно поделиться с другой группой, участники которой имеют роль редактора и, следовательно, могут редактировать элементы, отношения и их свойства.

Графы знаний, которые обращаются к управляемым пользователем данным в базе данных Neo4j, доступны только для чтения, когда к ним обращаются в проекте ArcGIS Pro. Если вы получаете доступ к тому же графу знаний с помощью API разработчика ArcGIS Enterprise, вы можете редактировать элементы, отношения и значения их свойств; однако модель данных графа знаний останется доступной только для чтения. То есть вы не можете добавлять новые типы элементов и отношений или добавлять новые свойства к существующим типам.

Удалить базу данных

Когда вам больше не нужен будет граф знаний, вы сможете удалить его на портале Enterprise. Данные для графа знаний автоматически удаляются из хранилища графов. Однако если граф знаний ссылается на хранилище данных NoSQL, хранилище данных и связанная с ним база данных Neo4j не удаляются автоматически.

Если граф знаний содержит данные, управляемые ArcGIS, вы не сможете создать другой граф знаний, управляемый ArcGIS, из того же хранилища данных NoSQL, поскольку база данных Neo4j не пуста. Однако, если граф знаний содержит данные, управляемые пользователем, вы можете создать новый граф знаний, который обращается к данным в существующем хранилище данных NoSQL.

Если вы больше не собираетесь использовать базу данных Neo4j с ArcGIS Knowledge, вы можете удалить хранилище данных NoSQL на портале Enterprise. Это не удаляет связанную базу данных Neo4j. Прежде чем удалять элемент хранилища данных NoSQL, проверьте его настройки и запишите, на какую базу данных Neo4j он ссылается. Затем вы можете выполнить шаги для архивирования данных и удаления базы данных Neo4j с помощью утилит Neo4j и команд администрирования в соответствии с рекомендациями вашей организации.

Примечание:

После удаления графа знаний с портала Enterprise вы не сможете использовать исследования, хранящиеся в ваших проектах ArcGIS Pro, которые ссылаются на удаленный граф знаний. Существующее исследование нельзя связать с другим графом знаний. Вам придется удалить исследования, которые ссылаются на удаленный граф знаний, из всех проектов, где они существуют, или удалить сами проекты, если это целесообразно.

Если граф знаний был перенесен в новое развертывание Enterprise, существующие слои графа знаний на карте или в диаграмме связей могут быть обновлены для использования нового графа, даже если исследование должно быть удалено.