Общие

Что такое Amazon Neptune?

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

Amazon Neptune поддерживает и открытый язык обхода графов Apache TinkerPop Gremlin, и стандартный язык запросов W3C Resource Description Framework (RDF) SPARQL.

Можно ли использовать Apache TinkerPop Gremlin и RDF/SPARQL на одном и том же инстансе Neptune?

Да, все инстансы Neptune предоставляют как сервер Gremlin с поддержкой подключения Websocket, так и адрес REST, использующий протокол SPARQL 1.1. Данные этих стеков разделены, т. е. нельзя выполнить обход Gremlin по данным RDF или наоборот. Это сделано намеренно и позволяет экспериментировать с разными вариантами, выбирая оптимальный для конкретного приложения. Поскольку в рабочей среде общий доступ к ресурсам осуществляется с использованием одного инстанса, мы рекомендуем сделать так, чтобы клиенты обращались к инстансу с помощью только одного языка, т. е. Gremlin или SPARQL.

Как выполнить миграцию с существующего приложения Apache TinkerPop Gremlin на Amazon Neptune?

Amazon Neptune предоставляет сервер Apache TinkerPop Gremlin, поддерживающий подключения Websocket и REST. После выделения инстанса Amazon Neptune можно настроить существующее приложение TinkerPop для использования адреса, предоставленного сервисом. См. также Accessing the Graph via Gremlin («Доступ к графовой базе данных с помощью Gremlin»).

Нужно ли менять драйверы клиентов для работы с сервером Gremlin в Amazon Neptune?

Нет, сервер Gremlin в Amazon Neptune поддерживает клиенты, совместимые с Apache TinkerPop версии 3.3 при использовании подключений Websocket и REST.

Как выполнить миграцию с хранилища триплетов, использующего адрес SPARQL, на Amazon Neptune?

Amazon Neptune предоставляет адрес HTTP REST, использующий протокол SPARQL 1.1. После выделения инстанса сервиса можно указать в настройках приложения адрес SPARQL. См. также «Accessing the Graph via SPARQL» («Доступ к графовой базе данных с помощью SPARQL»)

Нужно ли менять драйверы клиентов для работы с адресом SPARQL в Amazon Neptune?

Нет, адрес SPARQL Amazon Neptune будет работать с любым клиентом, поддерживающим протокол SPARQL 1.1.

Совместим ли Amazon Neptune с принципом ACID (атомарность, непротиворечивость, изолированность, долговечность)?

Да, Neptune совместим с ACID с обеспечением мгновенной согласованности.

Почему для использования Amazon Neptune требуются разрешения и ресурсы Amazon RDS?

Amazon Neptune – это специально разработанное высокопроизводительное ядро графовой базы данных. Для предоставления некоторых возможностей управления, включая управление жизненным циклом инстансов, шифрование данных при хранении с использованием ключей Amazon Key Management Service (KMS) и управление группами безопасности, Amazon Neptune использует ту же операционную технологию, что и Amazon RDS.

Предлагается ли для Amazon Neptune соглашение об уровне обслуживания (SLA)?

Да. Ознакомьтесь с соглашением об уровне обслуживания (SLA) для Amazon Neptune.

Производительность

Какие типы рабочих нагрузок запросов к графам оптимизированы для использования с Amazon Neptune?

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

Выполняет ли Amazon Neptune оптимизацию запросов?

Да, Amazon Neptune выполняет оптимизацию как для запросов SPARQL, так и для обходов Gremlin.

Сервис Amazon Neptune основан на реляционной базе данных?

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

Цены

Сколько стоит использование Amazon Neptune?

Ознакомьтесь с действующими тарифами на странице цен.

В каких регионах AWS доступен Amazon Neptune?

Актуальная информация по регионам и ценам находится на странице цен.

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

Нет. Репликация в Amazon Neptune включена в цену. Цена определяется хранилищем, потребляемым на уровне базы данных, а не на уровне виртуализированного хранилища в Amazon Neptune .

Что такое операции ввода-вывода в Amazon Neptune и как они учитываются?

Ядро Amazon Neptune разработано для устранения ненужных операций ввода-вывода, что позволяет снизить издержки и гарантировать доступность ресурсов для обслуживания трафика чтения/записи. Операции записи потребляются только при отправке записей журнала транзакций на уровень хранилища для постоянного хранения. Операции записи учитываются блоками по 4 КБ. Например, запись журнала транзакций размером 1024 байта будет считаться за одну операцию ввода‑вывода. Однако ядро базы данных Amazon Neptune может создавать пакеты из параллельных операций записи с журналами транзакций меньше 4 КБ в целях оптимизации потребления ресурсов ввода-вывода. В отличие от традиционных ядер баз данных, Amazon Neptune никогда не отправляет измененные страницы базы данных на уровень хранилища, что способствует еще большей экономии ресурсов ввода-вывода.

Аппаратное обеспечение и масштабирование

Каковы минимальные и максимальные ограничения хранилища базы данных Amazon Neptune?

Минимальный объем хранилища – 10 ГБ. По мере использования базы данных хранилище Amazon Neptune будет автоматически расти до 64 ТБ с шагом в 10 ГБ. На производительности базы данных это никак не отразится. Выделять хранилище заранее не требуется.

Как масштабировать вычислительные ресурсы, связанные с инстансом БД Amazon Neptune?

Вычислительные ресурсы, выделенные для инстанса БД, можно масштабировать в Консоли управления AWS, выбрав нужный инстанс БД и нажав кнопку «Modify» («Изменить»). Ресурсы памяти и ЦПУ масштабируются за счет изменения класса инстанса БД.

При изменении класса инстанса БД запрошенные изменения вступят в силу в указанный период обслуживания. Как вариант, можно установить флажок «Apply Immediately» (Применить сразу) для немедленного выполнения запроса на масштабирование. В обоих случаях это снизит доступность БД на несколько минут, в течение которых выполняется масштабирование. Имейте в виду, что одновременно будут применены любые другие ожидающие применения системные изменения.

Резервное копирование и восстановление

Как включить резервное копирование для инстанса БД?

Автоматическое резервное копирование для инстансов БД в Amazon Neptune включено всегда. Резервное копирование не влияет на производительность базы данных.

Можно ли делать снимки состояния БД и сохранять их в течение неограниченного времени?

Да. И выполнение таких снимков не повлияет на производительность. Учтите, что восстановление данных из снимков состояния БД требует создания нового инстанса БД.

Какова процедура восстановления при отказе базы данных?

Amazon Neptune автоматически создает 6 копий данных в трех зонах доступности и автоматически попытается восстановить базу данных в работоспособной зоне доступности без потери данных. В том маловероятном случае, когда данные в хранилище Amazon Neptune окажутся полностью недоступны, их можно будет восстановить из снимка состояния БД или выполнить операцию восстановления на момент времени на новом инстансе. Обратите внимание на то, что самое позднее время восстановления при операции восстановления на момент времени может быть до 5 минут в прошлом.

Что происходит с резервными копиями и снимками состояния БД при удалении инстанса БД?

При удалении инстанса БД можно создать последний снимок состояния БД. Такой снимок состояния БД можно будет применить позже для восстановления удаленного инстанса БД. После удаления инстанса БД Amazon Neptune сохраняет последний снимок состояния БД, созданный пользователем, наряду со всеми прочими снимками состояния БД, созданными вручную. После удаления инстанса БД сохраняются только снимки состояния БД (то есть созданные автоматически резервные копии для восстановления на момент времени не сохраняются).

Можно ли использовать свои снимки состояния совместно с другим аккаунтом AWS?

Да. Amazon Neptune позволяет создавать снимки состояния баз данных, которые в дальнейшем можно использовать для восстановления базы данных. Снимок состояния можно использовать совместно с другим аккаунтом AWS, при этом владелец аккаунта‑получателя обретает возможность использовать этот снимок состояния для восстановления базы данных, содержащей все исходные данные. Снимок состояния можно сделать даже публичным – в этом случае любой пользователь сможет восстановить базу данных, содержащую соответствующие публичные данные. Эту возможность можно применять для совместного использования данных разными средами (рабочей средой, средой разработки и тестирования, средой подготовки и т. д.), когда они относятся к разным аккаунтам AWS, а также для того, чтобы безопасно хранить резервные копии всех данных в нескольких аккаунтах на тот случай, если используемый главный аккаунт AWS будет взломан.

Будет ли начисляться плата за совместно используемые снимки состояния?

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

Возможно ли автоматическое совместное использование снимков состояния?

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

С каким количеством аккаунтов можно совместно использовать снимок состояния?

Созданные вручную снимки состояния можно использовать совместно с 20 аккаунтами AWS. Если требуется совместно использовать снимок состояния с более чем 20 аккаунтов, можно либо сделать снимок состояния публичным, либо обратиться в службу поддержки для повышения квоты.

В каких регионах можно совместно использовать снимки состояния Amazon Neptune?

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

Можно ли совместно использовать снимки состояния Amazon Neptune в нескольких регионах?

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

Можно ли совместно использовать зашифрованные снимки состояния Amazon Neptune?

Да. Зашифрованные снимки состояния Amazon Neptune можно использовать совместно.

Можно ли использовать снимки состояния Amazon Neptune за пределами сервиса?

Нет, снимки состояния Amazon Neptune можно использовать только в пределах сервиса.

Высокая доступность и репликация

Как Amazon Neptune повышает отказоустойчивость базы данных при сбоях диска?

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

Как Amazon Neptune сокращает время восстановления после сбоя базы данных?

В отличие от других баз данных, после сбоя базы данных Amazon Neptune не нужно воспроизводить журнал повтора с последней контрольной точки базы данных (обычно 5 минут) и подтверждать, что все изменения были применены, прежде чем сделать базу данных доступной для операций. Благодаря этому время перезапуска базы данных в большинстве случаев составляет менее 60 секунд. Amazon Neptune изолирует буферный кэш от процессов базы данных и делает его мгновенно доступным во время перезагрузки. Это предотвращает необходимость регулировать доступ до тех пор, пока кэш не заполнен, во избежание сбоев доступа.

Какие типы реплик поддерживает Amazon Neptune?

Amazon Neptune поддерживает реплики чтения, имеющие тот же объем, что и основной инстанс. Сделанные в основном инстансе обновления видны всем репликам Amazon Neptune.

Функция Реплика Amazon Neptune

Количество реплик:                                             до 15

Тип репликации Асинхронная (миллисекунды)

Влияние на производительность основного инстанса: низкое

Возможность использования в качестве целевого объекта при обработке отказа: есть (без потери данных)

Возможность автоматической обработки отказа: есть

Можно ли при работе с Amazon Neptune использовать реплики в различных регионах?

Нет, Amazon Neptune не поддерживает использование реплик в различных регионах.

Можно ли указывать определенные реплики в качестве приоритетных целевых объектов при обработке отказа?

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

Можно ли изменять уровни приоритета инстансов после их создания?

Уровень приоритета инстанса можно изменять в любое время. Изменение уровня приоритета само по себе не приводит к запуску обработки отказа.

Можно ли запретить перемещение определенных реплик в основной инстанс?

Репликам, которые не планируется преобразовывать в основной инстанс, можно назначить более низкий уровень приоритета. Но если реплики с высоким приоритетом в кластере по какой-либо причине неработоспособны или недоступны, сервис Amazon Neptune будет использовать для обработки отказа реплики с низким приоритетом.

Как можно повысить доступность отдельной базы данных Amazon Neptune?

Можно добавить реплики Amazon Neptune. Реплики Amazon Neptune используют то же самое хранилище, что и первичный инстанс. Любую реплику Amazon Neptune можно сделать основной без какой-либо потери данных и таким образом использовать для повышения отказоустойчивости в случае сбоя основного инстанса БД. Для повышения доступности базы данных просто создайте от 1 до 15 реплик, и Amazon Neptune будет автоматически включать их в список для выбора основного инстанса в случае отказа базы данных.

Что происходит во время обработки отказа и сколько времени это занимает?

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

При наличии реплики Amazon Neptune в той же или другой зоне доступности при обработке отказа Amazon Neptune переадресует запись канонического имени (CNAME) основного адреса БД на работоспособную реплику, которая, в свою очередь, становится основной. Обработка отказа обычно полностью выполняется за 30 секунд. При этом адрес реплики чтения не требует изменения CNAME при обработке отказа.
При отсутствии реплик Amazon Neptune (т. е. при наличии единственного инстанса) сервис сначала попытается создать новый инстанс БД в той же зоне доступности, что и исходный инстанс. Если это невозможно, Amazon Neptune попытается создать новый инстанс БД в другой зоне доступности. Весь процесс обработки отказа обычно занимает менее 15 минут.

В случае потери соединения приложение должно пытаться повторно подключиться к базе данных. 

Что будет, если произойдет обработка отказа при наличии основной базы данных и реплики Amazon Neptune, активно обслуживающей трафик операций чтения?

Amazon Neptune автоматически обнаружит проблему с первичным инстансом и начнет направлять трафик операций чтения/записи на реплику Amazon Neptune. В среднем обработка отказа в такой ситуации занимает 30 секунд. Кроме того, трафик операций чтения, который обслуживали реплики Amazon Neptune, будет прерван на короткий промежуток времени.

Насколько реплики отстают от первичного инстанса?

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

Безопасность

Можно ли работать с Amazon Neptune в Amazon Virtual Private Cloud (Amazon VPC)?

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

Поддерживает ли Amazon Neptune шифрование данных при передаче и хранении?

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

Можно ли зашифровать существующую незашифрованную базу данных?

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

Как получить доступ к базе данных Amazon Neptune?

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

Просмотрите информацию о ценах на Amazon Neptune.

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

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

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

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

Войти