Общие вопросы

Вопрос: Что такое Amazon Neptune?

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

Вопрос: Как можно попробовать работать с Amazon Neptune?

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

Вопрос: Какие популярные языки запросов к графам поддерживает Amazon Neptune?

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

 

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

Amazon Neptune предоставляет сервер Apache TinkerPop Gremlin, поддерживающий подключения Websocket и REST. После выделения инстанса Amazon Neptune можно настроить существующее приложение TinkerPop для использования адреса, предоставленного сервисом. См. также Accessing the Graph via 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 в Amazon Neptune?

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

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

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

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

Вопрос: Нужно ли создавать индексы данных при использовании Amazon Neptune?

Нет. Пользователи существующих графовых баз данных часто бывают вынуждены пытаться перехитрить поставщика в плане реализации. Целенаправленное поддерживание индексов – лишь один из аспектов этой практики. 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 на виртуализированном уровне хранилища на основе SSD. Каждая операция чтения страницы базы данных считается за одну операцию ввода-вывода. Amazon Neptune отправляет операции чтения в слой хранилища для извлечения страниц базы данных, отсутствующих в буферном кэше. Объем каждой страницы в Amazon Neptune составляет 16 КБ.
Ядро 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. Если требуется совместно использовать снимок состояния с большим количеством аккаунтов, можно либо сделать снимок состояния публичным, либо обратиться в службу поддержки для повышения квоты.

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

Снимки состояния базы данных Amazon Neptune можно совместно использовать во всех регионах AWS, где доступен сервис 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 RDS будет использовать реплику с низким приоритетом.

Вопрос: Как можно повысить доступность отдельной базы данных 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 поддерживает шифрование данных при передаче с использованием TLS (HTTPS), включая алгоритм шифрования AES-256, для обеспечения безопасного соединения между инстансом базы данных и приложением. На данный момент шифрование не включено по умолчанию, но может быть настроено через группу параметров кластера. Amazon Neptune также поддерживает шифрование баз данных с использованием ключей, управление которыми осуществляется в AWS Key Management Service (KMS). В инстансе базы данных Amazon Neptune с шифрованием шифруются все данные в базовой системе хранения, а также их автоматические резервные копии, снимки состояния и реплики чтения в том же кластере. Шифрование и дешифрование осуществляются незаметно для пользователя. Дополнительную информацию об использовании KMS с Amazon Neptune см. в «Руководстве пользователя Amazon Neptune».

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

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

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

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

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

Перейти на страницу цен