每天5分钟,带你了解GBase8a(6)——GBase8a的数据模型和建表方法

今天咱们来聊一聊GBase8a数据模型和建表方法。


GBase8a作为一款分布式数据库,与传统数据库的最大不同之处在于,并不是由单个数据库实例提供服务,而是由每个节点上的数据库实例共同组成数据库集群,作为一个整体对外提供服务。这就涉及到数据应该如何存储到数据库实例集群的问题,GBase8a的数据模型有3种:复制表、随机分布表、hash分布表。

复制表,即为每个节点上的数据库实例上均存储了这张表的一份完整的数据。

随机分布表,即数据随机、且平均分散在数据库集群的各个实例(节点)上,譬如有node1、node2、node3、node4四个节点,则每个节点存储1/4的数据,计算时,由于无法确定数据应该在哪个节点上,所以调度进程(也就是gcluster)会将任务下发给每个gnode节点去执行。

hash分布表,即数据依据一列或多列进行hash运算后,计算该条数据应该落在哪个节点上,然后进行相应的存储。计算时,基于hash分布列作条件筛选时,可以明确计算出所需数据在哪个gnode节点上,gcluster就会将任务下发给相应的gnode节点执行,不在筛选范围内的gnode节点将不参与运算,避免不必要的资源开销,从而为其他任务提供更充分的计算资源。

数据仓库中通常采用星型或雪花型模型,这两种模型下,均有一些维表,数据量较少,一些事实表,数据量较大。在GBase8a中创建表,建议将维表/小表建为复制表,将事实表/大表建为随机分布表或hash分布表,建表的方法如下:
创建随机分布表
create table <table_name>  ();
创建hash分布表
create table <table_name>  () DISTRIBUTED BY ('<列名>');
创新建复制表
create table <table_name>  () REPLICATED;

如此,您已经了解了GBase8a的数据模型和建表方法,那么如何将数据导入GBase8a呢,且听我下回分解。。。

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gbase 8a 是一款国产的高性能关系型数据库管理系统,与MySQL是两款不同的数据库软件,因此不能直接使用MySQL的驱动来连接gbase 8a。 不过,gbase 8a提供了自己的ODBC驱动,可以使用ODBC的方式来连接gbase 8a数据库。在Java中,我们可以使用JDBC-ODBC桥来连接gbase 8a数据库,具体步骤如下: 1. 安装gbase 8a ODBC驱动,可以从gbase官网下载或联系gbase技术支持获取下载链接。 2. 配置ODBC数据源,在控制面板中打开“ODBC数据源”窗口,添加一个gbase数据源,填写相应的连接信息。 3. 在Java中使用JDBC-ODBC桥来连接gbase 8a数据库,示例代码如下: ``` String url = "jdbc:odbc:yourdataresource"; // 数据源名称 String user = "username"; // 数据库用户名 String password = "password"; // 数据库密码 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection(url, user, password); ``` 在上述代码中,"jdbc:odbc:yourdataresource" 中的 "yourdataresource" 是ODBC数据源的名称,user 和 password 分别是gbase 8a数据库的用户名和密码。通过 Class.forName() 加载 JDBC-ODBC桥的驱动程序,在 DriverManager.getConnection() 方法中传入连接字符串、用户名和密码来获取连接对象。 4. 进行数据库操作,使用JDBC标准的API进行数据库操作,例如: ``` Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM tableName"); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); //处理查询结果 } rs.close(); stmt.close(); conn.close(); ``` 以上就是使用JDBC-ODBC桥连接gbase 8a数据库的基本步骤,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值