Вопросы и ответы по Amazon Neptune

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

Amazon Neptune – это сервис, который включает движок графовой базы данных, движок базы данных для анализа графов, машинное обучение графов, а также инструменты визуализации, которые можно использовать как совместно, так и отдельно. Сервис Neptune упрощает работу с графовыми данными в AWS. База данных Amazon Neptune обрабатывает более 100 000 запросов в секунду для приложений с наиболее высокими требованиями, используя бессерверную графовую базу данных, которая обеспечивает превосходный уровень масштабируемости и доступности. Аналитика Amazon Neptune – это идеальное решение для получения аналитических сведений и определения тенденций за счет ускоренной обработки больших объемов графовых данных. Таким образом, благодаря широко используемым графовым алгоритмам аналитики результаты можно получить за считанные секунды.

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

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

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

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

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

Среди распространенных сценариев использования аналитики Neptune следует отметить краткосрочную аналитику, выполнение аналитических запросов с малой задержкой, запуск встроенных графовых алгоритмов и векторный поиск сходств. Векторный поиск сходств обуславливает возможность использования аналитики Neptune для разработки приложений, которые генерируют ответы, дополненные результатами поиска (Retrieval Augmented Generation, RAG). Приложения RAG выполняют поиск в представлениях данных с высокой плотностью, предоставляемых вложениями. Результаты векторного поиска можно комбинировать с контекстно-зависимыми представлениями данных в формате графов для предоставления обширной контекстной информации о связях.

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

Да. Ознакомьтесь с соглашением SLA для Amazon Neptune.

База данных Neptune

Да. См. соглашение Amazon Neptune SLA. База данных Amazon Neptune поддерживает два языка запросов для модели данных графов свойств: язык обхода графов Apache TinkerPop Gremlin с открытым исходным кодом и язык запросов openCypher, а для модели данных платформы описания ресурсов (RDF) база данных Amazon Neptune поддерживает открытый стандартный язык запросов W3C SPARQL.

Да, каждый кластер базы данных Neptune может хранить как графовые данные о свойствах, так и данные RDF. База данных Neptune предоставляет адрес Gremlin (HTTPS и WebSocket), адрес openCypher (HTTPS и Bolt) и адрес по протоколу REST SPARQL 1.1.

Для графов свойств можно выполнить запрос Gremlin или openCypher к одним и тем же данным, независимо от того, какой язык использовался для ввода этих данных. Возможно, вам будет удобнее использовать Gremlin для одних рабочих нагрузок и openCypher – для других. Выполнить запрос к графовым данным о свойствах (Gremlin или openCypher) через данные RDF или наоборот невозможно.

База данных Neptune предоставляет сервер Apache TinkerPop Gremlin, поддерживающий подключения HTTPS и WebSocket. После выделения инстанса Neptune можно настроить используемое приложение TinkerPop для использования адреса, предоставленного сервисом. См. также страницу с информацией о доступе к графовой базе данных с помощью Gremlin.

Нет, сервер Gremlin в Neptune поддерживает клиентов, совместимых с Apache TinkerPop при использовании подключений WebSocket и HTTPS REST. Новая версия базы данных Neptune поддерживает TinkerPop 3.6.x. Подробнее см. в документации.

Поскольку база данных Neptune поддерживает язык запросов openCypher, перенести в нее большинство рабочих нагрузок Cypher или Neo4j можно, используя протокол Bolt или HTTPS. Подробнее о том, как перенести приложение openCypher, см. в руководстве по миграции.

База данных Amazon Neptune предоставляет адрес HTTPS REST, использующий протокол SPARQL 1.1. После выделения инстанса сервиса можно указать в настройках приложения адрес SPARQL. См. также страницу с информацией о доступе к графовой базе данных с помощью SPARQL.

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

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

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

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

Да, Amazon Neptune оптимизирует запросы Gremlin, openCypher и SPARQL. Подробнее см. на странице с информацией об альтернативном движке обработки запросов Amazon Neptune.

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

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

Дополнительную информацию о регионах AWS, в которых доступна база данных Neptune, см. в таблице данных о регионах AWS.

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

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

При этом ядро базы данных Neptune может создавать пакеты из параллельных операций записи с журналами транзакций менее 4 КБ в целях оптимизации потребления ресурсов ввода‑вывода. В отличие от традиционных ядер базы данных, Neptune никогда не отправляет измененные страницы базы данных на уровень хранилища для еще большей экономии ресурсов ввода‑вывода.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Аналитика Neptune

Проект openCypher с открытым исходным кодом упрощает использование языка Cypher для обработки графов, вызова алгоритмов аналитики Neptune и векторного поиска сходств.

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

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

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

Да, аналитика Neptune полностью соответствует требованиям ACID.

Аналитика Neptune поддерживает индекс векторного поиска по вложениям (до 65 000 измерений), хранящимся в графовых данных.

Аналитика Neptune поддерживает единый индекс векторного поиска для вложений, хранящихся в графовых данных.

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

Аналитика Neptune хранит векторы и поддерживает алгоритм Hierarchical Navigable Small Worlds (HNSW) для индексации векторов и поиска сходств. Отдельная векторная база данных необходима для того, чтобы использовать разные алгоритмы индексации и поиска сходств или применять несколько индексов, основанных на разных свойствах.

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

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

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

Применимые тарифы см. на странице цен использования Neptune.

Дополнительную информацию о регионах AWS, в которых доступна аналитика Neptune, см. в таблице данных о регионах AWS.

Neptune

Сервис Neptune ML поддерживает Gremlin и SPARQL.

Сервис Neptune ML обеспечивает классификацию узлов, многоклассовую классификацию, регрессию узлов, классификацию краев, классификацию по одному классу, регрессию и прогнозирование связей (краев). Подробнее см. в руководстве пользователя Amazon Neptune.

Применимые тарифы см. на странице цен использования Neptune.