1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/GreatSQL-GreatSQL

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 27 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 18:22 0e7c420

О GreatSQL

GreatSQL — это открытая и бесплатная база данных, которая может использоваться на обычном оборудовании для финансовых приложений. Она обладает высокой доступностью, производительностью, совместимостью и безопасностью и может служить хорошей заменой MySQL или Percona Server for MySQL.

Скачать GreatSQL

Основные характеристики GreatSQL

[Высокая доступность]
Для MGR и основного/резервного копирования было проведено множество улучшений и усовершенствований, включая географические метки, арбитражные узлы, динамический VIP для чтения и записи, быстрый режим одного мастера и интеллектуальный выбор мастера. Также были оптимизированы алгоритмы управления потоками, аутентификации транзакций, присоединения и выхода узлов, восстановления и другие механизмы работы MGR.

  • Поддержка географических меток: повышает надёжность данных в многомашинных архитектурах.
  • Поддержка арбитражных узлов: обеспечивает более высокую доступность при меньших затратах на серверы.
  • Динамический VIP для чтения и записи: упрощает переключение между основными узлами и ускоряет балансировку нагрузки чтения. Поддерживает закрытие активных соединений при переключении основного узла, сокращая время недоступности приложения.
  • Быстрый режим одного мастера: работает быстрее и эффективнее в режиме одного мастера.
  • Интеллектуальный выбор мастера: оптимизирует механизм выбора основного сервера.
  • Оптимизация алгоритма управления потоками: делает транзакции более стабильными и предотвращает резкие колебания.
  • Регистрация событий, когда сетевой трафик MGR превышает пороговое значение: используется для дальнейшего анализа и оптимизации.
  • Автоматический выбор узлов-членов для репликации данных из последних транзакционных данных: ускоряет процесс клонирования и повышает надёжность MGR.
  • Ограничение скорости запросов на чтение двоичного журнала при запросах от узлов-получателей к узлам-источникам: помогает оптимизировать работу сети.
  • Улучшение обнаружения сбоев в асинхронном переключении при отказе соединения: сокращает время простоя при разрыве связи между основным и резервным серверами.
  • Предотвращение петель в двунаправленной репликации между мастерами: защищает от петель при репликации в разных датацентрах.
  • Решение проблем с колебаниями производительности при присоединении и выходе узлов MGR: улучшает стабильность работы.
  • Устранение проблемы блокировки MGR кластера из-за нехватки места на диске на отдельных узлах: предотвращает простои.
  • Оптимизация очистки очереди аутентификации транзакций: устраняет колебания производительности под высокой нагрузкой.
  • Разрешение проблемы невозможности выбора мастера из-за длительных транзакций в MGR: обеспечивает непрерывную работу.
  • Исправление проблемы длительного ожидания при восстановлении MGR: ускоряет восстановление после сбоев.

Более подробную информацию можно найти в документации: [Высокая доступность].

[Высокая производительность]
GreatSQL демонстрирует более стабильную и выдающуюся производительность по сравнению с MySQL и Percona Server For MySQL. Он поддерживает Rapid Engine, транзакционную изоляцию, параллельную загрузку данных, асинхронное удаление больших таблиц, пулы потоков, неблокирующие DDL и NUMA-дружественные планировщики, что позволяет достичь повышения производительности более чем на 30% по сравнению с MySQL в тестах TPC-C и в десятки или даже сотни раз в тестах TPC-H.

  • Rapid Engine: обеспечивает высокую производительность запросов, сжатие данных и параллельные вычисления в памяти.
  • Изоляция транзакций InnoDB: реализует различные методы оптимизации, такие как разделение больших блокировок и отсутствие блокировок, что повышает общую производительность OLTP на 20%.
  • Параллельная загрузка данных: подходит для сценариев, где часто требуется импортировать большие объёмы данных. Производительность повышается примерно в 20 раз. Для таблиц без явно определённых первичных ключей также есть оптимизация.
  • Асинхронное удаление больших таблиц: улучшает стабильность производительности InnoDB во время выполнения.
  • Пулы потоков: снижают стоимость создания и уничтожения потоков, обеспечивая стабильную производительность при высоком параллелизме.
  • Неблокирующий DDL: позволяет избежать блокировки бизнес-запросов из-за необходимости быстрого завершения операций DDL.
  • NUMA-дружественный планировщик: связывает пользовательские потоки переднего плана и фоновые потоки с определёнными узлами NUMA для улучшения обработки потоков.

Подробнее см. в документации: [Высокая производительность].

[Высокая совместимость]
GreatSQL полностью совместим с MySQL и Percona Server For MySQL на уровне синтаксиса и поддерживает большинство распространённых синтаксических конструкций Oracle. GreatSQL RPM пакет

GreatSQL RPM пакет, можно использовать следующий метод: «В среде CentOS скомпилировать GreatSQL src.rpm пакет и затем скомпилировать RPM пакет» (https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/docs/build-greatsql-srcrpm-under-centos.md).

  1. Установите необходимые пакеты для компиляции: rmp-build, cmake, gcc и другие.

    $ dnf install -y  bison cmake cyrus-sasl-devel gcc-c++ gcc-toolset-11 gcc-toolset-11-annobin-plugin-gcc krb5-devel libaio-devel libcurl-devel libssh libtirpc-devel m4 make ncurses-devel numactl-devel openldap-devel openssl openssl-devel pam-devel perl perl-Carp perl-Data-Dumper perl-Errno perl-Exporter perl-File-Temp perl-Getopt-Long perl-JSON perl-Memoize perl-Time-HiRes readline-devel rpm-build time vim-common zlib-devel
  2. Создайте соответствующие каталоги.

    $ mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
  3. Поместите скачанный файл src.rpm в каталог SRPMS.

    $ ls -l /root/rpmbuild/SRPMS
    -rw-r--r-- 1 root root 496724859 Aug  2 14:01 greatsql-8.0.32-26.1.noarch.src.rpm
  4. Скомпилируйте GreatSQL RPM пакет.

    $ cd /root/rpmbuild/
    $ rpmbuild --define "_smp_mflags -j16" --define 'dist .el8' --define "_topdir /root/rpmbuild/" --rebuild ./SRPMS/greatsql-8.0.32-26.1.noarch.src.rpm > ./rpmbuild.log 2>&1

Параметр dist поддерживает следующие распространённые метки ОС (если вам нужно поддерживать больше меток, сообщите нам):

  • openEuler система, например: oe2003, oe2203, oe2403;
  • RHEL/CentOS система, например: el7, el8, el9.

Версия истории

Нажмите сюда, чтобы увидеть историю версий GreatSQL (https://greatsql.cn/docs/8.0.32-26/1-docs-intro/1-2-release-history.html).

GreatSQL руководство пользователя и учебные материалы

Руководство пользователя GreatSQL

GreatSQL компиляция и сборка

Управление и эксплуатация GreatSQL

Другие ресурсы, связанные с GreatSQL

Сравнение GreatSQL и MySQL

1. Основные характеристики GreatSQL 8.0.32-26 MySQL 8.0.32
Открытый исходный код :heavy_check_mark: :heavy_check_mark:
ACID целостность :heavy_check_mark: :heavy_check_mark:
MVCC особенности :heavy_check_mark: :heavy_check_mark:
Поддержка блокировки строк :heavy_check_mark: :heavy_check_mark:
Автоматическое восстановление после сбоя :heavy_check_mark: :heavy_check_mark:
Разделение таблицы (Partitioning) :heavy_check_mark: :heavy_check_mark:
Представления (Views) :heavy_check_mark: :heavy_check_mark:
Подзапросы (Subqueries) :heavy_check_mark: :heavy_check_mark:
Триггеры (Triggers) :heavy_check_mark: :heavy_check_mark:
Хранимые программы (Stored Programs) :heavy_check_mark: :heavy_check_mark:
Внешние ключи (Foreign Keys) :heavy_check_mark: :heavy_check_mark:
Оконные функции (Window Functions) :heavy_check_mark: :heavy_check_mark:
--- --- ---
Общее табличное выражение (CTE) проверено проверено
Географическая информация (GIS) проверено проверено
Копирование на основе GTID проверено проверено
Групповое копирование (MGR) проверено проверено
MyRocks движок проверено не выполнено
Поддержка архитектуры Dragonfly проверено не выполнено

2. Улучшения производительности | GreatSQL 8.0.32-26 | MySQL 8.0.32 | |AP движок | проверено | только для облачной версии HeatWave | |Оптимизация сходства NUMA | проверено | не выполнено | |Неблокирующий DDL | проверено | не выполнено | |Улучшение импорта таблиц без первичного ключа | проверено | не выполнено | |Параллельный запрос InnoDB | проверено | только сканирование по первичному ключу | |Параллельная загрузка данных LOAD | проверено | не выполнено | |Безблокировочная оптимизация чтения транзакций InnoDB | проверено | не выполнено | |Разделение больших блокировок InnoDB | проверено | не выполнено | |Группы ресурсов InnoDB | проверено | проверено | |Пользовательские размеры страниц InnoDB | проверено | проверено | |Планирование транзакций с учётом конкуренции | проверено | проверено | |Оптимизация разделения мьютексов InnoDB | проверено | не выполнено | |Оптимизация движка MEMORY | проверено | не выполнено | |Оптимизация промывки InnoDB | проверено | не выполнено | |Двойной буфер параллельной записи InnoDB | проверено | проверено | |Оптимизация быстрого создания индексов InnoDB | проверено | не выполнено | |Сжатие одностолбцовых типов данных VARCHAR/BLOB/JSON | проверено | не выполнено | |Хранение информации о сжатии в словаре данных | проверено | не выполнено |

3. Улучшения для разработчиков | GreatSQL 8.0.32-26 | MySQL 8.0.32 | |X API | проверено | проверено | |JSON | проверено | проверено | |Socket-Level интерфейс NoSQL | проверено | проверено | |Улучшения полнотекстового поиска InnoDB | проверено | не выполнено | |Дополнительные функции Hash/Digest | проверено | не выполнено | |Oracle совместимость — типы данных | проверено | не выполнено | |Oracle совместимость — функции | проверено | не выполнено | |Oracle совместимость — синтаксис SQL | проверено | не выполнено | |Oracle совместимость — хранимые процедуры | проверено | не выполнено |

4. Базовые улучшения функций | GreatSQL 8.0.32-26 | MySQL 8.0.32 | |Усовершенствования MGR — географические метки | проверено | не выполнено | |Усовершенствования MGR — арбитражные узлы | проверено | не выполнено | |Усовершенствования MGR — привязка VIP к узлам чтения и записи | проверено | не выполнено | |Усовершенствования MGR — быстрый режим одного мастера | проверено | не выполнено | |Усовершенствования MGR — интеллектуальный выбор ведущего узла | проверено | не выполнено | |Усовершенствования MGR — новый алгоритм управления потоками | проверено | не выполнено | |Усовершенствования MGR — обработка сетевых разделов | проверено | не выполнено | |Усовершенствования MGR — обработка выхода узлов из строя | проверено | не выполнено | |Усовершенствования MGR — обработка переполнения дисков узлов | проверено | не выполнено | |Усовершенствования MGR — автоматический выбор донорских узлов | проверено | не выполнено | |Инкрементное резервное копирование Clone | проверено | не выполнено | |Резервное копирование Clone со сжатием | проверено | не выполнено | |Ограничение скорости чтения Binlog | проверено | не выполнено | |Количество таблиц information_schema | 95 | 65 | |Глобальные показатели производительности и состояния | 853 | 434 | |Гистограммы оптимизатора | проверено | проверено | |Показатели производительности для каждой таблицы | проверено | не выполнено | |Показатели производительности для каждого индекса | проверено | не выполнено | |Показатели производительности для каждого пользователя | проверено | не выполнено | |Показатели производительности для каждого клиента | проверено | не выполнено | |Показатели производительности для каждого потока | проверено | не выполнено | |Статистика времени отклика глобальных запросов | проверено | не выполнено | |Расширенные возможности SHOW INNODB ENGINE STATUS | проверено | не выполнено | |Расширенная информация о сегментах отката | проверено | не выполнено | |Расширенная информация о временных таблицах | проверено | не выполнено | |Расширенная статистика пользователей | проверено | не выполнено | |Расширенная информация журнала медленных запросов | проверено | не выполнено |

5. Повышения безопасности | GreatSQL 8.0.32-26 | MySQL 8.0.32 | |Поддержка ГОСТа | проверено | не выполнено | |Шифрование резервных копий | проверено | не выполнено | |Аудит | проверено | только корпоративная версия | |Деперсонализация данных | проверено | не выполнено | |Последняя запись входа | проверено | не выполнено | |Роли SQL | проверено | проверено | |SHA-2 хеширование паролей | проверено | проверено | |Стратегия ротации паролей | проверено | проверено | |PAM плагин аутентификации | проверено | только корпоративная версия | |Хранилище Keyring в файле | проверено | проверено | |Хранилище Keyring в Hashicorp Vault | проверено | только корпоративная версия | |Шифрование данных InnoDB | проверено | проверено | |Шифрование журналов InnoDB | проверено | проверено | |Шифрование различных файловых пространств таблиц InnoDB | проверено | проверено | |Шифрование двоичного журнала | проверено | не выполнено | |Шифрование временных файлов | проверено | не выполнено | |Принудительное шифрование | проверено | не выполнено |

6. Усовершенствования удобства эксплуатации | GreatSQL 8.0.32-26 | MySQL 8.0.32 | |Атомарность DDL | проверено | проверено | |Таблицы словаря данных как InnoDB таблицы | проверено | проверено | |Быстрое выполнение DDL | проверено | проверено | |SET PERSIST | проверено | проверено | |Скрытые индексы | проверено | проверено | |Пул потоков (Threadpool) | проверено | только корпоративная версия | |Блокировка резервной копии | Грейт СКуЛ 8.0.32-26 основан на версии Percona Server for MySQL 8.0.32 и включает в себя множество улучшений и повышений, а также множество новых функций. Подробности можно найти в разделе «Сравнение возможностей Percona Server для MySQL» (https://docs.percona.com/percona-server/8.0/feature-comparison.html).

Среди них есть функции, доступные только в корпоративной версии MySQL, такие как пул потоков, аудит, маскирование данных и другие. Также были улучшены performance_schema, information_schema, производительность и расширяемость, усилена статистика пользователей, улучшен PROCESSLIST, Slow Log и многое другое. Здесь мы не будем перечислять их все.

Грейт СКуЛ также является проектом GVP на платформе gitee (码云). Подробнее см.: https://gitee.com/gvp/database-related («Связанные с базой данных»).

Лицензия / Licensing

Грейт СКуЛ стремится сохранить открытость исходного кода. Грейт СКуЛ использует лицензию GPLv2.

Напоминание

Если вы используете Грейт СКуЛ, сообщите нам, и у вас будет возможность получить изысканные подарки и бесплатную техническую поддержку.

Сканируйте QR-код, чтобы подписаться на официальный аккаунт GreatSQL в WeChat.

Официальный аккаунт GreatSQL в WeChat

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/GreatSQL-GreatSQL.git
git@api.gitlife.ru:oschina-mirror/GreatSQL-GreatSQL.git
oschina-mirror
GreatSQL-GreatSQL
GreatSQL-GreatSQL
master