成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

十分鐘搭建實驗分布式數據庫環境

數據庫 其他數據庫
PGXL底層為PostgreSQL,這意味著它支持所有支持PostgresSQL類型的驅動,包括:JDBC, ODBC, OLE DB, Python, Ruby, perl DBI, Tcl, and Erlang.

劃水了好久,今天來跟大家分享一下如何用一臺筆記本,構建一套分布式數據庫的實驗環境吧。我們使用docker 和 postgres xl 來完成。

各位讀者老爺們扣Q上車,Let's Go!!!!

Postgres XL 簡介

什么是Postgres-XL

XL的意思是:eXtensible Lattice,可以擴展的格子,即將PostgreSQL應用在多機器上的分布式數據庫的形象化表達。

Postgres-XL 是一個完全滿足ACID的、開源的、可方便進行水平擴展的、多租戶安全的、基于PostgreSQL的數據庫解決方案。

Postgres-XL 可非常靈活的應付各種負載,比如:

  • OLAP(通過MPP并行化)
  • OLTP
  • OLAP & OLTP
  • 操作數據存儲
  • Key-value存儲,包括JSON格式

不同的應用場景:

  • 支持商業智能應用(數據倉庫&數據集市),因為PGXL支持MPP(Massively Parallel Processing)
  • Web2.0,數據庫擴容的解決方案
  • 遺留系統的數據庫擴容的解決方案
  • 新應用,可以先使用PostgreSQL,之后隨著數據庫變大使用PGXL擴容

PGXL底層為PostgreSQL,這意味著它支持所有支持PostgresSQL類型的驅動,包括:JDBC, ODBC, OLE DB, Python, Ruby, perl DBI, Tcl, and Erlang.

PostgreSQL與Postgres-XL

  • 1994年,Postgre95發布,開源。
  • 1996年,PostgreSQL繼承了Postgre95,發布。
  • 2010年,Postgres-XC發布。
  • 2012年,前PGXC核心開發者創建StormDB公司,進行了一些改進,包括對MPP并行化的性能改進和多租戶安全。
  • 2013年,TransLattice收購了StormDB。
  • 2014年,將項目開源,命名為Postgres-XL。

Postgres-XC與Postgres-XL

PGXL的架構師和開發者 很多都是以前做PGXC的,PGXL的部分代碼是從PGXC移植過來的。

比起功能性,PGXL更強調穩定性, 正確性和性能.

PGXL增加了一些重要的性能提升,比如MPP和replan avoidance on the data nodes,這些都是PGXC沒有的。

PGXC目前集中在OLTP的業務上面,PGXL則更加靈活,可以應用于很多不同種類的業務上,比如可以用在大數據處理領域,除此,在多租戶的環境中,PGXL也更加安全。

PGXL的社區非常開放。

架構

GXL有三個主要組件,分別是GTM,Coordinator(CN)和Datanode(DN)。

GTM(Gloable Transaction Manager)負責提供事務的ACID屬性;Datanode負責存儲表的數據和本地執行由Coordinator派發的SQL任務;Coordinator負責處理每個來自Application的SQL任務,并且決定由哪個Datanode執行,然后將任務計劃派發給相應的Datanode,根據需要收集結果返還給Application;

Postgres XL on Docker

我們采用一個GTM,2臺CN,2臺DN,結構如下圖所示:

docker-compose.yml

配置文件如下所示,執行 docker-compose up,啟動集群

version: "3"
services:
db_gtm_1:
environment:
- PG_HOST=0.0.0.0
- PG_NODE=gtm_1
- PG_PORT=6666
# - PG_PASSWORD=dafei1288
build: .
# image: z_db_gtm_1
command: docker-cmd-gtm
entrypoint: docker-entrypoint-gtm
volumes:
- db_gtm_1:/var/lib/postgresql
networks:
- db_a
healthcheck:
test: ["CMD", "docker-healthcheck-gtm"]
db_coord_1:
ports:
- "25432:5432"
environment:
- PG_GTM_HOST=db_gtm_1
- PG_GTM_PORT=6666
- PG_HOST=0.0.0.0
- PG_NODE=coord_1
- PG_PORT=5432
# - PG_PASSWORD=dafei1288
build: .
# privileged: true
# image: z_db_coord_1
command: docker-cmd-coord
entrypoint: docker-entrypoint-coord
volumes:
- db_coord_1:/var/lib/postgresql
depends_on:
- db_gtm_1
networks:
- db_a
- db_b
healthcheck:
test: ["CMD", "docker-healthcheck-coord"]
db_coord_2:
ports:
- "25433:5432"
environment:
- PG_GTM_HOST=db_gtm_1
- PG_GTM_PORT=6666
- PG_HOST=0.0.0.0
- PG_NODE=coord_2
- PG_PORT=5432
# - PG_PASSWORD=dafei1288
build: .
# privileged: true
# image: z_db_coord_2
command: docker-cmd-coord
entrypoint: docker-entrypoint-coord
volumes:
- db_coord_2:/var/lib/postgresql
depends_on:
- db_gtm_1
networks:
- db_a
- db_b
healthcheck:
test: ["CMD", "docker-healthcheck-coord"]
db_data_1:
ports:
- "25434:5432"
environment:
- PG_GTM_HOST=db_gtm_1
- PG_GTM_PORT=6666
- PG_HOST=0.0.0.0
- PG_NODE=data_1
- PG_PORT=5432
# - PG_PASSWORD=dafei1288
build: .
# image: z_db_data_1
command: docker-cmd-data
entrypoint: docker-entrypoint-data
depends_on:
- db_gtm_1
volumes:
- db_data_1:/var/lib/postgresql
networks:
- db_a
healthcheck:
test: ["CMD", "docker-healthcheck-data"]
db_data_2:
ports:
- "25435:5432"
environment:
- PG_GTM_HOST=db_gtm_1
- PG_GTM_PORT=6666
- PG_HOST=0.0.0.0
- PG_NODE=data_2
- PG_PORT=5432
# - PG_PASSWORD=dafei1288
build: .
# image: z_db_data_2
command: docker-cmd-data
entrypoint: docker-entrypoint-data
depends_on:
- db_gtm_1
volumes:
- db_data_2:/var/lib/postgresql
networks:
- db_a
healthcheck:
test: ["CMD", "docker-healthcheck-data"]
pgpool:
# image: smirart/pgpool:latest
image: postdock/pgpool:latest
ports:
- "8686:8686"
- "8687:5432"
- "8688:9898"
# environment:
# - PG_PASSWORD=dafei1288
volumes:
- ./pgpool.conf:/var/pgpool_configs/pgpool.conf
restart: always
networks:
- db_b
volumes:
db_gtm_1: {}
db_coord_1: {}
db_coord_2: {}
db_data_1: {}
db_data_2: {}
networks:
db_a:
internal: true
db_b:
internal: true

如果有需要,可以開啟gppool,也可以注釋掉,不影響使用

pgpool.conf

listen_addresses = '*'
port = 5432
# pool_passwd = 'dafei1288'
socket_dir = '/tmp'


pcp_listen_addresses = '*'
pcp_port = 9898
pcp_socket_dir = '/tmp'
listen_backlog_multiplier = 2
serialize_accept = off

replication_mode = on
load_balance_mode = on

backend_hostname0 = 'db_coord_1'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/data0'
backend_flag0 = 'ALWAYS_MASTER'

backend_hostname1 = 'db_coord_2'
backend_port1 = 5432
backend_weight1 = 1
backend_data_directory1 = '/data1'
backend_flag1 = 'ALLOW_TO_FAILOVER'



health_check_period0 = 0
health_check_timeout0 = 20
health_check_user0 = '_healthcheck'
health_check_password0 = ''
health_check_database0 = ''
health_check_max_retries0 = 0
health_check_retry_delay0 = 1
connect_timeout0 = 10000

實驗結果

本實驗工程 fork自 https://github.com/tiredpixel/z.2020-10-22.postgres-xl-docker,由于原鏡像已設置為只讀,并且執行會出一些奇奇怪怪的錯誤,于是我就整理了一番,項目已托管到全球最大同仁網站gayhub,網址如下:

https://github.com/dafei1288/postgres-xl-docker

參考列表

https://blog.csdn.net/yeruby/article/details/49004329

https://github.com/tiredpixel/z.2020-10-22.postgres-xl-docker

責任編輯:武曉燕 來源: 麒思妙想
相關推薦

2019-11-25 09:32:26

軟件程序員數據結構

2015-09-06 09:22:24

框架搭建快速高效app

2022-03-04 16:06:33

數據庫HarmonyOS鴻蒙

2024-10-31 13:51:58

2020-12-17 06:48:21

SQLkafkaMySQL

2019-04-01 14:59:56

負載均衡服務器網絡

2022-10-12 23:02:49

Calcite異構數據框架

2023-10-27 09:40:52

VitePressGatsby

2015-11-06 11:03:36

2024-06-19 09:58:29

2021-09-07 09:40:20

Spark大數據引擎

2022-06-16 07:31:41

Web組件封裝HTML 標簽

2023-04-12 11:18:51

甘特圖前端

2012-07-10 01:22:32

PythonPython教程

2024-05-13 09:28:43

Flink SQL大數據

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫

2024-10-08 11:12:12

2019-09-16 09:14:51

2009-10-09 14:45:29

VB程序

2023-07-15 18:26:51

LinuxABI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产亚洲夜色av网站 | 成人国产精品视频 | 国产精品久久久久久久午夜片 | 日韩国产欧美一区 | 男女爱爱网站 | 久久久不卡网国产精品一区 | 国产日韩欧美在线 | 国产精品免费在线 | 久久精品国产一区二区三区不卡 | 午夜私人影院在线观看 | 亚洲品质自拍视频网站 | 欧美性受xxxx白人性爽 | 国产精品毛片无码 | 一区亚洲| 欧美成人hd | 无人区国产成人久久三区 | 日本三级在线视频 | 久久久久久国产精品 | jizz18国产| 中文字幕乱码一区二区三区 | 国产亚洲欧美日韩精品一区二区三区 | 日日干夜夜操 | www.夜夜骑.com | 免费黄色的视频 | 国产精品国产a级 | 国产精品免费一区二区三区四区 | 亚洲午夜一区二区 | 国产四虎| 精品欧美一区二区三区 | 好姑娘高清在线观看电影 | 色综合一区二区三区 | 日韩精品成人网 | 三级视频在线观看 | 欧美一区二区大片 | 日韩精品久久一区 | 国产日韩精品久久 | 亚洲精品综合 | 久草成人| 国产精品免费看 | 亚洲精品乱码8久久久久久日本 | 久久国产精品免费一区二区三区 |