高斯数据库如何使用

高斯数据库如何使用

相关工具

相关工具

  • 云数据库GaussDB使用逻辑复制工具复制数据

    目前支持GaussDB逻辑复制的工具有SDR和DRS。

    复制工具从GaussDB抽取逻辑日志后到对端数据库回放。

    对于使用JDBC连接数据库的复制工具

  • GaussDB相关的第三方工具,通过什么来连接?

    目前,GaussDB相关的第三方工具都是通过JDBC进行连接的,此部分将介绍工具配置时的注意事项。

    连接参数

    【关注】第三方工具通过JDBC连接GaussDB时,JDBC向GaussDB发起连接请求,会默认添加以下配置参数,详见JDBC代码ConnectionFactoryImpl类的实现。

    params = {
    { "user", user },
    { "database", database },
    { "client_encoding", "UTF8" },
    { "DateStyle", "ISO" },
    { "extra_float_digits", "3" },
    { "TimeZone", createPostgresTimeZone() },
    };

    这些参数可能会导致JDBC客户端的行为与gsql客户端的行为不一致,例如,Date数据显示方式、浮点数精度表示、timezone显示。

    如果实际期望和这些配置不符,建议在java连接设置代码中显式设定这些参数。

    【建议】通过JDBC连接数据库时,应该保证下面三个时区设置一致:

    JDBC客户端所在主机的时区。

    GaussDB集群所在主机的时区。

    GaussDB集群配置过程中时区。

    fetchsize

    【关注】在应用程序中,如果需要使用fetchsize,必须关闭autocommit。开启autocommit,会令fetchsize配置失效。

    autocommit

    【建议】在JDBC向GaussDB申请连接的代码中,建议显式打开autocommit开关。如果基于性能或者其它方面考虑,需要关闭autocommit时,需要应用程序自己来保证事务的提交。例如,在指定的业务SQL执行完之后做显式提交,特别是客户端退出之前务必保证所有的事务已经提交。

    释放连接

    【建议】推荐使用连接池限制应用程序的连接数。每执行一条SQL就连接一次数据库,是一种不好SQL的编写习惯。

    【建议】在应用程序完成作业任务之后,应当及时断开和GaussDB的连接,释放资源。建议在任务中设置session超时时间参数。

    【建议】使用JDBC连接池,在将连接释放给连接池前,需要执行以下操作,重置会话环境。否则,可能会因为历史会话信息导致的对象冲突。

    如果在连接中设置了GUC参数,那么在将连接归还连接池之前,必须使用“SET SESSION AUTHORIZATION DEFAULT;RESET ALL;”将连接的状态清空。

    如果使用了临时表,那么在将连接归还连接池之前,必须将临时表删除。

    CopyManager

    【建议】在不使用ETL工具,数据入库实时性要求又比较高的情况下,建议在开发应用程序时,使用GaussDB JDBC驱动的copyManger接口 进行微批导入。

高斯数据库基于什么 高斯数据库基于什么

GaussDB基于JDBC开发

JDBC(Java Database Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口,应用程序可基于它操作数据。 GaussDB库提供了对JDBC 4.0特性的支持,需要使用JDK1.8版本编译程序代码,不支持JDBC桥接ODBC方式。

GaussDB基于ODBC开发

单击此处获取GaussDB提供的驱动包。Linux环境下,开发应用程序要用到unixODBC提供的头文件(sql.h、sqlext.h等)和库libodbc.so。这些头文件和库可从unixODBC-2.3.0的安装包中获得。

GaussDB基于libpq开发

libpq是GaussDBC应用程序接口。libpq是一套允许客户程序向GaussDB服务器服务进程发送查询并且获得查询返回的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。本章给出了两个示例显示如何利用libpq编写代码。

GaussDB基于Psycopg开发

Psycopg是一种用于执行SQL语句的PythonAPI,可以为PostgreSQL、GaussDB数据库提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。

高斯数据库如何使用-应用场景

金融核心交易

金融核心交易


适用于各类银行核心交易系统分布式改造,数据库的原生分布式能力可以极大的降低改造和迁移工作量。两地三中心等极致高可用能力,可以为核心业务保驾护航。


优势


大容量高扩展:支持TB~PB级单库容量和在线扩容,避免分库分表,降低应用开发难度

金融级高可用:同城双活部署实现同城两中心业务同时接入,一中心故障,业务秒级恢复

大并发高性能:主要业务流程并发交易响应时延<3s,报表和复杂查询类场景执行耗时从20+min降至秒级

ERP/CRM

ERP/CRM


支持企业级混合负载和丰富的企业级特性,在长事务、超复杂SQL等场景下性能卓越,可以很好的满足ERP/CRM复杂的业务模型。


优势


开放生态:支持线下主备开源版本,支持线上托管型主备实例和分布式实例,不锁定用户,拥有开放生态

灵活管理:支持多租户资源管理方案,灵活管理应用用户

企业级服务:提供丰富的企业级特性,支持高可用,统一监控平台,不断提升开发&运维的效率

安全稳定:集成云上多种安全特性,且软硬件完全支持可信


政企OA/办公

政企OA/办公


安全可信,支持主流软硬件,适用于政府和企业OA/办公等管理支撑系统业务。


优势


开放生态:支持线下主备开源版本,支持线上托管型主备实例和分布式实例,不锁定用户,拥有开放生态

灵活管理:支持多租户资源管理方案,灵活管理应用用户

企业级服务:提供丰富的企业级特性,支持高可用,统一监控平台,不断提升开发&运维的效率

安全稳定:集成云上多种安全特性,且软硬件完全支持可信


高斯数据库如何使用

创建用户并授权使用GaussDB

如果您需要对您所拥有的GaussDB进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可以:

  1. 根据企业的业务组织,在您的华为云帐号中,给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证,并使用GaussDB资源。
  2. 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。
  3. 将GaussDB资源委托给更专业、高效的其他华为云帐号或者云服务,这些帐号或者云服务可以根据权限进行代运维。

如果华为云帐号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用GaussDB服务的其它功能。

本章节为您介绍对用户授权的方法,操作流程如图1所示。

前提条件

给用户组授权之前,请您了解用户组可以添加的GaussDB系统策略,并结合实际需求进行选择。GaussDB支持的系统权限,若您需要对除GaussDB之外的其它服务授权,IAM支持服务的所有策略请参见权限策略。

1、创建用户组并授权

在IAM控制台创建用户组,并授予关系型数据库只读权限“GaussDB ReadOnlyAccess”。

2、创建用户并加入用户组

在IAM控制台创建用户,并将其加入1中创建的用户组。

3、用户登录并验证权限

新创建的用户登录控制台,切换至授权区域,验证权限:

在“服务列表”中选择云数据库 GaussDB,进入GaussDB主界面,在左侧导航栏选择GaussDB > 实例管理。单击右上角“购买数据库实例”,尝试购买数据库实例,如果无法购买(假设当前权限仅包含GaussDB ReadOnlyAccess),表示“GaussDB ReadOnlyAccess”已生效。

在“服务列表”中选择除云数据库 GaussDB外(假设当前策略仅包含GaussDB ReadOnlyAccess)的任一服务,若提示权限不足,表示“GaussDB ReadOnlyAccess”已生效。