
shardingdbtable
文章平均质量分 90
varyall
这个作者很懒,什么都没留下…
展开
-
亿级数据存储实现 + 分库分表优化方案
前言前几个月公司要做一个发电站的项目,需要实时采集各个机器的发电用电情况,进行统计展示。初步估计一天产生的数据为 4000W 左右。于是和组长一起讨论设计了数据库方案。下面说下我们的解决思路,如果有不足,需要改进的地方,欢迎提出(因为这也是我第一次做分库分表 ╮( ̄▽ ̄")╭)。一 基本情况数据是从 2000 多个节点分别采集输入到系统中,大约每 5s 采集一次,一天数据量在 4000W 到 5000W 之间。数据从采集系统采集后,放入 Kafka 队列,我们的消费服务不停的从队列中取出数据,转载 2021-01-21 20:40:35 · 2088 阅读 · 0 评论 -
【数据迁移】在线数据迁移 :双写数据库、搬历史数据、切换写入、灰度验证(99.9999%)、删除历史
步骤:双写数据库、搬历史数据、切换写入、灰度验证(99.9999%)、删除历史; 在线数据迁移,是指将正在提供线上服务的数据,从一个地方迁移到另一个地方,整个迁移过程中要求不停机,服务不受影响。根据数据所处层次,可以分为cache迁移和存储迁移;根据数据迁移前后的变化,又可以分为平移和转移。平移是指迁移前后数据组织形式不变,比如Mysql从1个实例扩展为4个实例,Redis从4个端口扩展到16个...转载 2018-04-03 23:15:00 · 1601 阅读 · 1 评论 -
关系型数据库大数据性能优化解决方案之:分表(当前表历史表)、表分区、数据清理原则
原因和目的由于交易量大或者日积月累造成数据库的数据量越来越大。会导致系统性能大幅下降,所以要对部分业务的表数据作备份和清理减少数据量,来提升请求响应的速度,提升用户体验数据是否需要清理的阀值判断通常当表的磁盘大小超过 5GB,或对于 OLTP 系统(联机事务处理),表的记录超过 3000 万,都应考虑对表进行分区或者分表。除了上述阀值之外,还可以根据数据库性能指标情况来考虑分区或者分表,比如在已经...转载 2018-04-03 23:52:38 · 765 阅读 · 0 评论 -
全量数据同步与数据校验实践——应对百亿量级分库分表异构库迁移
在一家发展中的公司搬砖,正好遇到分库分表,数据迁移的需求比较多,就入坑了。最近有个系统重构,一直做数据重构、迁移、校验等工作,基本能覆盖数据迁移的各个基本点,所以趁机整理一下。数据同步的场景是:数据库拆分、数据冗余、数据表重构。数据重构服务主要包括:全量迁移、全量数据校验、增量数据同步和增量数据校验四个功能。本文主要讲述DB-DB全量迁移的通用解决方案,主要是解决几个问题:NO.1 如何把一个亿量...转载 2018-04-03 23:54:20 · 1326 阅读 · 0 评论 -
分布式数据库CDS-原理与实践| MySlide - 专注PPT分享,追随 ...
SDCC 2016中国软件开发者大会王义林 - 分布式数据库CDS-原理与实践CDS(Completed Database Sharding )是京东金融自主研发的高性能、高可靠分布式数据库。围绕高吞吐数据存取需求,CDS各项特性、产品的演进过程,具体解决的问题。以及在实施过程中的有益实践。文字内容评论1. 分布式数据库CDS-原理与实践 嘉宾:王义林2. 议题 • 数据分片概述 • CDS架构及...转载 2018-04-03 23:58:02 · 2165 阅读 · 0 评论 -
Leaf——美团点评分布式ID生成系统
背景在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。概括下来,那业务系统对ID号的要求有哪些呢?全局唯一性:不能出现重...转载 2018-04-06 00:46:36 · 419 阅读 · 0 评论 -
订单系统的优化方案
要优化订单系统,提高订单的每秒交易数量(TPS,Transactionper second),我们首先要做的是对下订单的逻辑进行剥离,只保留核心部分,而把附加功能剔除出去。比如说下单要考虑库存量、考虑发短信、要给卖家发消息通知、要对订单做统计、要做销售额统计等,我们需要对这些功能进行分析,哪些功能是必需的,哪些是附加的功能,要最大程度提高下单这一步的TPS,就要先不考虑这些附加的功能。下单必然会涉...转载 2018-04-19 00:04:57 · 2382 阅读 · 0 评论 -
分库分表的优缺点
1. 按照哈希的方式优点:数据散列比较平均,单库单表访问压力分布比较均匀缺点:预先需要做好容量规划,扩容方面不容易,需要重新进行数据hash迁移适用场景:数据变更频繁,并发访问量比较高的情况下,可以利用多台机器将访问压力均匀分布,合理利用资源2. 按时间段或者按ID段进行划分优点:可以持续扩容,降低单表压力缺点:有时候业务数据上,存在着一部分的旧数据,但是这部分数据很少使用到,基于这样的分库分表的...转载 2018-04-29 16:15:53 · 9464 阅读 · 0 评论 -
全量数据同步与数据校验实践——应对百亿量级分库分表异构库迁移
在一家发展中的公司搬砖,正好遇到分库分表,数据迁移的需求比较多,就入坑了。最近有个系统重构,一直做数据重构、迁移、校验等工作,基本能覆盖数据迁移的各个基本点,所以趁机整理一下。数据同步的场景是:数据库拆分、数据冗余、数据表重构。数据重构服务主要包括:全量迁移、全量数据校验、增量数据同步和增量数据校验四个功能。本文主要讲述DB-DB全量迁移的通用解决方案,主要是解决几个问题:NO.1 如何把一个亿量...转载 2018-05-08 01:52:34 · 2310 阅读 · 0 评论 -
数据库分库分表的应用场景及解决方案
数据库分库分表的应用场景及解决方案 现实业务场景中,为了保障客户体验并满足业务的线性增长。会对数据量巨大,且业务会始终进行的产品进行分表分库策略。但是如何合理的根据业务采取争取的分表分库策略至关重要。下面以具体实例来进行分析。• 场景一:用户中心,单key业务如何进行数据库切分• 场景二:订单中心,多key业务如何进行数据库切分场景一:用户中心数据库切分架构实践|场景介绍 用户中...转载 2018-05-08 02:07:27 · 243 阅读 · 0 评论 -
【分库分表】sharding-jdbc—分片策略
目录StandardShardingStrategyComplexShardingStrategyInlineShardingStrategyHintShardingStrategyNoneShardingStrategy标准分片策略(StandardShardingStrategy)a、PreciseShardingAlgorithm实现:(Precise处理 = 和 in 的路由)b、Prec...转载 2018-06-07 18:08:21 · 4031 阅读 · 0 评论 -
大规模IM用户数据分库分表之二叉树分库分表
1、起因 互联网发展带来来了数据量巨增,单数据无法解决,导致出现了数据库分库和分表,其主要目的是为突破单节点数据库服务器的 I/O 能力限制,解决数据库扩展性问题。但是分库和分表带来的问题是业务数据的一致性,线性可扩展性,管理的复杂性和容错性带来了很大的挑战。 本文讨论的数据库分表是不改变数据库表结构的水平拆分,不讨论业务的按照纵向拆分。水平拆分数据分库和分表的核心问题是...转载 2018-06-15 09:36:57 · 486 阅读 · 1 评论 -
【分库分表】sharding-jdbc—分片策略
一、分片策略Sharding-JDBC认为对于分片策略存有两种维度:数据源分片策略(DatabaseShardingStrategy):数据被分配的目标数据源表分片策略(TableShardingStrategy):数据被分配的目标表两种分片策略API完全相同,但是表分片策略是依赖于数据源分片策略的(即:先分库然后才有分表)二、分片算法Sharding分片策略继承自ShardingStrategy...转载 2018-06-27 15:04:32 · 1362 阅读 · 0 评论 -
分库分表之终极设计方案
本文目录一 前言 二 传统分库分表设计方案 三 终极方案之思路 四 终极方案之设计 五 终极方案之核心主流程 六 终极方案之如何扩容 七 终极方案之系统设计回到目录一 前言中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出...转载 2019-08-19 20:13:13 · 267 阅读 · 0 评论 -
笔者带你剖析三种常见的分布式路由算法
Redis、Memcache也好,MySQL也罢。当达到单点可处理的容量上线时,Sharding是一种解决痛点最直接的解决方案。假设对存储系统实施了Sharding,那么我们究竟应该如何选取合适的路由算法呢?本文列举三种最常见的分布式理由算法:硬Hash算法、一致性Hash算法,以及预分桶算法。 1、硬Hash算法: 即hash(routeKey) % dbSize,首先对路由Ke...转载 2019-08-19 20:14:05 · 5422 阅读 · 0 评论 -
MyBatis实现Mysql数据库分库分表操作和总结(推荐)
阅读目录前言MyBatis实现分表最简单步骤分离的方式分离的策略分离的问题分离的原则实现分离的方式总结前言作为一个数据库,作为数据库中的一张表,随着用户的增多随着时间的推移,总有一天,数据量会大到一个难以处理的地步。这时仅仅一张表的数据就已经超过了千万,无论是查询还是修改,对于它的操作都会很耗时,这时就需要进行数据库切分的操作了。 MyBatis实现分表最简单步骤既然文章的标题都这么写了,不如直接...转载 2018-04-11 11:18:52 · 6579 阅读 · 0 评论 -
水平分库如何做到平滑扩展
这个对于我们常用的分库分表方案来说,有很大的优势,分库分表的扩容是一件头疼的问题,如果采用对db层做一致性hash,或是中间价的支持,它的成本过于高昂了,如果不如此,只能停机维护来处理,对高可用性会产生影响。那是否有方案,既可以快速扩展,又不降低可用性?这一篇,我们聊聊分库分表的扩展方案,供大家一起探讨。 一、水平分库扩展问题为了增加db的并发能力,常见的方案就是对数据进行sharding,也就是...转载 2018-04-03 20:04:16 · 538 阅读 · 0 评论 -
一种可以避免数据迁移的分库分表scale-out扩容方式
原文地址:http://jm-blog.aliapp.com/?p=590目前绝大多数应用采取的两种分库分表规则mod方式dayofweek系列日期方式(所有星期1的数据在一个库/表,或所有?月份的数据在一个库表)这两种方式有个本质的特点,就是离散性加周期性。例如以一个表的主键对3取余数的方式分库或分表: 那么随着数据量的增大,每个表或库的数据量都是各自增长。当一个表或库的数据量增长到了一个极限,...转载 2018-04-03 16:47:17 · 413 阅读 · 0 评论 -
分布式ID方案有哪些以及各自的优劣势,我们当如何选择
分布式ID方案有哪些以及各自的优劣势,我们当如何选择作者介绍 段同海,就职于达达基础架构团队,主要参与达达分布式ID生成系统,日志采集系统等中间件研发工作。背景在分布式系统中,经常需要对大量的数据、消息、http请求等进行唯一标识,例如:在分布式系统之间http请求需要唯一标识,调用链路分析的时候需要使用这个唯一标识。这个时候数据库自增主键已经不能满足需求,需要一个能够转载 2018-01-04 20:22:41 · 310 阅读 · 0 评论 -
分库分表原则 总结
单库单表单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用mysql, 还有一个更严重的问题是,当需要添加一列的时候,mysql会锁表,期间所有的读写操作只能等待。可以通过某种...转载 2018-02-10 00:18:42 · 1821 阅读 · 0 评论 -
多key业务,数据库水平切分架构一次搞定
数据库水平切分是一个很有意思的话题,不同业务类型,数据库水平切分的方法不同。本篇将以“订单中心”为例,介绍“多key”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践。 一、什么是“多key”类业务所谓的“多key”,是指一条元数据中,有多个属性上存在前台在线查询需求。 订单中心业务分析订单中心是一个非常常见的“多key”业务,主要提供订单的查询与修改的服务,其核心元...转载 2018-02-12 20:21:03 · 178 阅读 · 0 评论 -
数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
版权声明:本文由本人撰写并发表于2012年9月份的《程序员》杂志,原文题目《一种支持自由规划的Sharding扩容方案——主打无须数据迁移和修改路由代码》,此处作为本系列的第五篇文章进行转载, 本文版权归《程序员》杂志所有,未经许可不得转载!作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段...转载 2018-03-09 12:00:13 · 237 阅读 · 0 评论 -
数据库分库分表的应用场景及方法分析
数据库分库分表的应用场景及方法分析一. 数据库经常面临的问题二.解决方法的思量三.急剧膨胀的业务及数据量的影响 以电商领域为例,订单库将订单相关的数据(订单销售,订单售后,订单任务处理等数据)都放在一个数据库中。对于订单的销售数据,性能第一,需要能够承受促销期间每分钟几万到几十万的订单压力;而售后数据,在订单生成后,用于订单物流及订单克服等,性能压力不明显,但是需要保证及时性。将订单的销售数...转载 2018-02-22 15:44:51 · 709 阅读 · 0 评论 -
架构-水平切分架构之基因法
业务:查询用户的所有帖子、查询帖子详情。字段:用户ID、帖子ID。普通水平切分: 根据帖子ID切分则无法一次查询用户的所有帖子; 根据用户ID切分则需要先查帖子所属用户;什么是分库基因? 通过uid分库,假设分为16个库,采用uid%16的方式来进行数据库路由,这里的uid%16,其本质是uid的最后4个bit决定这行数据落在哪个库上,这4个bit,就是分库基因。什么是基因法分库? 如...转载 2018-02-22 18:57:06 · 418 阅读 · 0 评论 -
大众点评订单系统分库分表实践
背景原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。随着这些问题越来越突出,订单数据库的切分就愈发急迫了。这次切分,我们的目标是未来十年内不需要...转载 2018-02-23 19:23:00 · 872 阅读 · 0 评论 -
美团团购订单系统优化记
美团团购订单系统优化记团购订单系统简介美团团购订单系统主要作用是支撑美团的团购业务,为上亿美团用户购买、消费提供服务保障。2015年初时,日订单量约400万~500万,同年七夕订单量达到800万。目标作为线上S级服务,稳定性的提升是我们不断的追求。尤其像七夕这类节日,高流量,高并发请求不断挑战着我们的系统。发现系统瓶颈,并有效地解决,使其能够稳定高效运行,为业务增长提供可靠保障是我们的目标。优化思...转载 2018-02-23 23:27:44 · 2882 阅读 · 0 评论 -
分布式ID方案有哪些以及各自的优劣势,我们当如何选择
分布式ID方案有哪些以及各自的优劣势,我们当如何选择作者介绍 段同海,就职于达达基础架构团队,主要参与达达分布式ID生成系统,日志采集系统等中间件研发工作。背景在分布式系统中,经常需要对大量的数据、消息、http请求等进行唯一标识,例如:在分布式系统之间http请求需要唯一标识,调用链路分析的时候需要使用这个唯一标识。这个时候数据库自增主键已经不能满足需求,需要一个能够生成全局唯一ID的系统,这个...转载 2018-02-24 15:23:14 · 272 阅读 · 0 评论 -
美团外卖订单中心的演进
前言美团外卖从2013年9月成交第一单以来,已走过了三个年头。期间,业务飞速发展,美团外卖由日均几单发展为日均500万单的大型O2O互联网外卖服务平台。平台支持的品类也由最初外卖单品拓展为全品类。随着订单量的增长、业务复杂度的提升。外卖订单系统也在不断演变进化,从早期一个订单业务模块到现在分布式可扩展的高性能、高可用、高稳定订单系统。整个发展过程中,订单系统经历了几个明显的阶段,下面本篇文章将为大...转载 2018-02-24 17:57:37 · 1302 阅读 · 0 评论 -
一种可以避免数据迁移的分库分表scale-out扩容方式
原文地址:http://jm-blog.aliapp.com/?p=590目前绝大多数应用采取的两种分库分表规则mod方式dayofweek系列日期方式(所有星期1的数据在一个库/表,或所有?月份的数据在一个库表)这两种方式有个本质的特点,就是离散性加周期性。例如以一个表的主键对3取余数的方式分库或分表: 那么随着数据量的增大,每个表或库的数据量都是各自增长。当一个表或库的数据量增长到了一个极限,...转载 2018-03-12 21:52:09 · 213 阅读 · 0 评论 -
1号店订单系统水平分库的实践之路以及关键步骤
转载:1号店订单系统水平分库的实践之路以及关键步骤随着大型互联网应用的发展,海量数据的存储和访问成为系统设计的瓶颈,分布式处理成为不二选择。数据库拆分,特别是水平分库是个高难度的活,涉及一系列技术决策。本人有幸负责1号店订单水平分库的方案设计及实施落地,本人结合项目实践,对水平分库做一个系统地剖析,希望为大家水平分库(包括去IOE)改造提供总体思路,主要内容包括:水平分库说明分库维度-- 根据哪个...转载 2018-04-08 17:21:32 · 569 阅读 · 0 评论 -
利用Mybatis拦截器对数据库水平分表
首先你要知道在哪些sql上面要处理分表?你可能需要一个注解:[java] view plain copypackage com.dusk.domyself.stock.common.split; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang....转载 2018-04-08 20:53:39 · 1219 阅读 · 1 评论 -
笔者带你剖析淘宝TDDL——Matrix层的分库分表配置与实现
笔者带你剖析淘宝TDDL(TAOBAO DISTRIBUTE DATA LAYER)注:本文部分内容引用本人博客http://gao-xianglong.iteye.com/blog/1973591 前言在开始讲解淘宝的TDDL(Taobao Distribute Data Layer)技术之前,请允许笔者先吐槽一番。首先要开喷的是淘宝的社区支持做的无比的烂,TaoCode开源社区上面,几乎从来都...转载 2018-04-09 00:19:31 · 651 阅读 · 0 评论 -
数据库分库分表策略的具体实现方案
相关文章:1、 使用Spring AOP实现MySQL数据库读写分离案例分析2、MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解3、MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结4、使用mysqlreplicate命令快速搭建 Mysql 主从复制5、大型网站应用之海量数据和高并发解决方案总结一二一、M转载 2018-01-03 23:33:03 · 345 阅读 · 0 评论