首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    海量数据切分,这么搞就完事儿了

    当今社会是一个信息大爆炸的社会,大家都在用各类应用软件,也因此产生了大量的数据,企业把这些数据当做宝贝,然而这些被视为宝贝的数据往往是我们技术人员的烦恼,这些海量的数据存储和访问成为了系统设计与使用的瓶颈,而这些数据往往存储在数据库中,然后传统的数据库又是存在不足的。单个数据库是存在性能瓶颈的,并且扩展起来十分困难,在当今这个大数据的时代,我们就必须要解决这样的问题。如果单机数据库易于扩展,数据可切分,就可以避免这些问题,但是当前的这些数据库厂商,包括开源的数据库MySQL在内,提供这些服务都是要收费的。所以我们一般转向第三方的软件,使用这些软件来给我们的数据做数据切分,将原本一台数据库上的数据,分散到多台数据库中,降低每一个单体数据库的负载。那么我们如何做数据切分呢?接下来,跟着老猫来看一下切分的方案。

    02

    1 SpringBoot 使用sharding jdbc进行分库分表

    分库分表在数据量大的系统中比较常用,解决方案有Cobar,TDDL等,这次主要是拿当当网开源的Sharding-JDBC来做个小例子。 它的github地址为:https://github.com/dangdangdotcom/sharding-jdbc 简介: Sharding-JDBC直接封装JDBC API,可以理解为增强版的JDBC驱动,旧代码迁移成本几乎为零: 可适用于任何基于java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。 可基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid等。 理论上可支持任意实现JDBC规范的数据库。虽然目前仅支持MySQL,但已有支持Oracle,SQLServer,DB2等数据库的计划。 Sharding-JDBC定位为轻量级java框架,使用客户端直连数据库,以jar包形式提供服务,未使用中间层,无需额外部署,无其他依赖,DBA也无需改变原有的运维方式。SQL解析使用Druid解析器,是目前性能最高的SQL解析器。 具体的介绍可以上它的文档那里看看,简单归纳起来就是,它是一个增强版的JDBC,对使用者透明,逻辑代码什么的都不用动,它来完成分库分表的操作;然后它还支持分布式事务(不完善)。看起来很不错的样子。 下面用个小例子来看一下分库分表的使用。使用的是SpringBoot,JPA(hibernate),druid连接池。

    01

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券