Общие
Что такое Amazon Neptune?
Amazon Neptune – это быстрый, надежный, полностью управляемый сервис графовой базы данных, который упрощает создание и запуск приложений, работающих с наборами тесно связанных данных. Основа Neptune – специально разработанное высокопроизводительное ядро графовой базы данных. Оно оптимизировано для хранения миллиардов связей и запроса графов с задержкой в миллисекунды. Neptune поддерживает популярные языки запросов графов Apache TinkerPop Gremlin, W3C SPARQL и openCypher, что позволяет создавать запросы для эффективной навигации по связанным базам данных. Neptune лежит в основе таких примеров использования графов, как сервисы рекомендаций, системы выявления мошенничества, графы знаний, разработка лекарственных препаратов и сетевая безопасность.
В целях обеспечения высокой доступности в сервисе Neptune используются реплики чтения, возможность восстановления на момент времени, постоянное резервное копирование в Amazon S3 и репликация в разных зонах доступности. Neptune предоставляет функции защиты данных с поддержкой шифрования при хранении и передаче. Сервис Neptune полностью управляем, поэтому при работе с базами данных больше не требуется заниматься такими административными задачами, как подготовка оборудования, установка исправлений ПО, установка и настройка самой базы данных, а также ее резервное копирование.
Какие популярные языки запросов к графам поддерживает Amazon Neptune?
Amazon Neptune поддерживает два языка запросов для модели данных Property Graph: язык обхода графов Apache TinkerPop Gremlin с открытым исходным кодом и язык запросов openCypher, а для модели данных Resource Description Framework (RDF) Neptune поддерживает открытый стандарт W3C языка запросов SPARQL.
Можно ли использовать Apache TinkerPop Gremlin, openCypher и RDF/SPARQL в одном и том же кластере Neptune?
Да, каждый кластер Neptune может хранить как данные графа свойств, так и данные RDF. Neptune предоставляет адрес Gremlin (HTTPS и WebSocket), адрес openCypher (HTTPS и Bolt) и адрес по протоколу REST SPARQL 1.1.
Для графов свойств можно выполнить запрос Gremlin или openCypher к одним и тем же данным, независимо от того, какой язык использовался для ввода этих данных. Возможно, вам будет удобнее использовать Gremlin для одних рабочих нагрузок и openCypher – для других. Вы не можете выполнить запрос к данным графа свойств (Gremlin или openCypher) через данные RDF или наоборот.
Как выполнить миграцию с существующего приложения Apache TinkerPop Gremlin на Amazon Neptune?
Amazon Neptune предоставляет сервер Apache TinkerPop Gremlin, поддерживающий подключения HTTPS и WebSocket. После выделения инстанса Amazon Neptune можно настроить существующее приложение TinkerPop для использования адреса, предоставленного сервисом. См. также Accessing the Graph via Gremlin («Доступ к графовой базе данных с помощью Gremlin»).
Нужно ли менять драйверы клиентов для работы с сервером Gremlin в Amazon Neptune?
Нет, сервер Gremlin в Amazon Neptune поддерживает клиенты, совместимые с Apache TinkerPop при использовании подключений WebSocket и HTTPS REST. Последняя версия Neptune поддерживает TinkerPop 3.6.x. Для получения дополнительной информации ознакомьтесь с документацией.
Как выполнить миграцию с существующего приложения openCypher на Amazon Neptune?
Благодаря тому, что сервис Neptune поддерживает язык запросов openCypher, вы можете перенести в Neptune большинство рабочих нагрузок Cypher или Neo4j, использующих протокол Bolt или HTTPS. Более подробную информацию о том, как перенести приложение openCypher, см. в руководстве по миграции.
Как выполнить миграцию с хранилища триплетов, использующего адрес SPARQL, на Amazon Neptune?
Amazon Neptune предоставляет адрес HTTPS REST, использующий протокол SPARQL 1.1. После выделения инстанса сервиса можно указать в настройках приложения адрес SPARQL. См. также «Accessing the Graph via SPARQL» («Доступ к графовой базе данных с помощью SPARQL»)
Нужно ли менять драйверы клиентов для работы с адресом SPARQL в Amazon Neptune?
Совместим ли Amazon Neptune с принципом ACID (атомарность, непротиворечивость, изолированность, долговечность)?
Да, Neptune соответствует стандарту ACID и обеспечивает немедленную согласованность на первичном инстансе записи и конечную согласованность на инстансах реплик чтения.
Почему для использования Amazon Neptune требуются разрешения и ресурсы Amazon RDS?
Предлагается ли для Amazon Neptune соглашение об уровне обслуживания (SLA)?
Да. Ознакомьтесь с соглашением об уровне обслуживания (SLA) для Amazon Neptune.
Производительность
Какие типы рабочих нагрузок запросов к графам оптимизированы для использования с Amazon Neptune?
Amazon Neptune поддерживает приложения на основе графов, для которых требуется высокая пропускная способность и низкая задержка при выполнении запросов к графам. Amazon Neptune поддерживает создание до 15 реплик чтения и может обслуживать сотни тысяч запросов в секунду.
Выполняет ли Amazon Neptune оптимизацию запросов?
Да, Amazon Neptune использует оптимизацию запросов для запросов Gremlin, openCypher и SPARQL. Дополнительные сведения см. в этом разделе.
Сервис 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 будет автоматически расти до 128 ТиБ с шагом в 10 ГБ. На производительности базы данных это никак не отразится. Выделять хранилище заранее не требуется.
Как масштабировать вычислительные ресурсы, связанные с инстансом БД Amazon Neptune?
При изменении класса инстанса БД запрошенные изменения вступят в силу в указанный период обслуживания. Как вариант, можно установить флажок «Apply Immediately» (Применить сразу) для немедленного выполнения запроса на масштабирование. В обоих случаях это снизит доступность БД на несколько минут, в течение которых выполняется масштабирование. Помните, что одновременно будут применены любые другие ожидающие применения системные изменения.
Могу ли я автоматически увеличивать и уменьшать размер базы данных в зависимости от использования?
С помощью бессерверной конфигурации Amazon Neptune можно автоматически масштабировать емкость базы данных. Бессерверная конфигурация Neptune позволяет запускать и мгновенно масштабировать графовые рабочие нагрузки без необходимости управления и оптимизации емкости. Бессерверная конфигурация Neptune автоматически определяет и предоставляет вычислительные ресурсы и память для работы графовой базы данных, а также масштабирует емкость в зависимости от изменяющихся требований рабочей нагрузки, чтобы поддерживать постоянную производительность.
Поддерживает ли Neptune автомасштабирование?
Да, Neptune поддерживает автомасштабирование реплик чтения инстансов. Вы можете настроить автомасштабирование для автоматического добавления или удаления реплик чтения в ответ на изменения в требованиях к подключению или рабочей нагрузке. Дополнительную информацию см. в документации.
Резервное копирование и восстановление
Как включить резервное копирование для инстанса БД?
Автоматическое резервное копирование для инстансов БД в Amazon Neptune включено всегда. Резервное копирование не влияет на производительность базы данных.
Можно ли делать снимки состояния БД и сохранять их в течение неограниченного времени?
Какова процедура восстановления при отказе базы данных?
Что происходит с резервными копиями и снимками состояния БД при удалении инстанса БД?
Можно ли использовать свои снимки состояния совместно с другим аккаунтом AWS?
Будет ли начисляться плата за совместно используемые снимки состояния?
Возможно ли автоматическое совместное использование снимков состояния?
С каким количеством аккаунтов можно совместно использовать снимок состояния?
В каких регионах можно совместно использовать снимки состояния Amazon Neptune?
Можно ли совместно использовать снимки состояния Amazon Neptune в нескольких регионах?
Можно ли совместно использовать зашифрованные снимки состояния Amazon Neptune?
Можно ли использовать снимки состояния Amazon Neptune за пределами сервиса?
Высокая доступность и репликация
Как Amazon Neptune повышает отказоустойчивость базы данных при сбоях диска?
Amazon Neptune автоматически делит том базы данных на распределенные по нескольким дискам сегменты по 10 ГБ. Каждый блок тома базы данных в 10 ГБ шестикратно реплицирован в трех зонах доступности. Amazon Neptune обеспечивает автоматическую обработку потери до двух копий данных без снижения доступности операций записи в базу данных и до трех копий без снижения доступности операций чтения. Кроме того, хранилище Amazon Neptune является самовосстанавливающимся. Блоки данных и диски непрерывно сканируются на наличие ошибок и автоматически восстанавливаются.
Как Amazon Neptune сокращает время восстановления после сбоя базы данных?
Какие типы реплик поддерживает Neptune?
Amazon Neptune поддерживает реплики чтения, имеющие тот же объем, что и основной инстанс. Сделанные в основном инстансе обновления видны всем репликам Amazon Neptune. В одном кластере Neptune может быть один инстанс записи и до 15 реплик чтения. В случае сбоя инстанса записи в него будет автоматически преобразована реплика чтения.
Можно ли при работе с Amazon Neptune использовать реплики в различных регионах?
Да, Amazon Neptune поддерживает межрегиональную репликацию, если настроить кластер Neptune на использование глобальной базы данных. См. раздел Глобальная база данных Amazon Neptune.
Можно ли указывать определенные реплики в качестве приоритетных целевых объектов при обработке отказа?
Да. Каждому инстансу в кластере можно присвоить приоритет использования. При отказе основного инстанса сервис Amazon Neptune выделяет реплику с наивысшим приоритетом в качестве основного инстанса. Если две и более реплик имеют одинаковый уровень приоритета, сервис Amazon Neptune использует реплику, размер которой совпадает с размером основного инстанса.
Можно ли изменять уровни приоритета инстансов после их создания?
Уровень приоритета инстанса можно изменять в любое время. Изменение уровня приоритета само по себе не приводит к запуску обработки отказа.
Можно ли запретить перемещение определенных реплик в основной инстанс?
Репликам, которые не планируется преобразовывать в основной инстанс, можно назначить более низкий уровень приоритета. Но если реплики с высоким приоритетом в кластере по какой-либо причине неработоспособны или недоступны, сервис Amazon Neptune будет использовать для обработки отказа реплики с низким приоритетом.
Как можно повысить доступность отдельной базы данных 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?
Доступ к базам данных Amazon Neptune должен осуществляться через порт HTTPS, указанный при создании базы данных в VPC. Эта мера предосторожности обеспечивает дополнительный уровень защиты данных. Пошаговую инструкцию о подключении к базе данных Amazon Neptune см. в руководстве пользователя Amazon Neptune.

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

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