SQL节点

概念

  • SQL 实例是系统提供SQL访问能力的逻辑节点,可以直接配置 MySQL,PostgreSQL和SparkSQL 实例,实现不同 SQL 访问方式。
  • SQL 实例将接收的外部请求进行SQL解析,生成内部的执行计划,将执行计划下发至协调节点,并汇总协调节点的应答进行外部响应。
  • SQL 实例支持水平伸缩,实例互相独立,一次外部请求只能在一个 SQL 实例内完成。因此,可以根据外部应用的压力来规划SQL 实例的规模。
  • SQL 实例需要进行一定的配置,才可以对接至指定的数据库存储引擎。

操作

  • 创建SQL节点

指定实例名为myinst,该实例名映射相应的数据目录和日志路径,用户可以根据自己需要指定不同的实例名。

  1. $ bin/sdb_sql_ctl addinst myinst -D pg_data/

若端口号被占用,用户可以使用-p参数指定实例端口号:

  1. $ bin/sdb_sql_ctl addinst myinst -D pg_data/ -p 5433
  • 启动SQL节点
  1. $ bin/sdb_sql_ctl start myinst
  2. Starting instance myinst ...
  3. ok (PID: 20502)
  • 查看SQL节点
  1. $ bin/sdb_sql_ctl status
  2. INSTANCE PID SVCNAME PGDATA PGLOG
  3. myinst 20502 5432 /opt/sequoiasql/postgresql/pg_data /opt/sequoiasql/postgresql/pg_data/myinst.log
  4. Total: 1; Run: 1
  • 配置对接DB引擎

系统默认数据库名为 postgres,用户也可以创建指定的数据库,命令如下:

  1. $bin/sdb_sql_ctl createdb foo myinst
  2. Creating database myinst ...
  3. ok

连接至数据库,如果没有创建指定的数据库,则连接默认数据库即可:

  1. $bin/psql -p 5432 foo

接下来进行相关的配置操作,请参考 SQL引擎连接配置

  • 停止SQL节点
  1. $ bin/sdb_sql_ctl stop myinst
  2. Stoping instance myinst (PID: 20502) ...
  3. ok
  • 删除SQL节点
  1. $ bin/sdb_sql_ctl delinst myinst
  2. Deleting instance myinst ...
  3. ok