ITPub博客

首页 > 数据库 > 数据库开发技术 > 上亿级别数据库查询

上亿级别数据库查询

数据库开发技术 作者:mcxiaoracle 时间:2022-06-18 08:00:58 0 删除 编辑



一。分区

创建年表和分区:


分区方案

分区表是由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们也可以直接访问各个分区,存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层表上各自加上一个相同的索引,从存储引擎的角度来看,底层表和一个普通表没有任何不同,存储引擎也无须知道这是一个普通表还是一个分区表的一部分。这个方案也不错,它对用户屏蔽了sharding的细节,即使查询条件没有sharding column,它也能正常工作(只是这时候性能一般)。不过它的缺点很明显:很多的资源都受到单机的限制,例如连接数,网络吞吐等。如何进行分区,在实际应用中是一个非常关键的要素之一。在我们的项目中,以客户信息为例,客户数据量5000万加,项目背景要求保存客户的银行卡绑定关系,客户的证件绑定关系,以及客户绑定的业务信息。此业务背景下,该如何设计数据库呢。项目一期的时候,我们建立了一张客户业务绑定关系表,里面冗余了每一位客户绑定的业务信息。基本结构大致如下:


二。分库分表

如何进行分库分表,目前互联网上有许多的版本,比较知名的一些方案:

  • 阿里的TDDL,DRDS和cobar,
  • 京东金融的sharding-jdbc;
  • 间组织的MyCAT;
  • 360的Atlas;
  • 美团的zebra;
  • 其他比如网易、58、京东等公司都有自研的 中间件。

但是这么多的分库分表中间件方案,归总起来,就两类:client模式和proxy模式。

三。选择建立索引



三。sql优化



推荐阅读:

https://blog.csdn.net/rongtaoup/article/details/82457544



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2901330/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: hive 的使用
请登录后发表评论 登录
全部评论
数据方向,了解oracle ,IBM DB2 730

注册时间:2019-09-30

  • 博文量
    286
  • 访问量
    226620