Введение

Amazon Neptune позволяет создавать сложные интерактивные приложения на основе графов, способные опрашивать миллиарды связей за считаные миллисекунды. Запросы SQL для тесно связанных данных отличаются высокой сложностью и с трудом поддаются оптимизации для повышения производительности. Amazon Neptune позволяет использовать вместо этого популярные языки запросов к графам Apache TinkerPop Gremlin, W3C SPARQL и openCypher, которые дают возможность с легкостью выполнять расширенные запросы, способные эффективно работать со связанными данными. Это значительно упрощает код и ускоряет создание приложений для обработки связей.

Neptune отличается SLA 99,9 %, что увеличивает производительность базы данных и ее доступность, тесно интегрируя движок БД с виртуализированным уровнем хранилища на основе SSD, специально созданным для рабочих нагрузок баз данных. Хранилище Neptune является отказоустойчивым и самовосстанавливающимся, а неисправности дисковых накопителей устраняются в фоновом режиме без потери доступа к базе данных. Amazon Neptune автоматически обнаруживает сбои базы данных и перезапускает ее без необходимости восстановления после сбоя или воссоздания кэша базы данных. При сбое всего инстанса Neptune автоматически осуществит аварийную обработку отказа на одну из реплик чтения, которых может насчитываться до пятнадцати.

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

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

Бессерверный вариант
Amazon Neptune бессерверный – это вариант развертывания по требованию, который автоматически корректирует ресурсы базы данных в зависимости от потребностей приложения. Neptune бессерверный может мгновенно масштабировать рабочие нагрузки графовых баз данных до сотен тысяч запросов. Neptune Serverless корректирует ресурсы, предоставляя их только в необходимом для приложения объеме, и вы платите только за использованные ресурсы, сокращая затраты на базу данных на 90 % по сравнению с пиковым потреблением.

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

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

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

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

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

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

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

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

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

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

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

API Open Graph

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

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

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

Машинное обучение

Машинное обучение (ML) Amazon Neptune – это новая возможность Neptune на базе Amazon SageMaker, которая использует графовые нейронные сети (ГНС), метод ML, специально разработанный для графов, для простого, быстрого и более точного прогнозирования с использованием данных графов. С помощью Neptune ML вы можете повысить точность большинства прогнозов для графиков более чем на 50 % по сравнению с прогнозированием с использованием неграфических методов.

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

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

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

Разрешения на уровне доступа к ресурсам
Сервис Amazon Neptune интегрирован с Управлением идентификацией и доступом AWS (IAM) и позволяет управлять действиями пользователей AWS IAM и групп в отношении конкретных ресурсов Neptune, включая инстансы базы данных, снимки состояния базы данных, группы параметров базы данных, подписки на события базы данных и группы настроек базы данных. Кроме того, сервис позволяет присваивать ресурсам Neptune теги и управлять действиями пользователей и групп IAM в отношении ресурсов, отмеченных одинаковым тегом (и с одинаковым значением тега). Например, можно настроить правила IAM таким образом, чтобы разработчики могли изменять инстансы базы данных с тегом Development, но только администраторы базы данных имели право изменять и удалять инстансы базы данных с тегом Production.

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

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

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

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

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

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

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

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

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

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

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

Быстрая пакетная загрузка данных

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

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

Программы по обеспечению соответствия требованиям

Широкий охват программ по обеспечению соответствия требованиям
Neptune охватывает более 20 международных стандартов соответствия: от FedRAMP (уровни Moderate и High) до SOC (1,2,3) – а также соответствует требованиям HIPAA. Полный список стандартов, которым соответствует Neptune, можно найти на странице Сервисы AWS в программе соответствия требованиям.

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

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

Подробнее о ценах на продукт

Подробнее о ценах на Amazon Neptune.

Подробнее 
Зарегистрировать бесплатный аккаунт

Получите мгновенный доступ к уровню бесплатного пользования AWS. 

Регистрация 
Начать разработку в консоли

Начните разработку с помощью Amazon Neptune в Консоли управления AWS.

Войти