Amazon Neptune – это бессерверная база данных графовой аналитики, которая упрощает создание интерактивных графических приложений и управление ими в любом масштабе.
База данных Amazon Neptune – это полностью управляемая графовая база данных, которую можно использовать для поиска и запроса миллиардов взаимосвязей за миллисекунды по тысячам одновременных запросов. Она обеспечивает высокую доступность конфигураций, динамическую масштабируемость с бессерверной поддержкой, поддержку нескольких регионов для повышения отказоустойчивости и интеграцию с другими сервисами AWS, такими как Amazon SageMaker и Сервис Amazon OpenSearch.
Neptune масштабирует хранилище автоматически, увеличивая его и перераспределяя операции ввода-вывода для обеспечения стабильной работы без необходимости выделения избыточных ресурсов. Хранилище Neptune является отказоустойчивым и самовосстанавливающимся, а неисправности дисковых накопителей устраняются в фоновом режиме без потери доступа к базе данных. Neptune автоматически обнаруживает сбои базы данных и перезапускает ее без необходимости восстановления после сбоя или воссоздания кэша базы данных. При сбое всего инстанса Neptune автоматически осуществит аварийную обработку отказа на одну из реплик чтения. У каждой БД может быть до 15 таких реплик.
Запросы SQL для тесно связанных данных отличаются высокой сложностью и с трудом поддаются оптимизации для повышения производительности. Amazon Neptune позволяет использовать вместо этого популярные языки запросов к графам Apache TinkerPop Gremlin, W3C SPARQL и openCypher, которые дают возможность с легкостью выполнять расширенные запросы, способные эффективно работать со связанными данными. Это значительно упрощает код и ускоряет создание приложений для обработки связей. Инстанс базы данных Neptune можно быстро запустить всего за несколько шагов в консоли Neptune.
Аналитика Amazon Neptune NEW – это ядро аналитической базы данных, поддерживающее анализ графов, алгоритмы графов и векторный поиск графовых данных, хранящихся в корзинах Простого сервиса хранения данных Amazon (Amazon S3) или базе данных Neptune. Вы можете анализировать десятки миллиардов взаимосвязей за считаные секунды. С помощью аналитики Neptune можно загружать данные из существующей базы данных Neptune или Amazon S3 с помощью нескольких простых вызовов API и удовлетворять самым требовательным рабочим нагрузкам графовой аналитики. В качестве источника данных можно выбрать используемую базу данных Neptune, которая будет автоматически загружена в аналитику Neptune. Кроме того, можно выбрать загрузку графовых данных аналитики Neptune непосредственно из Amazon S3 с использованием файлов CSV в распространенных форматах экспорта графиков.
Amazon Neptune ML – это интеграция между базой данных Neptune и Amazon SageMaker. В Neptune ML используются графовые нейронные сети (ГНС) – метод машинного обучения (ML), специально разработанный для графов, с целью быстрого и более точного прогнозирования на основе графовых данных. Neptune ML поддерживает прогнозирование в реальном времени узлов, краев и свойств (сущностей), добавленных в граф после процесса обучения модели машинного обучения, что позволяет прогнозировать новые данные без необходимости каждый раз переобучать модели машинного обучения.
Бессерверный вариант
Бессерверная база данных Amazon Neptune – это вариант развертывания по требованию, который автоматически корректирует ресурсы базы данных в зависимости от потребностей приложения. Бессерверная база данных Amazon Neptune может мгновенно масштабировать рабочие нагрузки графовых баз данных до сотен тысяч запросов. Бессерверная база данных Neptune корректирует ресурсы, предоставляя их только в необходимом для приложения объеме, и вы платите только за использованные ресурсы, сокращая затраты на базу данных на 90 % по сравнению с пиковым потреблением.
Высокая пропускная способность и низкая задержка запросов к графам
Neptune – это специально разработанная высокопроизводительная графовая база данных. База данных Neptune обеспечивает эффективное хранение графовых данных и навигацию по ним. Масштабируемая архитектура с оптимизацией в оперативной памяти позволяет выполнять быструю оценку запросов к большим графам. С базой данных Neptune можно использовать Gremlin, openCypher или SPARQL, что позволяет с легкостью составлять эффективные запросы. С помощью аналитики Neptune можно использовать openCypher.
Простое масштабирование вычислительных ресурсов базы данных
С помощью нескольких шагов в консоли управления AWS можно увеличить или уменьшить объем вычислительных ресурсов и ресурсов памяти, используемых в производственном кластере. С помощью базы данных Neptune можно выполнять масштабирование, создавая новые инстансы реплик нужного размера или удаляя инстансы. Масштабирование вычислительных ресурсов, как правило, занимает лишь несколько минут.
Автоматически масштабируемое хранилище
В базе данных Neptune используется распределенная архитектура хранилища с общим доступом, объем которого автоматически растет по мере увеличения потребностей носителей данных. Данные Neptune хранятся на кластерном томе с высокой доступностью в нескольких зонах доступности. Когда создается кластер БД Neptune, для него выделяется отдельный сегмент объемом 10 ГиБ. Когда объем данных растет и начинает превышать текущий предоставленный объем хранилища, Neptune автоматически расширяет том кластера, добавляя новые сегменты. Максимальный объем, до которого может увеличиться объем кластера Neptune, составляет 128 ТиБ в поддерживаемых регионах AWS, за исключением Китая и GovCloud. Выделять избыточный объем хранилища на случай увеличения базы данных в будущем не требуется.
Реплики чтения с небольшой задержкой
При использовании базы данных Neptune для обработки большого количества запросов со стороны приложений можно увеличить пропускную способность чтения путем создания реплик чтения базы данных. У каждой БД может быть до 15 таких реплик. Реплики Neptune используют то же самое хранилище, что и исходный инстанс. Это позволяет уменьшить затраты и избавляет от необходимости производить операции записи на узлах реплики. В результате высвобождается дополнительная вычислительная мощность для обслуживания запросов чтения, а интервал задержки реплики в миллисекундах снижается, часто до однозначных чисел. При этом Neptune предоставляет единый адрес для запросов чтения, благодаря чему приложения могут подключаться без отслеживания добавления и удаления реплик.
Мониторинг и восстановление инстансов
Состояние базы данных Neptune и лежащего в ее основе инстанса EC2 постоянно отслеживается. При выходе из строя инстанса, лежащего в основе базы данных, происходит автоматический перезапуск базы данных и сопутствующих процессов. Восстановление Amazon Neptune не требует воспроизведения журналов повтора базы данных, которое может занимать довольно много времени. В результате перезапуск инстанса обычно занимает не более 30 секунд. Кроме того, буферный кэш изолирован от собственных процессов базы данных, благодаря чему он сохраняется при перезагрузке базы данных.
Возможность развертывания в нескольких зонах доступности с использованием реплик чтения
При выходе инстанса из строя Neptune автоматически осуществляет аварийную обработку отказа на одну из реплик, созданных в любой из трех зон доступности. У каждой БД может быть до 15 таких реплик. При отсутствии реплик в случае сбоя Neptune автоматически попытается создать новый инстанс базы данных.
Отказоустойчивое и самовосстанавливающееся хранилище
В базе данных Neptune каждый фрагмент тома базы данных объемом 10 ГиБ надежно распределен в трех зонах доступности. Отказоустойчивое хранилище базы данных Neptune автоматически обрабатывает потерю до двух копий данных без снижения доступности базы данных для операций записи и до трех копий без снижения доступности для операций чтения. Кроме того, хранилище базы данных Neptune является самовосстанавливающимся: блоки данных и диски постоянно проверяются на наличие ошибок и автоматически заменяются.
Непрерывные автоматические инкрементные резервные копии и восстановление на момент времени
Возможность резервного копирования в базе данных Neptune обеспечивает восстановление инстанса на момент времени. Это позволяет восстановить базу данных на любой момент периода хранения (до секунды) до последних 5 минут использования. Настраиваемый период хранения автоматически созданных резервных копий может составлять до 35 дней. Автоматические резервные копии сохраняются в Amazon S3, рассчитанном на надежность на уровне 99,999999999 %. Резервное копирование Neptune осуществляется автоматически, инкрементно и непрерывно, не отражаясь на производительности базы данных.
Снимки состояния БД
Снимки состояния базы данных – это инициированные пользователем резервные копии инстанса, которые хранятся в Amazon S3 до момента их намеренного удаления пользователем. Они используют автоматизированные инкрементные снимки состояния для ускорения создания и уменьшения требований к хранилищу. Из снимка состояния базы данных можно в любой момент создать новый инстанс.
Глобальная база данных
Глобальная база данных Amazon Neptune разработана для глобально распределенных приложений, что позволяет одной базе данных Neptune охватывать несколько регионов. Она реплицирует данные графа с минимальным влиянием на производительность базы данных, обеспечивает быстрое локальное чтение с низкой задержкой в каждом регионе и аварийное восстановление в случае сбоев в масштабах региона.
Изолирование сети
База данных Neptune работает в виртуальном частном облаке Amazon (Amazon VPC), что позволяет изолировать базу данных в своей виртуальной сети и подключиться к локальной ИТ-инфраструктуре с использованием IPsec VPN со стандартным шифрованием. Кроме того, конфигурация Neptune в VPC позволяет настроить параметры брандмауэра и управлять сетевым доступом к инстансам базы данных.
Разрешения на уровне доступа к ресурсам
Сервис Amazon Neptune интегрирован с управлением идентификацией и доступом AWS (IAM) и позволяет управлять действиями пользователей IAM и групп в отношении конкретных ресурсов Neptune, включая инстансы базы данных, снимки состояния базы данных, группы параметров базы данных, подписки на события базы данных и группы настроек базы данных. Кроме того, сервис позволяет присваивать ресурсам Neptune теги и управлять действиями пользователей и групп IAM в отношении ресурсов, отмеченных одинаковым тегом (и с одинаковым значением тега). Например, можно настроить правила IAM таким образом, чтобы разработчики могли изменять инстансы базы данных с тегом Development, но только администраторы базы данных имели право изменять и удалять инстансы базы данных с тегом Production.
Точный контроль доступа
Neptune предоставляет точный доступ пользователям, получающим API плоскости данных Neptune с помощью IAM для выполнения действий с данными графа, таких как чтение, запись и удаление данных из графа, и действий, не связанных с данными графа, таких как запуск и мониторинг деятельности Neptune ML и проверка статуса текущей деятельности плоскости данных. Например, создайте политику с доступом «только чтение» для аналитиков данных, которым не нужно манипулировать данными графа, политику с доступом «чтение и запись» для разработчиков, использующих граф для своих приложений, и политику для специалистов по анализу данных, которым нужен доступ к командам Neptune ML.
Шифрование
Neptune поддерживает шифрование данных при передаче с использованием TLS версии 1.2. Neptune поддерживает шифрование баз данных с использованием ключей, создаваемых и управляемых с помощью сервиса управления ключами AWS (AWS KMS). В инстансе базы данных с шифрованием Neptune шифруются все данные, находящиеся в базовом хранилище, а также автоматические резервные копии, снимки состояния и реплики в рамках одного кластера.
Расширенные возможности аудита
Amazon Neptune позволяет вести журнал событий базы данных с минимальным воздействием на ее производительность. Такие журналы в дальнейшем можно использовать для анализа в целях обеспечения безопасности или соответствия нормативным требованиям, администрирования базы данных, управления ими и т. д. Кроме того, для мониторинга активности можно отправлять журналы аудита в Amazon CloudWatch.
Простота использования
Чтобы начать работу с Neptune, достаточно запустить новый инстанс базы данных Neptune или граф аналитики Neptune с помощью консоли управления AWS. Для инстансов баз данных Neptune предварительно задан набор параметров и установок, соответствующих выбранному классу инстанса. Запустить инстанс базы данных и подключить приложение можно всего за несколько минут без дополнительной настройки. Группы параметров базы данных предоставляют возможность точного управления и подробного конфигурирования.
Простота управления
Использовать высокопроизводительную графовую базу данных с Neptune очень легко. Не требуется создавать пользовательские индексы данных графа. Neptune предусматривает ограничения максимального времени ожидания и потребления памяти для снижения нагрузки со стороны запросов, потребляющих слишком много ресурсов.
Мониторинг и метрики
Neptune предоставляет метрики Amazon CloudWatch для инстансов баз данных. В консоли управления AWS доступны для просмотра более 20 основных рабочих метрик инстанса базы данных, включая использование вычислительных ресурсов, памяти и хранилища, пропускную способность запросов и активные соединения.
Автоматическая установка исправлений ПО
Сервис Neptune обновляет базы данных, применяя последние версии исправлений. Система управления версиями ядра базы данных позволяет указать в настройках, должны ли в инстансе применяться исправления, и если да, то когда именно.
Уведомления о событиях базы данных
Neptune может отправлять оповещения о важных событиях баз данных, например о выполнении автоматической обработки отказа, по электронной почте или с помощью SMS. Подписаться на получение уведомлений о различных событиях, связанных с базами данных Neptune, можно в консоли управления AWS.
Быстрое клонирование баз данных
Neptune поддерживает быстрое и эффективное клонирование. Например, клонирование многотерабайтных кластеров баз данных занимает всего несколько минут. Клонирование актуально в самых разных ситуациях, включая разработку и тестирование приложений, обновление баз данных и выполнение аналитических запросов. Немедленная доступность данных позволяет значительно ускорить реализацию проектов по разработке и обновлению программного обеспечения, а также повысить точность аналитики.
Клонировать базу данных Neptune можно за несколько шагов в консоли управления AWS, не затрагивая рабочую среду. Клон базы данных будет распределен на три зоны доступности и реплицирован в них.
Машинное обучение
Amazon Neptune ML работает на базе Amazon SageMaker, где используются графовые нейронные сети (ГНС), метод ML, специально разработанный для графов, для быстрого и более точного прогнозирования с применением данных графов. С помощью Neptune ML можно повысить точность большинства прогнозов для графов более чем на 50 % по сравнению с прогнозированием на основе неграфовых методов.
Составление точных прогнозов на графиках с миллиардами взаимосвязей может быть сложной и трудоемкой задачей. Существующие подходы машинного обучения, такие как XGBoost, не могут эффективно работать с графами, поскольку они разработаны для табличных данных. В результате использование этих методов на графиках может занять много времени, потребовать специальных навыков от разработчиков и дать неоптимальные прогнозы.
Генеративный искусственный интеллект
Векторный поиск упрощает создание приложений расширенного машинного поиска и приложений на основе генеративного искусственного интеллекта. Векторный поиск следует использовать для создания приложений на основе генеративного искусственного интеллекта, объединяющих данные в домене приложения и поиск сходства при встраивании векторных данных. Векторный поиск по данным графов позволяет в целом снизить совокупную стоимость владения и упростить управление, поскольку не нужно управлять отдельными хранилищами данных, строить конвейеры или беспокоиться о синхронизации хранилищ данных.
Клиенты, создающие приложения на основе генеративного искусственного интеллекта, могут использовать векторный поиск для расширения больших языковых моделей (LLM), интегрируя графовые запросы для контекста, специфичного для домена, с результатами поиска сходства ближайших соседей с малой задержкой во вложениях, импортированных из LLM, размещенных в Amazon Bedrock, GNN в GraphStorm или других источниках. Neptune интегрирована с LangChain, фреймворком Python с открытым исходным кодом, который упрощает разработку приложений на основе генеративного искусственного интеллекта с использованием LLM.
Поддержка 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 могут быть с легкостью адаптированы для Neptune за счет изменения сервисной конфигурации Gremlin таким образом, чтобы она указывала на инстанс Neptune.
Поддержка RDF 1.1 и SPARQL 1.1 от W3C
Среда описания ресурса (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, популярен среди разработчиков, бизнес-аналитиков и специалистов по работе с данными, поскольку он обеспечивает привычную структуру для составления запросов в графовых приложениях. Для базы данных Neptune языки запросов openCypher и Gremlin можно использовать вместе для обработки одних и тех же данных Property Graph. Поддержка openCypher совместима с протоколом Bolt, чтобы можно было продолжать запускать приложения, использующие протокол Bolt для подключения к Neptune.
Пакетная загрузка данных Property Graph
Neptune поддерживает быструю параллельную пакетную загрузку данных Property Graph, хранящихся в S3. Указать расположение данных в S3 можно с помощью интерфейса REST. Здесь используется формат CSV для загрузки данных в узлы и края. Дополнительную информацию см. в документации Neptune по пакетной загрузке данных Property Graph.
Пакетная загрузка данных RDF
База данных Neptune поддерживает быструю параллельную загрузку данных RDF, хранящихся в S3. Указать расположение данных в S3 можно с помощью интерфейса REST. Поддерживаются варианты сериализации N-Triples (NT), N-Quads (NQ), RDF/XML и Turtle RDF 1.1. Дополнительную информацию см. в документации Neptune по пакетной загрузке данных RDF.
Графовые алгоритмы для аналитики Neptune
Аналитика Neptune поддерживает алгоритмы для поиска путей, обнаружения сообществ (кластеризация), определения важных данных (централизация) и количественной оценки сходств. Алгоритмы поиска путей эффективно определяют кратчайший или наиболее оптимальный маршрут между двумя узлами. Алгоритмы поиска путей позволяют моделировать реальные ситуации, такие как дорожные сети или социальные сети, в виде взаимосвязанных узлов и краев. Поиск кратчайших или наиболее оптимальных путей между различными точками имеет решающее значение в таких приложениях, как планирование маршрутов для систем GPS, оптимизация логистики и даже при решении сложных задач в таких областях, как биология или инженерия.
Алгоритмы обнаружения сообществ вычисляют значимые группы или кластеры узлов в сети, выявляя скрытые закономерности и структуры, позволяющие понять организацию и динамику сложных систем. Это полезно в таких областях, как анализ социальных сетей, биология (для определения функциональных модулей в сетях белков взаимодействий) и даже для понимания потока информации и распространения влияния в различных областях.
Алгоритмы централизации помогают определить наиболее влиятельные или важные узлы в сети, предоставляя аналитические данные о ключевых игроках или критических точках взаимодействия. Это полезно в таких областях, как анализ социальных сетей, где они помогают выявить влиятельных лиц, или в транспортных сетях, где они помогают определить важнейшие узлы для эффективной маршрутизации и распределения ресурсов.
Алгоритмы сходства графов позволяют сравнивать и анализировать структурные сходства или различия между различными графовыми структурами, позволяя понять взаимосвязи, закономерности и сходства в различных наборах данных. Это имеет огромное значение в различных областях, таких как биология (для сравнения молекулярных структур), социальные сети (для выявления похожих сообществ) и системы рекомендаций (для предложения похожих элементов на основе предпочтений пользователей).
Программы по обеспечению соответствия требованиям
Широкий охват программ по обеспечению соответствия требованиям
Neptune охватывает более 20 международных стандартов соответствия: от FedRAMP (уровни Moderate и High) до SOC (1,2,3), – а также соответствует требованиям HIPAA. Полный список стандартов, которым соответствует Neptune, можно найти на странице Сервисы AWS в программе соответствия требованиям.
Оплата по факту использования
В Neptune не предусмотрено никаких предварительных обязательств: вы платите по почасовому тарифу за каждый запущенный инстанс или за ресурсы базы данных, которые используются для бессерверных вычислений. Если вы решите прекратить использование инстанса базы данных, его можно удалить. Необходимости выделять избыточный объем хранилища нет, поэтому оплате подлежит только тот объем, который фактически используется. Подробные сведения см. на странице цен на Neptune.
Получите мгновенный доступ к уровню бесплатного пользования AWS.
Начните разработку с помощью Amazon Neptune в Консоли управления AWS.