.NET ORM 操作ClickHouse数据库

  • .NET ORM 操作ClickHouse数据库已关闭评论
  • 239 次浏览
  • A+
所属分类:.NET技术
摘要

ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。


ClickHouse应用场景

ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。

clickhouse可以做用户行为分析,流批一体

线性扩展和可靠性保障能够原生支持 shard + replication

clickhouse没有走hadoop生态,采用 Local attached storage 作为存储

 

连接字符串

Database=SqlSugarTest2;Username=default;Password=;Host=localhost; Port=8123;Compression=False;UseSession=False;Timeout=120; 

  

Nuget 安装

Database=SqlSugarTest2;Username=default;Password=;Host=localhost; Port=8123;Compression=False;UseSession=False;Timeout=120; 

  

缺点

1、大小写要和数据库一样模一样,用的时候需要注意一下

2、不支持事务

3、只支持Linux

 

声名Db对象

 SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){            ConnectionString = "连接符字串",             DbType = DbType.ClickHouse            IsAutoCloseConnection = true}); 

  

  

 

DEMO

可以去GITHUB下载完整DEMO

.NET ORM 操作ClickHouse数据库

下载地址 https://github.com/donet5/SqlSugar

 

基础CDRUD

//联表查询 var list = db.Queryable<Order>()             .LeftJoin<Custom>   ((o, cus ) => o.CustomId == cus.Id)//多个条件用&&             .LeftJoin<OrderDetail> ((o, cus, oritem) => o.Id == oritem.OrderId)             .Where(o => o.Id == 1)               .Select(o =>o)             .ToList(); //查询  var list=db.Queryable<Order>().Where(it=>it.Id>0).ToList();            //插入             db.Insertable(insertObj).ExecuteCommand();  //更新 db.Updateable(UpdateObj).ExecuteCommand();    //删除 db.Deleteable(DeleteObj).ExecuteCommand();