- Как мы все связаны друг с другом?
- Результаты обучения
- Что такое Amazon Neptune?
- Что такое граф?
- Ключевые преимущества:
- Для чего используется Amazon Neptune?
- Архитектура
- Обзор решения
- Как начать работу?
- Предварительные условия
- Урок 1: Создание ролевой политики с привязкой к службе для Amazon Neptune
- Урок 2: Создание нового пользователя IAM со всеми необходимыми разрешениями для доступа к Amazon Neptune
- Урок 3: Создание экземпляра Amazon EC2 Key Pair for Windows для запуска кластера Neptune DB с помощью шаблона AWS CloudFormation
- Урок 4: Добавьте политики IAM для предоставления разрешений на использование шаблона AWS CloudFormation
- Урок 5: Создание кластера БД Amazon Neptune с помощью шаблона AWS CloudFormation
- Заключительные размышления
- AWS re:Invent 2020: Глубокое погружение в Amazon Neptune с Брэдом Биби, генеральным директором Amazon Neptune
- AWS re:Invent 2020: Новые возможности для быстрого создания графовых приложений с помощью Amazon Neptune
- Ссылки
- Дополнительные ресурсы
- AWS Innovate Online Conference APJ — 23 & 25 августа 2022 г.
- 🚀 Горячая новость: Представляем Amazon Neptune Global Database
- Регистрация на крупнейшую австралийскую конференцию по инженерии данных DataEngBytes:
- Следующий урок
Как мы все связаны друг с другом?
Возможно, вы слышали о термине «6 степеней разделения». Возможно, вы являетесь «другом друга» на Facebook, каждый месяц летаете на самолете из Сиднея в Сан-Франциско, каждое утро покупаете свой любимый кофе в Starbucks или приобретаете учебник по машинному обучению на Amazon.com, и ваши предпочтения схожи с другими людьми из вашего демографического профиля.
Именно здесь могут пригодиться графовые базы данных, поскольку взаимосвязи не могут храниться в традиционной реляционной базе данных или запрашиваться с помощью структурированного языка запросов (SQL).
Результаты обучения
В консоли управления AWS вы узнаете, как:
- Создавать учетную запись AWS
- Прикреплять политики IAM к пользователю IAM Admin для CloudFormation и EC2
- Создавать базу данных графов с помощью Amazon CloudFormation.
Что такое Amazon Neptune?
Amazon Neptune — это полностью управляемая база данных графов. Она может быть очень полезна, когда вам нужно описать и отобразить взаимосвязи внутри связанных наборов данных.
Что такое граф?
Граф состоит из узлов (или вершин), которые подобны таблицам в SQL, они соединены ребрами, которые представляют отношения.
Например, в случае с маршрутами полетов узлы представлены самолетами, а ребра — городами прибытия и отправления, такими как Лондон.
В другом примере, в случае социальных сетей, узлы представлены людьми, а ребра определяют, существует ли дружба.
Ключевые преимущества:
-
Инфраструктура полностью управляется AWS
-
Вы платите только за те запросы, которые используете
-
Вам не нужно предоставлять аппаратное обеспечение
-
Может хранить миллиарды отношений
-
Разработана с более чем 99,99-процентной доступностью
-
Amazon Neptune поддерживает язык запросов с открытым исходным кодом, такой как openCypher, Apache TinkerPop Gremlin и SPARQL 1.1 от Консорциума Всемирной паутины (W3C).
Для чего используется Amazon Neptune?
Amazon Neptune может быть использован для описания таких отношений, как:
-
Социальные сети
-
Составление карт путешествий клиентов для улучшения потребительского опыта
-
Обнаружение мошенничества
-
Графы знаний, используемые для борьбы с глобальным терроризмом
-
Системы рекомендаций
-
Графы идентичности для создания единого представления о клиенте
Архитектура
Приведенная ниже диаграмма предоставлена Amazon Web Services и описывает обзор решения для создания базы данных графов с помощью Amazon Neptune:
Рабочий процесс описывает:
Шаг 1: Массовая загрузка csv-файла в Amazon Neptune.
Шаг 2: Amazon Neptune хранит данные, содержащие взаимосвязи.
Шаг 3: Запрос данных
Обзор решения
На рисунке ниже показана моя высокоуровневая архитектура решения:
Как начать работу?
Если вы новый пользователь, вы получаете мгновенный доступ к AWS Free Tier на 30 дней с 750 часами использования экземпляров t3.medium или t4g.medium.
Предварительные условия
-
Добавьте права пользователю IAM Admin для работы с кластером Amazon Neptune DB.
-
Создайте пару ключей Amazon EC2 для использования при запуске кластера Neptune с помощью AWS CloudFormation.
-
Добавьте политики IAM для предоставления разрешений, необходимых для использования шаблона AWS CloudFormation.
-
Используйте стек AWS CloudFormation для создания кластера Amazon Neptune DB.
Урок 1: Создание ролевой политики с привязкой к службе для Amazon Neptune
Создайте пользователя IAM с правами доступа к Amazon Neptune, следуя приведенным здесь инструкциям.
Шаг 1: Создайте учетную запись AWS и войдите в нее под пользователем IAM Admin. Вы можете следовать инструкциям здесь, чтобы создать учетную запись, если у вас ее нет.
Шаг 2: Войдите в систему с учетными данными пользователя IAM Admin.
Шаг 3: Загрузите и сохраните копию руководства пользователя Amazon Neptune на своем компьютере или следуйте инструкциям здесь.
Шаг 4: Войдите в консоль IAM, наберите в навигационной панели ‘IAM’ или этот ресурс может быть сохранен в ваших закладках.
Шаг 5: Нажмите Policies в меню слева.
Шаг 6: Нажмите синюю кнопку Создать политику.
Шаг 7: Скопируйте этот код и вставьте его во вкладку json.
Шаг 8: В разделе Tags сохраните настройки по умолчанию и нажмите Next review.
Шаг 9: В разделе Обзор политики укажите имя для роли NeptuneServiceLinked и нажмите кнопку Создать политику.
Шаг 10: Роль, связанная с сервисом, была успешно создана.
Урок 2: Создание нового пользователя IAM со всеми необходимыми разрешениями для доступа к Amazon Neptune
Создайте IAM-пользователя с разрешениями для доступа к Amazon Neptune, следуя приведенным здесь инструкциям.
Шаг 1: Повторите шаги 1-4 из руководства 1 и нажмите Пользователи в левом меню консоли IAM.
Шаг 2: Нажмите Добавить пользователей.
Шаг 3: Укажите имя пользователя, установите флажок ‘Ключ доступа: Программный доступ» и, наконец, нажмите Далее:Разрешения.
Шаг 4: В разделе Установить разрешения нажмите на поле Прикреплять политики напрямую и скопируйте, а в строке поиска введите слово ‘Neptune’ и отметьте флажками поля для предоставления доступа к политике:
- NeptuneConsoleFullAccess
- NeptuneFullAccess
- NeptuneReadOnlyAccess .
Шаг 5: На той же странице введите ‘VPC’ в строке поиска и установите флажок, чтобы предоставить доступ к:
*AmazonVPCFullAccess.
Нажмите кнопку Next:tags.
Шаг 6: Вам не нужно указывать никаких тегов. Нажмите Далее:обзор
Шаг 7: Просмотрите детали доступа. Нажмите Создать пользователя
Шаг 8: Нажмите Загрузить как файл csv, чтобы сохранить идентификатор ключа доступа нового пользователя и секретный ключ доступа для программного доступа для взаимодействия с AWS с помощью CLI.
Урок 3: Создание экземпляра Amazon EC2 Key Pair for Windows для запуска кластера Neptune DB с помощью шаблона AWS CloudFormation
Для создания пары ключей Amazon EC2 для экземпляров Windows с помощью pem вы можете следовать приведенным здесь инструкциям.
Шаг 1: Введите ‘EC2’ в строку поиска, чтобы перейти к консоли EC2.
Шаг 2: В левом меню Network & Security нажмите Key Pairs.
Шаг 3: Нажмите кнопку создать пару ключей
Шаг 4: Укажите описательное имя в разделе Имя. Для Windows выберите ‘Key Pair Type’ RSA и, в-третьих, выберите ‘Private key file format’ как .pem для использования с openSSH. Нажмите кнопку Создать пару ключей.
Шаг 5: Пара ключей успешно создана. Загрузите и сохраните данные файла закрытого ключа.
Урок 4: Добавьте политики IAM для предоставления разрешений на использование шаблона AWS CloudFormation
Следуйте инструкциям из документации AWS для предоставления разрешений на использование AWS CloudFormation.
Шаг 1: К только что созданному пользователю из руководства 2 прикрепите управляемую политику ‘AWSCloudFormationReadOnlyAccess’ для предоставления доступа к AWS CloudFormation.
Нажмите на Users в левом меню и выберите Add permissions.
Шаг 2: В разделе Grant Permissions введите AWSCloudFormationReadOnlyAccess для фильтрации политики, установите флажок и нажмите Next:review
Шаг 3: Нажмите Добавить разрешения
Шаг 4: Вы можете просмотреть 5 политик, примененных к пользователю.
Шаг 5: Перейдите к Политикам в левом меню и нажмите кнопку Создать политику.
Шаг 6: В разделе Создать политику перейдите на вкладку json и скопируйте код отсюда и вставьте его в json. Нажмите кнопку Далее:теги.
Шаг 7: Сохраните настройки по умолчанию для тегов и нажмите кнопку Next:review.
Шаг 8: В разделе Политика обзора укажите имя роли и нажмите Создать политику.
Шаг 9: Нажмите Пользователи в меню слева и нажмите Добавить разрешения. Нажмите Прикрепить политики напрямую и Далее:обзор.
Шаг 10: Нажмите Добавить разрешения
Шаг 11: Вы можете просмотреть политики, прикрепленные к пользователю IAM Admin, который предоставляет доступ к AWS CloudFormation для доступа к Amazon Neptune.
Урок 5: Создание кластера БД Amazon Neptune с помощью шаблона AWS CloudFormation
AWS CloudFormation позволяет управлять набором сервисов AWS с помощью шаблона, что помогает в обеспечении и управлении сервисами с помощью инфраструктуры как кода.
Для создания кластера Amazon Neptune DB будет использоваться стек AWS CloudFormation для описания ресурсов AWS и других зависимостей для запуска и настройки стека.
Шаг 1: Из руководства пользователя Amazon Neptune используйте шаблон Amazon CloudFormation для создания кластера БД Amazon Neptune, нажав на Launch Stack для вашего региона AWS по ссылке здесь.
Например, я выбрал стек запуска для Азиатско-Тихоокеанского региона (Сидней).
Шаг 2: В консоли AWS CloudFormation в разделе Template is ready нажмите Next.
Шаг 3: На странице Specify Stack details введите имя ключевой пары в поле EC2SSHKeyPairName. Нажмите кнопку Next.
Шаг 4: На странице Параметры нажмите Далее.
Шаг 5: На странице Review Neptune QuickStart установите два флажка, показанных на изображении, чтобы подтвердить, что IAM-ресурсы будут созданы с помощью AWS CloudFormation. Нажмите кнопку Создать стек.
Шаг 6: AWS CloudFormation инициирует создание стека.
Процесс создания стека занял примерно 25 минут для создания кластера Amazon Neptune DB.
Заключительные размышления
AWS CloudFormation особенно полезен при предоставлении:
- фрагменты шаблонов
- Шаблоны по регионам AWS
- Шаблоны для конкретного сервиса AWS, например, Amazon Redshift
- Примеры решений, например, интеграция с Microsoft Sharepoint и Active Directory.
AWS re:Invent 2020: Глубокое погружение в Amazon Neptune с Брэдом Биби, генеральным директором Amazon Neptune
AWS re:Invent 2020: Новые возможности для быстрого создания графовых приложений с помощью Amazon Neptune
Ссылки
-
Упрощение управления инфраструктурой с помощью AWS CloudFormation
-
Ресурсы для разработчиков Amazon Neptune
-
Процесс ETL для преобразования и загрузки данных в Amazon Neptune
-
Результаты запросов в рабочем столе Amazon Neptune
-
Руководство пользователя Amazon Neptune
-
Начало работы с Amazon Neptune
-
Знакомство с глобальной базой данных Amazon Neptune
Дополнительные ресурсы
-
Запуск экземпляра EC2
-
Создание системы рекомендаций друзей
-
Возможности Amazon Neptune
-
Графические блокноты AWS
-
Об Amazon Neptune
-
Путь обучения для Amazon Neptune
-
Следите за последними новостями из AWS Database Blogs для Amazon Neptune
-
Amazon Neptune упрощает граф-аналитику и рабочие процессы машинного обучения благодаря интеграции с Python
-
Инструменты Neptune
-
Графовые блокноты AWS
AWS Innovate Online Conference APJ — 23 & 25 августа 2022 г.
Зарегистрируйтесь по этой ссылке
🚀 Горячая новость: Представляем Amazon Neptune Global Database
С 27 июля 2022 года глобальная база данных AWS Neptune Global Database может строить графовые отношения в нескольких регионах, включая Восточный регион США (Северная Вирджиния), Восточный регион США (Огайо), Западный регион США (Северная Калифорния), Западный регион США (Орегон), Европу (Ирландия), Европу (Лондон) и Азиатско-Тихоокеанский регион (Токио).
Вы можете прочитать об этом объявлении в блоге AWS Database Blog, написанном автором Navtanay Sinha, здесь.
Регистрация на крупнейшую австралийскую конференцию по инженерии данных DataEngBytes:
- Мельбурн: 27 сентября 2022 г.
- Сидней: 29 сентября 2022 г.
Регистрация здесь: https://dataengconf.com.au/
До следующего урока, счастливого обучения! 😁
Следующий урок
Часть 2, в следующем уроке мы рассмотрим преобразование данных и загрузку данных в Amazon Neptune.