Перейти к главному контенту

Amazon Neptune

Высокая производительность и масштабируемость

Открыть все

Выполнив несколько шагов в Консоли управления AWS, вы можете увеличить или уменьшить вычислительные ресурсы и ресурсы памяти производственного кластера. С помощью базы данных Neptune можно выполнять масштабирование, создавая новые инстансы реплик нужного размера или удаляя инстансы. Масштабирование вычислительных ресурсов, как правило, занимает лишь несколько минут.

В базе данных Neptune используется распределенная архитектура хранилища с общим доступом, объем которого автоматически растет по мере увеличения потребностей носителей данных. Данные Neptune хранятся на кластерном томе с высокой доступностью в нескольких зонах доступности (Multi-AZ). Когда создается кластер БД Neptune, для него выделяется отдельный сегмент объемом 10 ГиБ. Когда объем данных растет и начинает превышать текущий предоставленный объем хранилища, Neptune автоматически расширяет том кластера, добавляя новые сегменты. Максимальный объем, до которого может увеличиться объем кластера Neptune, составляет 128 ТиБ в поддерживаемых регионах AWS, за исключением Китая и GovCloud. Выделять избыточный объем хранилища на случай увеличения базы данных в будущем не требуется.

При использовании базы данных Neptune для обработки большого количества запросов со стороны приложений можно увеличить пропускную способность чтения путем создания реплик чтения базы данных. У каждой БД может быть до 15 таких реплик. Реплики Neptune используют то же самое хранилище, что и исходный инстанс. Это позволяет уменьшить затраты и избавляет от необходимости производить операции записи на узлах реплики. В результате высвобождается дополнительная вычислительная мощность для обслуживания запросов чтения, а интервал задержки реплики в миллисекундах снижается, часто до однозначных чисел. При этом Neptune предоставляет единый адрес для запросов чтения, благодаря чему приложения могут подключаться без отслеживания добавления и удаления реплик.

Neptune – это специально разработанная высокопроизводительная графовая база данных. База данных Neptune обеспечивает эффективное хранение графовых данных и навигацию по ним. Масштабируемая архитектура с оптимизацией в оперативной памяти позволяет выполнять быструю оценку запросов к большим графам. С базой данных Neptune можно использовать Gremlin, openCypher или SPARQL, что позволяет с легкостью составлять эффективные запросы. С помощью аналитики Neptune можно использовать openCypher.

Высокая доступность и надежность

Открыть все

Глобальная база данных Amazon Neptune разработана для глобально распределенных приложений и позволяет использовать одну базу данных Neptune в нескольких регионах. Она реплицирует данные графа с минимальным влиянием на производительность базы данных, обеспечивает быстрое локальное чтение с низкой задержкой в каждом регионе и аварийное восстановление в случае сбоев в масштабах региона.

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

Состояние базы данных Neptune и лежащего в ее основе инстанса Amazon EC2 постоянно отслеживается. При выходе из строя инстанса, лежащего в основе базы данных, происходит автоматический перезапуск базы данных и сопутствующих процессов. Восстановление Amazon Neptune не требует воспроизведения журналов повтора базы данных, которое может занимать довольно много времени. В результате перезапуск инстанса обычно занимает не более 30 секунд. Кроме того, буферный кэш изолирован от собственных процессов базы данных, благодаря чему он сохраняется при перезагрузке базы данных.

В базе данных Neptune каждый фрагмент тома базы данных объемом 10 ГиБ надежно распределен между тремя зонами доступности. Отказоустойчивое хранилище базы данных Neptune автоматически обрабатывает потерю до двух копий данных без снижения доступности базы данных для операций записи и до трех копий без снижения доступности для операций чтения. Кроме того, хранилище базы данных Neptune является самовосстанавливающимся: блоки данных и диски постоянно проверяются на наличие ошибок и автоматически заменяются.

Возможность резервного копирования в базе данных Neptune обеспечивает восстановление инстанса на момент времени. Это позволяет восстановить базу данных на любой момент периода хранения (до секунды) до последних 5 минут использования. Настраиваемый период хранения автоматически созданных резервных копий может составлять до 35 дней. Автоматическое резервное копирование хранится в Amazon S3, надежность которого составляет 99,99999%. Резервное копирование Neptune осуществляется автоматически, инкрементно и непрерывно, не отражаясь на производительности базы данных.

Снимки состояния базы данных – это инициированные пользователем резервные копии инстанса, которые хранятся в Amazon S3 до момента их намеренного удаления пользователем. Они используют автоматизированные инкрементные снимки состояния для ускорения создания и уменьшения требований к хранилищу. Из снимка состояния базы данных можно в любой момент создать новый инстанс.

Высокий уровень безопасности

Открыть все

База данных Neptune работает в Amazon Virtual Private Cloud (Amazon VPC), что позволяет изолировать базу данных в собственной виртуальной сети и подключаться к локальной ИТ-инфраструктуре с помощью стандартных VPN-сетей IPsec с шифрованием. Кроме того, конфигурация Neptune в VPC позволяет настроить параметры брандмауэра и управлять сетевым доступом к инстансам базы данных.

Neptune интегрирован с AWS Identity and Access Management (IAM) и предоставляет возможность контролировать действия пользователей и групп IAM в отношении определенных ресурсов Neptune, включая экземпляры баз данных, снимки базы данных, группы параметров базы данных, подписки на события базы данных и группы опций базы данных. Кроме того, сервис позволяет присваивать ресурсам Neptune теги и управлять действиями пользователей и групп IAM в отношении ресурсов, отмеченных одинаковым тегом (и с одинаковым значением тега). Например, можно настроить правила IAM таким образом, чтобы разработчики могли изменять инстансы базы данных с тегом Development, но только администраторы базы данных имели право изменять и удалять инстансы базы данных с тегом Production.

Neptune предоставляет точный доступ пользователям, получающим API плоскости данных Neptune с помощью IAM для выполнения действий с данными графа, таких как чтение, запись и удаление данных из графа, и действий, не связанных с данными графа, таких как запуск и мониторинг деятельности Neptune ML и проверка статуса текущей деятельности плоскости данных. Например, создайте политику с доступом «только чтение» для аналитиков данных, которым не нужно манипулировать данными графа, политику с доступом «чтение и запись» для разработчиков, использующих граф для своих приложений, и политику для специалистов по анализу данных, которым нужен доступ к командам Neptune ML.

Neptune поддерживает шифрование данных при передаче с использованием TLS версии 1.2. Neptune позволяет шифровать базы данных с помощью ключей, которые вы создаете и контролируете с помощью AWS Key Management Service (AWS KMS). В инстансе базы данных с шифрованием Neptune шифруются все данные, находящиеся в базовом хранилище, а также автоматические резервные копии, снимки состояния и реплики в рамках одного кластера.

Neptune позволяет вести журнал событий базы данных с минимальным воздействием на ее производительность. Такие журналы в дальнейшем можно использовать для анализа в целях обеспечения безопасности или соответствия нормативным требованиям, администрирования базы данных, управления ими и т. д. Кроме того, можно отслеживать активность, отправляя журналы аудита в Amazon CloudWatch.

Neptune охватывает более 20 международных стандартов соответствия: от FedRAMP (уровни Moderate и High) до SOC (1, 2, 3), – а также соответствует требованиям HIPAA. Полный список стандартов, которым соответствует Neptune, можно найти в списке сервисов AWS Services in Scope by Compliance Program.

Экономичность

Открыть все

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

Полностью управляемый сервис

Открыть все

Начать работу с Neptune можно, запустив новый экземпляр базы данных Neptune или граф Neptune Analytics с помощью Консоли управления AWS. Для инстансов баз данных Neptune предварительно задан набор параметров и установок, соответствующих выбранному классу инстанса. Запустить инстанс базы данных и подключить приложение можно всего за несколько минут без дополнительной настройки. Группы параметров базы данных предоставляют возможность точного управления и подробного конфигурирования.

Neptune предоставляет метрики CloudWatch для инстансов баз данных. В консоли доступны для просмотра более 20 основных рабочих метрик инстанса базы данных, включая использование вычислительных ресурсов, памяти и хранилища, пропускную способность запросов и активные соединения.

Сервис Neptune обновляет базы данных, применяя последние версии исправлений. Система управления версиями ядра базы данных позволяет указать в настройках, должны ли в инстансе применяться исправления, и если да, то когда именно.

Neptune может отправлять оповещения о важных событиях баз данных, например о выполнении автоматической обработки отказа, по электронной почте или с помощью SMS. Подписаться на получение уведомлений о различных событиях, связанных с базами данных Neptune, можно в консоли.

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

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

Генеративный искусственный интеллект и машинное обучение

Открыть все

Аналитика Neptune поддерживает алгоритмы для поиска путей, обнаружения сообществ (кластеризация), определения важных данных (централизация) и количественной оценки сходств. Алгоритмы поиска путей эффективно определяют кратчайший или наиболее оптимальный маршрут между двумя узлами. Алгоритмы поиска путей позволяют моделировать реальные ситуации, такие как дорожные сети или социальные сети, в виде взаимосвязанных узлов и краев. Поиск кратчайших или наиболее оптимальных путей между различными точками имеет решающее значение в таких приложениях, как планирование маршрутов для систем GPS, оптимизация логистики и даже при решении сложных задач в таких областях, как биология или инженерия.

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

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

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

Neptune ML работает на платформе SageMaker, которая использует GNNS, технологию машинного обучения, специально разработанную для графиков, для быстрого и точного прогнозирования на основе графических данных. С помощью Neptune ML можно повысить точность большинства прогнозов для графов более чем на 50 % по сравнению с прогнозированием на основе неграфовых методов.

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

Производительность разработчика

Открыть все

Графы свойств пользуются популярностью, поскольку хорошо знакомы разработчикам, привыкшим к реляционным моделям данных. Язык запросов Gremlin позволяет осуществлять быстрый обход графов, построенных по модели Property Graph. Amazon Neptune поддерживает модель графов свойств на основе открытого языка запросов Apache TinkerPop Gremlin и предоставляет сервер Gremlin Websockets с поддержкой TinkerPop версии 3.3. С помощью Amazon Neptune можно осуществлять быстрый обход графов, построенных по модели Property Graph. Существующие приложения на основе Gremlin могут быть с легкостью адаптированы для Neptune за счет изменения сервисной конфигурации Gremlin таким образом, чтобы она указывала на инстанс Neptune.

Платформа описания ресурсов (RDF) популярна, поскольку она обеспечивает гибкость при моделировании сложных информационных областей. В RDF доступен ряд существующих бесплатных или общедоступных наборов данных, включая Wikidata и PubChem, базу данных химических молекул. Neptune поддерживает стандарты W3C для семантической сети RDF 1.1 и SPARQL 1.1 (запросы и обновления) и предоставляет конечную точку HTTP REST, реализующую протокол SPARQL 1.1. В Neptune адрес SPARQL может использоваться как для существующих, так и для новых приложений графов.

Neptune поддерживает создание графовых приложений с помощью openCypher, который в настоящее время является одним из самых популярных языков запросов для разработчиков, работающих с графовыми базами данных. Синтаксис openCypher, созданный на основе SQL, популярен среди разработчиков, бизнес-аналитиков и специалистов по работе с данными, поскольку он обеспечивает привычную структуру для составления запросов в графовых приложениях. Для базы данных Neptune языки запросов openCypher и Gremlin можно использовать вместе для обработки одних и тех же данных Property Graph. Поддержка openCypher совместима с протоколом Bolt, чтобы можно было продолжать запускать приложения, использующие протокол Bolt для подключения к Neptune.

Neptune поддерживает быструю параллельную пакетную загрузку данных графа свойств, хранящихся в Amazon S3. Указать расположение данных в Amazon S3 можно с помощью интерфейса REST. Здесь используется формат CSV для загрузки данных в узлы и ребра. Дополнительные сведения см. в документации по массовой загрузке графа свойств Neptune.

База данных Neptune поддерживает быструю параллельную загрузку данных RDF, хранящихся в Amazon S3. Указать расположение данных в Amazon S3 можно с помощью интерфейса REST. Поддерживаются варианты сериализации N-Triples (NT), N-Quads (NQ), RDF/XML и Turtle RDF 1.1. Дополнительные сведения см. в документации по массовой загрузке Neptune RDF.