#连接管理
# 连接方式
YashanDB提供如下两种建立连接的方式:
远程连接:客户端与服务端之间采用TCP/IP协议进行网络间通信。远程连接时必须指定数据库URL(服务器地址+监听端口),IP地址支持IPv4、IPv6、域名等格式。
UDS本地连接:客户端与服务端位于同一台服务器,采用IPC协议进行进程间通信。UDS本地连接无需指定数据库URL,默认连接到本地$YASDB_DATA环境变量对应的数据库。
在某些场景下,YashanDB将限制用户只能使用UDS本地连接的方式登录数据库,例如:
将数据库服务器对用户进行物理隔离是最基本的安全要求,因此除特殊情形外,用户都应该以远程连接的方式登录和操作数据库。同时,可以建立检测和防御外部入侵的机制进一步加强数据库安全保障:
管理连接监听器:通过调整连接监听器的运行模式,可按需管控是否接受新的连接,实现数据库服务的精细化连接管理,例如连接准入控制、负载调节等。
管理IP黑白名单:通过白名单或黑名单批量控制名单内的IP所发起的登录请求是否允许连接。
监听连接:可以记录所有对YashanDB的连接信息,及时发现异常连接并采取措施。
管控会话资源:诸如限制并行连接数、会话空闲时间等会话资源控制,可有效减少空闲连接带来的安全隐患,防止恶意攻击、潜在的数据泄露,避免资源滥用,提升数据库的性能和稳定性。
# 应急连接资源预留
YashanDB会永远保有一定量的可用连接,可以防止数据库在负载过大、遭受DoS攻击或连接洪泛时因连接资源耗尽而无法响应合法请求(严重者甚至可能出现服务不可用或性能崩溃),从而提高系统的安全性、稳定性和可靠性。
应急连接资源预留机制可以保障管理员在数据库资源耗尽的紧急情况下仍然能够连接数据库,进行诸如KILL SESSION、SHUTDOWN等系统恢复或数据保护的操作。
YashanDB始终为系统预留2个应急连接资源,该资源能被成功分配的前提条件如下:
系统出现资源不足,普通用户已无法连接数据库。
收到的登录数据库请求为UDS本地连接方式。
发起登录数据库请求的用户为sys。

