【愚公系列】华为云系列之.NET Core连接PB级数仓GaussDB(DWS)【玩转PB级数仓GaussDB(DWS)】
文章目录
- 前言
- 一、GaussDB(DWS)的部署
- 1.购买GaussDB(DWS)
- 二、本地客户端Data Studio(windows)连接集群
- 1.驱动下载
- 2.在Windows环境使用ODBC连接
- 三、.NET Core程序连接集群
- 1.创建控制台应用程序
- 2.添加相关ODBC包
- 3.创建实体模型
- 4.初始化ORM
- 5.CRUD的使用
- 5.1 插入数据
- 5.2 查询数据
- 5.3 更新数据
- 5.4 删除数据
- 总结
前言
GaussDB(DWS)是一款具备分析及混合负载能力的分布式数据库,支持x86和Kunpeng硬件架构,支持行存储与列存储,提供GB~PB级数据分析能力、多模分析和实时处理能力,用于数据仓库、数据集市、实时分析、实时决策和混合负载等场景,广泛应用于汽车、制造、零售、物流、互联网、金融、政府、电信等行业分析决策系统。
纵观.NET Core整个圈子对国产华为GaussDB数据库的支持几乎为 0,本文就来讲解如何使用.NET Core进行GaussDB(DWS)的操作。
相关使用文档地址:https://support.huaweicloud.com/mgtg-dws/dws_01_0018.html

一、GaussDB(DWS)的部署
1.购买GaussDB(DWS)
1、华为云官网:http://bbs.huaweicloud.com/

2、搜索DWS

3、点击立即购买

4、选择购买数据仓库集群

5、进行支付


5、数仓初始化
刚买的数据仓库初始化大概需要半小时

6、进绑定IP地址
点击绑定IP

无公网ip可自行购买

完成后如下,如果不使用记得进行删除哦

至此我们就可以通过外网访问数据库了
二、本地客户端Data Studio(windows)连接集群
1.驱动下载
Data Studio是一款运行在Windows操作系统上的SQL客户端工具,有着丰富的GUI界面,能够管理数据库和数据库对象,编辑、运行、调试SQL脚本,查看执行计划等。在GaussDB(DWS) 管理控制台下载Data Studio软件包,解压后免安装即可使用。
下载地址:https://console.huaweicloud.com/dws/?region=cn-north-4&locale=zh-cn#/dws/management/connectManagement

因为是.Net 在window上开发所以下载JDBC驱动,进行安装就好了,完成后安装文件夹如下

2.在Windows环境使用ODBC连接
参考网站:https://support.huaweicloud.com/mgtg-dws/dws_01_0086.html

按官方文档配置好后测试连接

三、.NET Core程序连接集群
1.创建控制台应用程序

2.添加相关ODBC包
FreeSql.Provider.Odbc
FreeSql.Repository

3.创建实体模型
using System;
using FreeSql.DataAnnotations;namespace ConsoleTest
{public class User{[Column(IsIdentity = true)]public long Id { get; set; }public string? UserName { get; set; }public string? PassWord { get; set; }public DateTime CreateTime { get; set; }}}

4.初始化ORM
using FreeSql.Internal;
using System.Diagnostics;//初始化ORM
IFreeSql fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.OdbcPostgreSQL,"自己华为云的连接字符串").UseMonitorCommand(cmd => Trace.WriteLine($"线程:{cmd.CommandText}\r\n")).UseAutoSyncStructure(true) //自动创建、迁移实体表结构.UseNameConvert(NameConvertType.ToUpper).Build();

5.CRUD的使用
5.1 插入数据
using ConsoleTest;
using FreeSql.Internal;
using System.Diagnostics;//初始化ORM
IFreeSql fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.OdbcPostgreSQL,"Driver={PostgreSQL Unicode};server=xxxx;Port=xxxx;uid=xxxx;pwd=xxxxx;database=xxxxx").UseMonitorCommand(cmd => Trace.WriteLine($"线程:{cmd.CommandText}\r\n")).UseAutoSyncStructure(true) //自动创建、迁移实体表结构.UseNameConvert(NameConvertType.ToUpper).Build();
//-------------------------CRUD:C 插入数据-----------------------------------------
var repo = fsql.GetRepository<User>();var user = new User { UserName = "愚公搬代码", PassWord = "123" };
repo.Insert(user);

5.2 查询数据
//-------------------------CRUD:R 查询数据-----------------------------------------
var repo = fsql.GetRepository<User>();
var one = fsql.Select<User>(1).First(); //查询一条数据var list = fsql.Select<User>().Where(a => a.UserName.StartsWith("愚公搬代码")).ToList();

5.3 更新数据
//-------------------------CRUD:R 查询数据-----------------------------------------
var repo = fsql.GetRepository<User>();
var one = fsql.Select<User>(1).First(); //查询一条数据var list = fsql.Select<User>().Where(a => a.UserName.StartsWith("愚公搬代码")).ToList().FirstOrDefault();
-------------------------CRUD:U 更新数据-----------------------------------------
list.PassWord = "123123";
repo.Update(list);

5.4 删除数据
//-------------------------CRUD:D 删除数据-----------------------------------------
fsql.Delete<User>(1).ExecuteAffrows();fsql.Delete<User>().Where(a => a.UserName.StartsWith("愚公搬代码")).ExecuteAffrows();

总结
国产数据库未来是发展趋势,拥有自主权不受他人限制,华为GaussDB(DWS)虽然还在起步阶段,相信未来会越来越完善,在.NET领域中其实关于GaussDB(DWS)是很少的,本文就做个简单使用案例,希望对.NET相关开发者使用GaussDB(DWS)数仓有所帮助。
【一起来玩转PB级数仓GaussDB(DWS),分享你的技术经验与体验心得,赢开发者大礼包!】第19期有奖征文火热进行中!
此外,在云声平台提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
