pg 數據庫安裝
參考如下安裝
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
yum install postgresql10
yum install postgresql10-server
yum install -y postgresql10-contrib
安裝zombodb 擴展
- 下載pg10 版本的擴展
wget https://www.zombodb.com/releases/v10-1.0.3/zombodb_centos7_pg10-10-1.0.3_1.x86_64.rpm
- 安裝zombodb
rpm -Uvh zombodb_centos7_pg10-10-1.0.3_1.x86_64.rpm
- pg 數據庫配置&&啟動
為了簡單,直接使用沒有密碼的模式,在pg_hba.conf 添加一下配置,注意生產環境堅決不能這么搞
- pg_hba.conf
host all all 0.0.0.0/0 trust
- postgresql.conf
listen_addresses = '0.0.0.0'
port = 5432
- 數據庫啟動
/usr/pgsql-10/bin/postgresql-10-setup initdb
systemctl enable postgresql-10
systemctl start postgresql-10
安裝es
為了方便docker 安裝
- docker 安裝(可選,如果沒有安裝的話)
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://b3uey254.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- docker-compose 文件
version: '2'
services:
elasticsearch:
image: elasticsearch:6.6.0
ports:
- "9200:9200"
environment:
- http.host=0.0.0.0
- transport.host=0.0.0.0
- network.host=0.0.0.0
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
可能需要配置系統vm 參數
echo vm.max_map_count=655360 >> /etc/sysctl.conf && \
sysctl -p
- 啟動
docker-compose up -d
配置擴展
- 創建擴展
CREATE EXTENSION zombodb;
- 創建測試表
CREATE TABLE products (
id SERIAL8 NOT NULL PRIMARY KEY,
name text NOT NULL,
keywords varchar(64)[],
short_summary text,
long_description zdb.fulltext,
price bigint,
inventory_count integer,
discontinued boolean default false,
availability_date date
);
- 導入測試數據
COPY products FROM PROGRAM 'curl https://raw.githubusercontent.com/zombodb/zombodb/master/TUTORIAL-data.dmp';
- 創建索引
CREATE INDEX idxproducts
ON products
USING zombodb ((products.*))
WITH (url='http://localhost:9200/');
- 查詢
SELECT * FROM products WHERE products ==> 'sports box';
- 查看查詢計划
- es 索引數據
- 擴展的schema
說明
zombodb 功能很強大,使用標准擴展我們可以方便的進行全文檢索系統的開發,同時集合graphql 以及timescaledb 我們可以設計強大的分析系統
參考資料
https://github.com/zombodb/zombodb/blob/master/INSTALL.md
https://hub.docker.com/_/elasticsearch?tab=tags
https://www.postgresql.org/download/linux/redhat/
https://github.com/zombodb/zombodb/blob/master/TUTORIAL.md