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).
Установите 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
Получите доступ к SSH без пароля между машинами, на которых установлен кластерный узел, а затем разверните и инициализируйте SSH на машинах каждого узла. После прохождения вам не нужно будет вводить пароль.
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub destination-user@destination-server
В начале файла конфигурации 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 )