ShardingCore

分表分库解决方案
授权协议 Apache
开发语言 C#
所属分类 程序开发、 ORM/持久层框架
软件类型 开源软件
地区 国产
投 递 者 伊温书
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ShardingCore 是一款 efcore 下高性能、轻量级针对分表分库读写分离的解决方案,具有零依赖、零学习成本、零业务代码入侵。

  • 零依赖:框架本身仅依赖[efcore]和[efcore.relational],其他所有方法都自行编写,完全可控,100%开源
  • 零学习成本:以 DbContext 为核心进行数据扩展,让开发者在配置完成后几乎零学习成本使用,完美的 happy coding
  • 零业务入侵:正真做到配置即实现,用户可以做到 100% 无需修改业务代码,即可实现分片和读写功能

该库的特点:

  • 支持efcore2、3、5、6版本
  • 针对efcore支持分表、分库、读写分离等功能
  • 具有零依赖、零学习成本、零业务代码入侵
  • 支持所有以efcore作为数据驱动的框架如:AbpVNext
  • 使用流式聚合保证高性能和轻量级,性能表现为:O(n)
  • 支持同库下多表join,目前支持分表和分表,分表和不分表,支持group 聚合函数
  • 支持所有efcore对应版本支持的数据库
  • 提供默认分片路由和手动路由,支持自定义业务路由和自定义动态分表
  • 支持code-first
  • 提供按时间分表(顺序分表)的O(1)性能分页
  • 支持efcore生态下的所有批量插件
  • 支持用户手动控制连接数并且具有最小化内存最大化内存利用率
  • NCC ShardingCore 是一款 EntityFramework Core based 高性能、轻量级、分表分库、读写分离解决方案,具有零依赖、零学习成本、零业务代码入侵等特点。ShardingCore 7.0 已于近期发布。 从 ShardingCore 7.0 开始,启用版本号第二位来对应不同的 EFCore  版本,如 7.6.0.5 针对的是 EFCore 6.x 等。 变更日志

  • 1、安装插件 参考链接:ShardingCore安装笔记_Three Big Stones的博客-CSDN博客 2、配置主从数据库,具体步骤自行搜索查询 3、搭建项目 开发环境:Visual studio 项目模板:Asp.Net Core Web Api 框架:.Net5 4、添加实体类、数据库上下文 参考链接:ShardingCore分库实践_Three Big Stones的博客-CSDN博

 相关资料
  • 主要内容:1.ShardingSphere概念,2.功能列表,3.项目状态,4.分库分表_结果归并1.ShardingSphere概念 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由、和 这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务 和 数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。 Apache ShardingSphere 旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现

  • 主要内容:1.数据库瓶颈,2.垂直切分,3.水平切分,4.数据分片规则,5.分库分表带来的问题1.数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。 (并发量、吞吐量、崩溃)。 1.1 IO瓶颈 第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。 第二种:网络IO瓶颈,请求的数据太多,

  • 在我们的VS2012 web项目中,Resharper报告了数百个错误,但软件的构建和编译都很好。

  • 该文档主要介绍Zebra分库分表ShardDataSource的接入和使用,主要包括分库分表的背景知识、ShardDataSource的配置、分库分表规则的配置等。 2 准备 2.1 背景介绍 在一个业务刚上线时,可能使用某个单表存储数据。随着时间的推移和用户的增加,单表内的数据量会不断变大,总有一天数据量会大到一个难以处理的地步。这时仅仅一张表的数据就可能过亿甚至更多,无论是查询还是修改,对于它

  • 读写分离,主要是为了数据库读能力的水平扩展(参考:Zebra读写分离介绍) 一旦业务表中的数据量大了,从维护和性能角度来看,无论是任何的 CRUD 操作,对于数据库而言都是一件极其耗费资源的事情。即便设置了索引, 仍然无法掩盖因为数据量过大从而导致的数据库性能下降的事实 ,这个时候就该对数据库进行 水平分区 (sharding,即分库分表 ),将原本一张表维护的海量数据分配给 N 个子表进行存储和

  • 本文向大家介绍Java分布式session存储解决方案图解,包括了Java分布式session存储解决方案图解的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要探讨集群后不同Web服务器获取Session数据的问题解决方案。 Session Stick Session Stick 方案即将客户端的每次请求都转发至同一台服务器,这就需要负载均衡器能够根据每次请求的会话标识(SessionId)