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

OSCHINA-MIRROR/mirrors-tbase

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

TBase Database Management System

TBase — это передовая система управления базами данных корпоративного уровня, основанная на предыдущей работе над проектом Postgres-XL. Она поддерживает расширенное подмножество стандарта SQL, включая транзакции, внешние ключи, определяемые пользователем типы и функции. Кроме того, она добавляет параллельные вычисления, безопасность, управление, аудит и другие функции.

У TBase есть много языковых интерфейсов, похожих на PostgreSQL, многие из которых перечислены здесь:

https://www.postgresql.org/download

Обзор

Кластер TBase состоит из нескольких CoordinateNodes, DataNodes и GTM-узлов. Все пользовательские данные находятся в DataNode, CoordinateNode содержит только метаданные, а GTM отвечает за глобальное управление транзакциями. CoordinateNodes и DataNodes используют одну и ту же схему.

Пользователи всегда подключаются к CoordinateNodes, которые делят запрос на фрагменты, выполняемые в DataNodes, и собирают результаты.

Последнюю версию этого программного обеспечения можно получить по адресу:

http://github.com/Tencent/TBase

Для получения дополнительной информации посетите наш веб-сайт по адресу:

http://tbase.qq.com

Сборка

cd ${SOURCECODE_PATH}
rm -rf ${INSTALL_PATH}/tbase_bin_v2.0
chmod +x configure*
./configure --prefix=${INSTALL_PATH}/tbase_bin_v2.0 --enable-user-switch --with-openssl --with-ossp-uuid CFLAGS=-g
make clean
make -sj
make install
chmod +x contrib/pgxc_ctl/make_signature
cd contrib
make -sj
make install

Установка

Используйте инструмент PGXC_CTL для создания кластера, например, кластера с узлом глобального управления транзакциями (GTM), координатором (COORDINATOR) и двумя узлами данных (DATANODE).

topology

Подготовка

  1. Установите pgxc и импортируйте путь пакета установки pgxc в переменную среды.

    PG_HOME=${INSTALL_PATH}/tbase_bin_v2.0
    export PATH="$PATH:$PG_HOME/bin"
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PG_HOME/lib"
    export LC_ALL=C
  2. Получите доступ к SSH без пароля между машинами, на которых установлен кластерный узел, а затем разверните и инициализируйте SSH на машинах каждого узла. После прохождения вам не нужно будет вводить пароль.

    ssh-keygen -t rsa
    ssh-copy-id -i ~/.ssh/id_rsa.pub destination-user@destination-server

Шаги запуска кластера

  1. Создайте и заполните файл конфигурации pgxc_ctl.conf. Инструмент pgxc_ctl может создать шаблон для файла конфигурации. Вам необходимо заполнить информацию о кластерном узле в шаблоне. После запуска инструмента pgxc_ctl каталог pgxc_ctl будет создан в домашнем каталоге текущего пользователя. После ввода команды «prepare config» в каталоге pgxc_ctl будет сгенерирован шаблон файла конфигурации, который можно будет изменить напрямую.
  • В начале файла конфигурации pgxcInstallDir относится к местоположению установочного пакета pgxc. Пользователь базы данных может установить его в соответствии со своими потребностями.

    pgxcInstallDir=${INSTALL_PATH}/tbase_bin_v2.0
  • Для GTM необходимо настроить имя узла, IP, порт и каталог узла.

    #---- GTM ----------
    gtmName=gtm
    gtmMasterServer=xxx.xxx.xxx.1
    gtmMasterPort=50001
    gtmMasterDir=${GTM_MASTER_DATA_DIR}/data/gtm_master

Если вам не нужен gtmSlave, вы можете напрямую установить значение «n» в конфигурации соответствующего узла.

```
gtmSlave=n
```

Если вам нужен gtmSlave, настройте его в соответствии с инструкциями в файле конфигурации.

  • Координационный узел, который должен быть настроен с IP, портом, каталогом и т. д.

    coordNames=(cn001)
    coordMasterCluster=(tbase_cluster)
    coordPorts=(30004)
    poolerPorts=(30014)
    coordPgHbaEntries=(0.0.0.0/0)
    coordMasterServers=(xxx.xxx.xxx.2)
    coordMasterDirs=(${COORD_MASTER_DATA_DIR}/data/cn_master/cn001)
  • Узел данных, аналогичный вышеуказанным узлам: IP, порт, каталог и т.д. (поскольку существует два узла данных, вам необходимо настроить ту же информацию, что и количество узлов.)

    primaryDatanode=dn001 **datanodeNames=(dn001 dn002)**
    

datanodePorts=(20008 20009)

datanodePoolerPorts=(20018 20019)

datanodeMasterCluster=(tbase_cluster tbase_cluster)

datanodePgHbaEntries=(0.0.0.0/0)

datanodeMasterServers=(xxx.xxx.xxx.3 xxx.xxx.xxx.4)

datanodeMasterDirs=(${DATANODE_MASTER_DATA_DIR}/data/dn_master/dn001 ${DATANODE_MASTER_DATA_DIR}/data/dn_master/dn002)


Существуют coordSlave и datanodeSlave, соответствующие координационному узлу и узлу данных. Если нет, настройте их как «n»; в противном случае настройте их в соответствии с файлом конфигурации.

Кроме того, для узла координатора и узла данных необходимо настроить два типа портов: `poolerPort` и `port`. `poolerPort` используется узлами для связи с другими узлами. `port` — это порт, используемый для входа на узел. Здесь `poolerPort` и `port` должны быть настроены по-разному, иначе возникнут конфликты и кластер не сможет запуститься.

Каждый узел должен иметь свой собственный каталог и не может быть создан в одном каталоге.

2. Распределение установочного пакета (развернуть всё). После заполнения файла конфигурации запустите инструмент pgxc\_ctl, а затем введите команду «развернуть всё», чтобы распространить установочный пакет на IP-машину каждого узла.

3. Инициализируйте каждый узел кластера (инициализировать всё). После завершения распространения установочного пакета введите команду «инициализировать всё» в инструменте pgxc\_ctl, чтобы инициализировать все узлы в файле конфигурации pgxc_ctl.conf и запустить кластер. На данный момент кластер запущен.
## Использование

$ psql -h ${CoordinateNode_IP} -p ${CoordinateNode_PORT} -U ${pgxcOwner} -d postgres

postgres=# create default node group default_group with (dn001,dn002); CREATE NODE GROUP postgres=# create sharding group to group default_group; CREATE SHARDING GROUP postgres=# create table foo(id bigint, str text) distribute by shard(id);

## Ссылки

https://github.com/Tencent/TBase/wiki/1%E3%80%81TBase_Quick_Start


## Лицензия

TBase лицензируется по лицензии BSD 3-Clause. Информацию об авторских правах и лицензии можно найти в файле [LICENSE.txt](LICENSE.txt).

Комментарии ( 0 )

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

Введение

TBase — это корпоративная распределённая система управления базами данных HTAP, разработанная командой платформы данных Tencent на основе открытого исходного кода PostgreSQL. Система обладает высокопроизводительной и расширяемой распределённой транзакционной способностью и поддерживает две модели изоляции: RC и RR. Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-tbase.git
git@api.gitlife.ru:oschina-mirror/mirrors-tbase.git
oschina-mirror
mirrors-tbase
mirrors-tbase
master