В этом разделе описаны основные функции DWS.
Чтобы использовать data warehouse services в облаке, сначала создайте кластер DWS. Вы можете выбрать спецификации продукта и узла, чтобы быстро создать кластер. Для получения подробной информации см. "Creating a DWS Cluster" в Data Warehouse Service User Guide.
DWS позволяет управлять кластерами одним из следующих способов:
Используйте management console для доступа к кластерам DWS. После регистрации учетной записи войдите в management console и выберите Data Warehouse Service.
Для получения дополнительной информации об управлении кластерами см. "DWS Cluster Management" в Data Warehouse Service User Guide.
Используйте REST APIs, предоставляемые DWS, для управления кластерами. Кроме того, если необходимо интегрировать DWS во внешнюю систему для вторичной разработки, используйте API для доступа к сервису.
Для получения подробной информации см. Data Warehouse Service API Reference.
После создания кластера вы можете подключиться к его базе данных, используя SQL editor или сторонние драйверы, такие как JDBC и ODBC. Для получения подробной информации см. "Connecting to a DWS Cluster" в Data Warehouse Service User Guide.
Чтобы подключиться к кластеру DWS, выполните следующие действия:
DWS предоставляет следующие собственные инструменты. Вы можете загрузить пакеты инструментов в консоли DWS. Инструкции по использованию инструментов см. в Data Warehouse Service (DWS) Tool Guide.
SQL editor DWS предоставляет комплексные функции разработки, загрузки и обработки данных. С помощью редактора вы можете подключиться к базе данных кластера из консоли DWS для редактирования и выполнения SQL‑запросов.
gsql — это CLI‑инструмент SQL‑клиент, работающий в ОС Linux. Он помогает подключаться к базе данных, управлять ею и обслуживать её в кластере DWS.
Data Studio — это инструмент SQL‑клиент с графическим пользовательским интерфейсом (GUI), работающий в Windows. Он используется для подключения к базам данных в кластере DWS, управления объектами базы данных, редактирования, выполнения и отладки SQL‑скриптов, а также просмотра планов выполнения.
GDS — это инструмент службы данных, предлагаемый DWS, который использует механизм внешних таблиц для обеспечения быстрой импорта и экспорта данных.
Пакет инструмента GDS необходимо установить на сервер, где находится файл источника данных. Этот сервер называется data server или GDS server.
gs_dump экспортирует одну базу данных или её объекты. gs_dumpall экспортирует все базы данных или глобальные объекты в кластере.
Для миграции информации о базе данных можно использовать инструмент для импорта экспортированных метаданных в целевую базу данных.
Во время миграции базы данных вы можете экспортировать файлы с помощью gs_dump tool и импортировать их в DWS, используя gs_restore. Таким образом, метаданные, такие как определения таблиц и определения объектов базы данных, могут быть импортированы.
После создания кластера DWS вы можете использовать SQL‑клиент для подключения к кластеру и выполнения операций, таких как создание базы данных, управление базой данных, импорт и экспорт данных, а также запрос данных. Подробную информацию об операциях с базой данных см. в Data Warehouse Service Developer Guide.
DWS предоставляет высокопроизводительные базы данных, способные обрабатывать петабайты данных, со следующими возможностями:
Перед созданием базы данных разработчики указывают спецификации проектирования для моделирования базы данных и разработки приложений базы данных. Моделирование, соответствующее этим спецификациям, подходит к распределённой архитектуре обработки DWS и обеспечивает эффективный SQL‑код. Подробнее см. "DWS Database Object Naming Rules" в Data Warehouse Service Developer Guide.
DWS позволяет управлять пользователями базы данных через консоль. Вы можете создавать, удалять и обновлять пользователей базы данных и управлять их разрешениями в консоли. Эта функция позволяет управлять пользователями базы данных и их разрешениями в консоли без входа в базы данных. Подробнее см. "Creating a DWS Database and User" в Data Warehouse Service User Guide.
DWS позволяет импортировать данные из различных источников с помощью различных методов. Подробнее см. "Data Migration to DWS" в Data Warehouse Service Developer Guide.
DWS позволяет экспортировать данные тремя способами. Подробнее см. раздел "Exporting Data" в Data Warehouse Service Developer Guide.
В реальных сервисах может потребоваться предоставлять разные разрешения на операции с ресурсами пользователям разных ролей. Сервис IAM обеспечивает тонко гранулированный контроль доступа. Администратор IAM (пользователь в группе admin) может создать пользовательскую политику, содержащую необходимые разрешения. После того как политика предоставлена группе пользователей, пользователи в этой группе получают все разрешения, определённые политикой. Таким образом, IAM реализует тонко гранулированное управление разрешениями. Чтобы более точно контролировать операции DWS с ресурсами, вы можете использовать функцию управления пользователями IAM для предоставления разных разрешений на операции пользователям разных ролей для тонко гранулированного контроля разрешений. Подробнее см. раздел "Syntax of Fine-Grained Permission Policies" в Data Warehouse Service User Guide.
Поддерживает SSL‑сетевые соединения, управление разрешениями пользователей и управление паролями, обеспечивая безопасность данных на уровнях сети, управления, приложений и системы. Вы можете назначать минимально необходимые разрешения для разных ролей, чтобы защитить объекты базы данных от произвольного добавления, удаления и изменения. DWS поддерживает разделение прав, поэтому группа объектов базы данных не может быть изменена несколькими пользователями, что обеспечивает безопасность базы данных и достоверность данных. Вы можете дополнительно классифицировать разрешения, управляя ролями, схемами и приватными пользователями.
Функция Row-Level Access Control детализирована. Таким образом, один и тот же запрос SQL может возвращать разные результаты для разных пользователей. То есть вы можете разрешить пользователям просматривать только определённые строки в таблице. Для получения подробной информации см. "DWS Row-Level Access Control" в Data Warehouse Service Developer Guide.
В эпоху больших данных растущая ценность данных делает защиту конфиденциальности более сложной. Data Masking упрощает массовую обработку данных, одновременно защищая критическую информацию. Клиенты могут идентифицировать чувствительные данные в соответствии со своими сценариями использования и создавать политики Data Masking по столбцам. После создания политики Data Masking доступ к данным имеют только администратор и владелец объекта таблицы. Data Masking применим к отраслям, работающим с конфиденциальной информацией, таким как финансы, государственный сектор и здравоохранение. Data Masking может использоваться для предотвращения утечки конфиденциальной информации в сценариях разработки, тестирования и обучения приложений. Для получения подробной информации см. "DWS Data Masking" в Data Warehouse Service Developer Guide.
После создания кластера вы можете при необходимости изменять параметры базы данных кластера. В консоли управления DWS вы можете просматривать или задавать общие параметры базы данных. Для получения подробной информации см. "Modifying GUC Parameters of the DWS Cluster" в Data Warehouse Service User Guide.
Снапшот — это полная резервная копия, фиксирующая данные конфигурации и сервисные данные DWS кластера в определённый момент времени. Снапшот можно использовать для восстановления кластера в заданный момент. Вы можете вручную создавать снапшоты для кластера или включить автоматическое создание снапшотов (периодическое). Автоматические снапшоты имеют ограниченный срок хранения. Вы можете копировать автоматические снапшоты для длительного хранения.
При восстановлении кластера из снапшота система может восстановить данные снапшота в новый кластер или в исходный кластер.
Вы можете удалить ненужные снапшоты в консоли, чтобы освободить Объём хранения. Автоматические снапшоты нельзя удалять вручную.
Для получения подробной информации см. "Backing Up and Restoring a DWS Cluster" в Data Warehouse Service User Guide.
Когда несколько пользователей базы данных одновременно выполняют запросы, некоторые сложные запросы могут занимать ресурсы кластера длительное время, влияя на производительность остальных запросов. Например, одна группа пользователей постоянно отправляет сложные и длительные запросы, тогда как другая группа часто отправляет короткие запросы. В этом случае коротким запросам может потребоваться ожидать в очереди завершения длительных запросов. Чтобы повысить эффективность, вы можете использовать функцию управления ресурсами DWS для решения подобных проблем. Вы можете создавать разные пулы ресурсов для различных типов сервисов и настраивать разные коэффициенты ресурсов для этих пулов. Затем добавлять пользователей базы данных в соответствующие пулы, чтобы ограничить их использование ресурсов. Для получения подробной информации см. "DWS Resource Load Management" в Data Warehouse Service User Guide.
Физический кластер можно разделить на логические кластеры, использующие механизм node-group mechanism. Таблицы в базе данных могут распределяться по разным физическим узлам с помощью логического кластера. Логический кластер может содержать таблицы из нескольких баз данных. Для получения подробной информации см. "Managing DWS Logical Clusters" в Data Warehouse Service User Guide.
По умолчанию вам не требуется вручную обновлять DWS cluster. Кластеры версии 8.1.1 и более поздних позволяют выполнять операции обновления кластера в консоли. Для получения подробной информации см. "Upgrading a DWS Cluster" в Data Warehouse Service User Guide.
Если кластер находится в состоянии Unbalanced или не может работать корректно, возможно, потребуется перезапустить его для восстановления. После изменения конфигураций кластера, таких как параметры безопасности и другие параметры, вручную перезапустите кластер, чтобы изменения вступили в силу.
Если кластер больше не используется, вы можете остановить его, чтобы вывести сервисы из онлайн-режима.
Вы можете запустить остановленный кластер, чтобы восстановить сервисы кластера.
Вы можете удалить кластер, который больше не нужен. Для получения подробной информации см. "Starting, Stopping, and Deleting a DWS Cluster" в Data Warehouse Service User Guide.
DWS интегрируется с Cloud Eye, позволяя в реальном времени мониторить вычислительные узлы и базы данных в кластере. Для получения подробной информации см. "Viewing DWS Cluster Monitoring Information on Cloud Eye" в Data Warehouse Service User Guide.
DMS предоставляется DWS для обеспечения быстрой и стабильной работы баз данных. Он собирает, мониторит и анализирует данные метрик диска, сети и OS, используемые сервисной базой данных, а также ключевые метрики производительности работы кластера. Он также диагностирует хосты баз данных, instances и сервисные SQL statements на основе собранных метрик, чтобы своевременно выявлять ключевые неисправности и проблемы производительности в базе данных и помогает клиентам оптимизировать и устранять проблемы. Для получения подробной информации см. "Viewing DWS Cluster Monitoring Information on the Monitoring Panel (DMS)" в Data Warehouse Service User Guide.
DWS взаимодействует с Simple Message Notification (SMN), чтобы вы могли подписываться на события и просматривать срабатывающие события. Для получения подробной информации см. "Viewing and Subscribing to DWS Cluster Events" в Data Warehouse Service User Guide.
Вы можете проверять и настраивать правила алертов и подписываться на уведомления об алертах. Правила алертов отображают статистику алертов и детали прошедшей недели, позволяя пользователям просматривать алерты арендатора. Эта функция мониторит общие алерты DWS с предустановленными правилами и позволяет пользователям настраивать пороги алертов в соответствии с потребностями их сервиса. Для получения подробной информации см. "Viewing and Subscribing to DWS Cluster Alarms" в Data Warehouse Service User Guide.
Вы можете проверять узлы в кластере, включая статус, характеристики и использование каждого узла. Для подготовки к масштабному расширению вы можете добавлять узлы пакетами. Чтобы добавить 180 узлов, добавьте их тремя пакетами по 60 узлов каждый. Если добавление каких‑либо узлов не удалось, повторите попытку. После добавления всех 180 узлов используйте их для масштабирования. Добавление узлов не прерывает работу кластера. Для получения подробной информации см. "Managing Nodes" в Data Warehouse Service User Guide.
По мере роста объёма сервиса текущий масштаб кластера может не соответствовать требованиям сервиса. В этом случае вы можете масштабировать кластер, добавив вычислительные узлы. Сервисы не прерываются во время масштабирования. При необходимости можно включить автоматическое перераспределение. Для получения подробной информации см. "Scaling Out a Cluster" в Data Warehouse Service User Guide.
По умолчанию перераспределение автоматически запускается после масштабирования кластера. Для повышения надёжности отключите функцию автоматического перераспределения и вручную запустите задачу перераспределения после успешного масштабирования. Перераспределение данных может ускорить отклик сервиса. В настоящее время DWS поддерживает офлайн‑перераспределение (режим по умолчанию). Для получения подробной информации см. "Cluster Redistribution" в Data Warehouse Service User Guide.
Вы можете масштабировать кластеры в консоли, освобождая ненужные вычислительные и ресурсы хранения, предоставляемые DWS. Для получения подробной информации см. "Scaling In a Cluster" в Data Warehouse Service User Guide.
DWS поддерживает эластичные изменения спецификаций. Это идеально подходит для сценариев, когда вычислительные возможности (CPU и память) необходимо скорректировать в пиковые часы или когда требуется изменить только вычислительные возможности. Используя эластичное изменение флейвора до пиковых часов, вычислительная мощность кластера может быть быстро увеличена. После пиковых часов конфигурацию кластера можно уменьшить для снижения затрат. Для получения подробной информации см. "Using the Elastic Specification Change" в Data Warehouse Service User Guide.
По мере развития клиентских сервисов, место на диске часто становится первоначальным узким местом. В сценариях, когда другие ресурсы в избытке, традиционный процесс масштабирования не только занимает много времени, но и неэффективен по ресурсам. Расширение ёмкости диска может быстро увеличить объём хранения без прерывания сервиса. Вы можете расширять ёмкость диска, когда другие сервисы не запущены. Если после расширения места на диске всё ещё недостаточно, вы можете продолжить расширять ёмкость диска. Если расширение не удалось, вы можете повторно расширить ёмкость диска. Для получения подробной информации см. «Disk Scaling» в Data Warehouse Service User Guide.
Автоматические снапшоты работают с OBS для реализации внутрирегионального восстановления после катастроф (DR). Если производственный кластер перестаёт предоставлять сервисы чтения и записи из‑за стихийных бедствий в указанном регионе или внутренних сбоев кластера, DR‑кластер становится производственным кластером, обеспечивая непрерывность сервиса. Для получения подробной информации см. «DWS Cluster DR Management» в Data Warehouse Service User Guide.
Кластер в состоянии read-only не допускает операции записи. Вы можете снять этот статус в management console. Для получения подробной информации см. «Removing the Read-only Status» в Data Warehouse Service User Guide.
В состоянии Unbalanced количество основных инстансов на некоторых узлах увеличивается. В результате нагрузка становится высокой. В этом случае вы можете выполнить переключение primary/standby для кластера в непиковые часы, чтобы улучшить производительность. Для получения подробной информации см. «Performing a Primary/Standby Switchback» в Data Warehouse Service User Guide.
Если приватный IP-адрес или EIP CN используется для подключения к кластеру, отказ этого CN приведёт к сбою подключения к кластеру. При использовании приватного доменного имени для подключения сбои можно избежать с помощью опроса. Однако приватные доменные имена нельзя использовать для доступа из публичной сети, и запросы не могут быть перенаправлены в случае отказа CN. Поэтому для избежания отказов отдельного CN используется ELB. Для получения подробной информации см. «Binding and Unbinding Load Balancers for a DWS Cluster» в Data Warehouse Service User Guide.
После создания кластера количество требуемых CN меняется в зависимости от требований сервиса. DWS позволяет добавлять или удалять CN по мере необходимости. Для получения подробной информации см. «Adding or Deleting a CN in a DWS Cluster» в Data Warehouse Service User Guide.
Intelligent O&M помогает пользователям DWS с задачами O&M. С помощью этой функции вы можете указать подходящее временное окно и количество задач для выполнения в зависимости от нагрузки кластера. Кроме того, Intelligent O&M может своевременно корректировать политики выполнения задач в соответствии с изменениями сервиса, чтобы снизить влияние на сервисы. Поддерживаются периодические и одноразовые задачи, и вы можете настроить временное окно по требованию. Для получения подробной информации см. «Reclaiming DWS Space Using Vacuum» в Data Warehouse Service User Guide.
DWS предоставляет журналы аудита баз данных и другие журналы, чтобы пользователи могли выполнять запросы к журналам сервиса, анализировать проблемы и изучать безопасность и производительность продукта. Для получения подробной информации см. "DWS Cluster Log Management" в Data Warehouse Service User Guide.
DWS предоставляет комплексные возможности SQL. Для получения подробной информации см. "SQL Syntax Reference" в Data Warehouse Service Developer Guide.
DWS поддерживает пользовательские функции Java (UDF) для расширения возможностей обработки данных. Разработчики могут писать UDF на Java и использовать их в SQL‑запросах или других задачах обработки данных. С функциями DWS PL/Java вы можете выбрать предпочитаемую IDE Java для написания методов Java и установить JAR‑файлы, содержащие эти методы, в базу данных DWS перед их вызовом. DWS PL/Java разработан на основе открытого Greenplum PL/Java 1.4.0, который использует JDK 1.8.0_201. Подробнее см. «DWS PL/Java Functions» в Data Warehouse Service Developer Guide.
DWS поддерживает топ‑SQL‑запросы, включая запросы реального времени и исторические запросы. Представление мониторинга ресурсов в реальном времени фиксирует использование ресурсов (включая память, диск, время CPU и I/O) и информацию о сигналах тревоги производительности во время выполнения задания. На основе этих данных вы можете оценить, сталкивается ли запрос с узкими местами производительности или влияет на общую производительность кластера.
Цель тюнинга SQL — максимизировать использование ресурсов, включая CPU, память, ввод‑вывод диска и сетевой ввод‑вывод. Чтобы достичь максимального использования ресурсов, необходимо использовать эффективные SQL‑операторы, снижая накладные расходы и достигая наилучшей производительности при минимальных затратах. Например, при выполнении типичного точечного запроса можно использовать последовательное сканирование (seqscan) и фильтрацию (т.е. чтение каждой кортежа и проверка условий). Можно также использовать сканирование индекса, которое реализуется с меньшими затратами, но даёт тот же результат. Подробнее см. «SQL Tuning» в Data Warehouse Service Developer Guide.
DWS предоставляет PostGIS Extension (PostGIS-2.4.2). PostGIS Extension — это расширение пространственной базы данных для PostgreSQL. Оно предоставляет следующие сервисы пространственной информации: пространственные объекты, пространственные индексы, пространственные функции и пространственные операторы. PostGIS Extension соответствует спецификациям OpenGIS. Подробнее см. «Using PostGIS Extension» в Data Warehouse Service Developer Guide.
В DWS PostGIS Extension зависит от перечисленного стороннего программного обеспечения с открытым исходным кодом.
DWS поддерживает roaring bitmaps и общие функции, используемые с ними, которые широко применяются для извлечения признаков пользователей, профилирования пользователей и других приложений в интернете, розничной торговле, образовании и игровой индустрии. Подробнее см. "Bitmap Functions and Operators" в Data Warehouse Service Developer Guide.
Поддерживаются List partitioning (PARTITION BY LIST (partition_key,[...])) и range partitioning.
В List partitioning ключи разделения поддерживают следующие типы данных: TINYINT, SMALLINT, INTEGER, BIGINT, NUMERIC/DECIMAL, TEXT, NVARCHAR2, VARCHAR(n), CHAR, BPCHAR, TIME, TIME WITH TIMEZONE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, DATE, INTERVAL и SMALLDATETIME. Подробнее см. "CREATE TABLE PARTITION" в Data Warehouse Service Developer Guide.
Материализованное представление — это специальный объект базы данных. Материализованные представления заранее вычисляют результаты сложных запросов и сохраняют их на носителе. Во время выполнения запросов к сервису предварительно вычисленные данные запрашиваются напрямую, что ускоряет запрос. Материализованные представления имеют преимущества перед обычными представлениями в производительности и сохранности данных.
Материализованные представления предварительно вычисляют и сохраняют результаты запросов. При запуске запроса материализованные представления могут быть запрошены и напрямую возвращать результаты, повышая производительность запросов.
Многократное выполнение сложных запросов требует значительных ресурсов CPU и памяти. Материализованные представления помогают снизить нагрузку на ресурсы базы данных, избегая этих повторных вычислений.
Материализованные представления могут использоваться в качестве слоя доступа к данным для поддержки сложной сервисной логики и позволяют пользователям получать предварительно обработанные данные без учёта сложной SQL‑логики нижнего уровня.
Для получения подробной информации см. "DWS Materialized Views" в Data Warehouse Service Developer Guide.
DWS‑кластеры версии 9.1.0.100 и более поздних версий получают доступ к данным Hudi в OBS. Hadoop Upserts Deletes and Incrementals (Hudi) — это открытый формат таблиц озера данных и фреймворк обработки данных. Он разработан для крупных озёр данных и поддерживает эффективные upsert‑операции, удаление и инкрементальную обработку. Это не просто формат данных или метод доступа к данным, а их комбинация, предоставляющая комплексное решение для управления данными в озёрах данных. DWS предоставляет набор системных функций для получения информации о внешних таблицах Hudi и создания задач автоматической синхронизации Hudi. Для получения подробной информации см. "SQL on Hudi" в Data Warehouse Service Developer Guide.