openGauss: новая СУБД от Huawei для нагруженных enterprise-проектов прибавила в функциональности

    openGauss — система управления реляционными базами данных с открытым исходным кодом, созданная инженерами Huawei. Новая версия 1.0.1, которая стала доступна в октябре 2020 года, значительно расширяет возможности СУБД и делает ее перспективным выбором для целого ряда IT-задач, прежде всего в крупных корпоративных проектах.



    Ядро openGauss построено на основе объектно-реляционной системы управления базами данных PostgreSQL. Его функциональность была усовершенствована в расчете на решение задач уровня предприятия.

    Концептуально openGauss представляет собой многоцелевую БД: строчное хранение в ней позволяет поддерживать сервисы с интенсивным обновлением данных, колоночное хранение ускоряет выполнение аналитических задач, а in-memory engine повышает пропускную способность при решении задач, чувствительных ко времени отклика. Развертывается решение как в контейнерах, так и на физических серверах с процессорами x86-64 или Kunpeng разработки Huawei.

    Официальный запуск первой версии openGauss состоялся 1 июля 2020 года. А уже в середине осени был произведен релиз 1.0.1, в который включено более двадцати доработок.

    В текущем исполнении openGauss обладает широким набором примечательных возможностей. Прежде всего это поддержка многоядерной архитектуры с управляемым параллелизмом. Надо отметить также интеллектуальную настройку параметров, диагностику медленных SQL, многомерный самоконтроль производительности и онлайн-прогнозирование выполнения SQL, значительно упрощающее O&M.

    Достойны упоминания показатели быстродействия openGauss. В частности, система осуществляет до 1,5 млн tpmC на двух 64-ядерных процессорах Kunpeng, а переключение при сбое узла занимает у нее менее 10 с.

    Коротко обозначим функции openGauss, определяющие ее преимущества.

    • Высокая готовность. Функции журналирования — WALs (write-ahead logs) — обеспечивают возможности горячего резервного копирования и восстановления. Утилита gs_basebackup позволяет сделать полную резервную копию БД, в том числе сжатую. В мире PostgreSQL вопрос инкрементального резервного копирования остается открытым, поэтому компаниям приходится самостоятельно решать эту задачу в каждом конкретном случае. Новая версия 1.0.1 поддерживает функциональность инкрементального резервного копирования при включении параметра GUC enable_cbm_tracking (и далее база данных будет отслеживать изменение страниц данных).

      Катастрофоустойчивость openGauss решается за счет организации Standby на удаленной площадке, причем синхронизация данных возможна в синхронном и асинхронном режиме. Текущий релиз СУБД поддерживает до четырех реплик на физическом уровне.
    • Высокая производительность. В openGauss таблицу, включая ее индексы, можно целиком поместить в память. Это возможно благодаря Memory-Optimized Tables (MOT) — высокопроизводительному OLTP-движку для обработки данных в памяти. MOT поддерживает работу с таблицами в строчном формате, при этом доступна вся функциональность openGauss, включая транзакции и отказоустойчивость.

      Особенности реализации MOT и результаты его тестирования на производительность TPC-C приведены в отдельном документе.



      Необходимо также упомянуть возможность создания Materialized View — срез данных с предварительно рассчитанными показателями (агрегатами) хранится на уровне таблиц БД, существенно ускоряя выполнение аналитических задач.
    • Управляемость серьезно улучшена за счет автоматических отчетов производительности (WDR). Чтобы задействовать эту функцию, достаточно установить параметр enable_wdr_snapshot=on и указать количество дней хранения для параметра wdr_snapshot_retention_days. Далее ядро базы данных будет автоматически сохранять снимки с метриками производительности, в том числе и медленные SQL. WDR позволяет формировать отчеты о производительности между указанными периодами времени (snapshots) в формате HTML или PDF.
    • Гибкость. Интеграция с внешними источниками данных реализована через Foreign Data Wrappers (FDW). В актуальном релизе поддерживается интеграция с Oracle, MySQL, openGauss.

      Отдельного внимания заслуживает Global Temporary Tables (GTT). Сам объект создается в БД один раз, далее GTT используется многократно для хранения промежуточных результатов транзакций или сессии. Данные во временной таблице видны только для текущей сессии независимо от фиксации транзакции. Данные теряются после отключения-завершения сессии. Это незаменимая функциональность для ETL или систем отчетности.

    На openGauss распространяется действие лицензии Mulan PSL v2, что дает разработчикам возможность свободно изменять код СУБД, использовать его и ссылаться на него. Исходный программный код проекта полностью доступен в его репозитории.

    Напомним, Huawei — платиновый партнер разработчиков ПО с открытым кодом Linux, Apache и Openstack, а также стратегический член Eclipse Foundation. Мы активно участвуем в проектах по созданию Open Source решений, в том числе:


    • Linux-дистрибутива openEuler;
    • фреймворка для задач deep learning MindSpore;
    • интеллектуальной платформы для обеспечения автономности открытых данных SODA;
    • формата хранения больших данных Apache CarbonData;
    • платформы микросервисов Apache ServiceComb;
    • фреймворка для граничных вычислений CNCF KubeEdge;
    • высокопроизводительной системы управления batch-процессами CNCF Volcano.


    Будем рады ответить на ваши вопросы в комментариях!
    Huawei
    Huawei – мировой лидер в области ИКТ

    Комментарии 5

      +2
      Ядро openGauss построено на основе объектно-реляционной системы управления базами данных PostgreSQL
      И ни слова о совместимости. Можно ли перетащить базу с PostgreSQL на openGauss. А наоборот? Ну и в целом хотелось бы статью о данной СУБД поподробнее.
        +1
        Добрый день.
        Ядро openGauss построено на PostgreSQL и анонсировано относительно недавно, поэтому о сравнительном анализе говорить пока рано. Однако, возможно, интересен будет вот какой факт:
        Ранее на рынке была представлена коммерческая СУБД GaussDB A (LibrA). Как видите, «Gauss…» — это бренд для целого ряда продуктов. GaussDB A – это MPP база данных и как раз для нее вопрос миграции был проработан очень глубоко. Были разработаны средства миграции (утилиты), четко описана процедура и сравнение синтаксиса. И все это можно получить и сейчас бесплатно на портале технической поддержки support.huawei.com/enterprise/en/doc/EDOC1100131105
        Надеюсь, ссылка поможет снять часть вопросов. Обратите внимание на темы «Syntax Compatibility Analysis»
        Это связано с тем, что ранее компания Huawei активно занималась проектами миграции таких БД/решений как: Oracle, Teradata, Netezza, DB2.
        0
        Когда у нас внедряли продукт, использующий openGauss, були слухи, что его частью является искуственный интеллект, который частчино выполняет функции dba
          0
          Добрый день.
          Да, тема AI (ИИ) очень популярна как в корпоративном сегменте, так и среди производителей программного обеспечения. В настоящий момент для openGauss реализован следующий функционал в области снижения трудоемкости O&M:
          SQL Prediction – предсказание времени выполнения запроса на основе исторической информации
          • SQL Diagnoser – поиск/диагностика медленных запросов
          • Automatical Parameter Adjustment (X-Tuner) – установка оптимальных параметров БД.
          Ссылки по теме:
          opengauss.org/en/docs/1.0.1/docs/Developerguide/ai-features.html
          gitee.com/xiongdaofu/openGauss-server
          PS: если не секрет, о каком приложении идет речь?
            0
            Две OSS системы для управления телеком оборудованием. Одна для RAN, другая для Microwave транспорта

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

        Самое читаемое