分库分表
文章平均质量分 85
MayMatrix
J2EE .
展开
-
微服务:如何拆分共享数据库?
在分解单体应用程序到微服务体系架构时,重点考虑独立数据库拆分是很重要的。您需要想出一个可靠的策略,将您的数据库分割为多个与应用程序对齐的小型数据库。简而言之,您需要将您的应用程序/服务从使用单一的共享数据库中拆分出来。您应该以这样一种方式设计您的微服务体系结构,即每个单独的微服务都有自己的独立数据库和自己的领域数据。这将允许您独立部署和扩展微服务。传统的应用程序只有一个共享的数据库,数据通常在不同的组件之间共享。我们都使用过这样的数据库,并且发现开发更简单,因为数据存储在一个存储库中。但是这种数据库设计存在转载 2021-08-15 13:56:53 · 1119 阅读 · 0 评论 -
实时抓取MySQL的更新数据到Hadoop(订阅mysql binglog)
关系型数据库和Hadoop生态的沟通越来越密集,时效要求也越来越高。本篇就来调研下实时抓取MySQL更新数据到HDFS。本篇仅作为调研报告。初步调研了canal(Ali)+kafka connect+kafka、maxwell(Zendesk)+kafka和mysql_streamer(Yelp)+kafka。这几个工具抓取MySQL的方式都是通过扫描binlog,模拟MySQL master和slave(Mysql Replication架构–解决了:数据多点备份,提高数据可用性;读写分流,提转载 2020-07-22 16:25:52 · 691 阅读 · 0 评论 -
数据异构的武器-BINLOG+MQ
1、定义何谓数据异构,上周交易部门商品的同事过来做分享,又看到这个词,他的PPT里面是 数据库异构。其实我们以前做的事情,也是可以成为数据异构。比如我们将DB里面的数据持久化到REDIS里面去,就是一种数据异构的方式。如果要下个定义的话:把数据按需(数据结构、存取方式、存取形式)异地构建存储。2、常见应用场景分库分表中有一个最为常见的场景,为了提升数据库的查询能力,我们都会对数据库做分库分表操作。比如订单库,开始的时候我们是按照订单ID维度去分库分表,那么后来的业务需求想按照商家维度去查询,比如转载 2020-07-22 15:58:33 · 529 阅读 · 0 评论 -
一致性哈希算法-应用
一致性Hash负载均衡算法实现1. Hash函数要将对象和服务器映射到Hash环中,需要计算出来哈希码,这就需要有Hash函数来完成,也就是关系到使用的哈希算法。使用一个好的哈希算法是很重要的,为什么这么说呢,拿我们上面提到的缓存服务来说,一个完美的解决方案是需要数据分配的平衡,假如Hash环的映射是这样的:哈希码聚集.jpgHash码数值落在一个小区间内,出现Hash码聚集情况,那么从上图可以看到缓存数据全部由c3节点的服务器存储,出现数据分配不平衡。那么就需要一个好的哈希处理使得哈希转载 2020-07-07 18:15:24 · 645 阅读 · 0 评论 -
分布式系统中一致性哈希算法-简介
分布式系统中一致性哈希算法业务场景近年来B2C、O2O等商业概念的提出和移动端的发展,使得分布式系统流行了起来。分布式系统相对于单系统,解决了流量大、系统高可用和高容错等问题。功能强大也意味着实现起来需要更多技术的支持。例如系统访问层的负载均衡,缓存层的多实例主从复制备份,数据层的分库分表等。我们以负载均衡为例,常见的负载均衡方法有很多,但是它们的优缺点也都很明显:随机访问策略。系统随机访问,缺点:可能造成服务器负载压力不均衡,俗话讲就是撑的撑死,饿的饿死。 轮询策略。请求均匀分配,如果服转载 2020-07-07 18:04:53 · 423 阅读 · 0 评论 -
ShardingSphere、Mycat原理
1.ShardingSpheresharding-jdbc后续发展为Sharding-Sphere,包含sharding-jdbc、Sharding-Proxy、Sharding-Sidecar。1)概述:ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 ...转载 2020-05-20 10:23:22 · 5597 阅读 · 0 评论 -
数据库中ACID、CAP、BASE
关系型数据库中遵循的ACID规则 事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性: 1、A (Atomicity) 原子性 原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。 比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱.转载 2020-05-14 17:18:30 · 696 阅读 · 0 评论 -
TiDB 在 OPPO 准实时数据仓库中的实践
PingCAP1.3kTiDB 在 OPPO 准实时数据仓库中的实践数据库实时分布式发布于 1月6日约 24 分钟本文转载自微信公众号“OPPO大数据”。作者介绍:OPPO 数据分析与解决方案团队主要负责 OPPO 全集团的大数据分析和解决方案提供,团队成员多来自一线互联网公司及著名高校,在 OPPO 众多场景的大数据应用方面有很深经验,极大的支撑了业务迅速发展。...转载 2020-02-27 16:31:48 · 976 阅读 · 0 评论 -
TiDB 的正确使用姿势
PingCAP1.3k10TiDB 的正确使用姿势mysqlsqlnosqlrustgithub发布于 2017-03-10约 10 分钟最近这几个月,特别是 TiDB RC1 发布后,越来越多的用户已经开始测试起来,也有很多朋友已经在生产环境中使用,我们这边也陆续的收到了很多用户的测试和使用反馈。非常感谢各位小伙伴和早期用户的厚爱,而且看了这么多场景...转载 2020-02-27 16:23:59 · 1583 阅读 · 0 评论 -
吴镝:TiDB 在今日头条的实践
PingCAP1.3k2吴镝:TiDB 在今日头条的实践mysql更新于 2018-03-19约 12 分钟转存失败重新上传取消本文整理自今日头条数据库中间件/分布式数据库负责人吴镝(知乎 ID:吴镝)在TiDB DevCon2018 上的分享内容。TiDB 主要应用在今日头条核心 OLTP 系统 - 对象存储系统中,存储其中一部分元数据,支持头...转载 2020-02-27 16:20:06 · 261 阅读 · 0 评论 -
TiDB Best Practice
PingCAP1.3kTiDB Best Practicemysqlgithub发布于 2017-07-05约 17 分钟本文档用于总结在使用 TiDB 时候的一些最佳实践,主要涉及 SQL 使用、OLAP/OLTP 优化技巧,特别是一些 TiDB 专有的优化开关。建议先阅读讲解 TiDB 原理的三篇文章(讲存储,说计算,谈调度),再来看这篇文章。前言数据库是一个通用...转载 2020-02-27 16:13:58 · 182 阅读 · 0 评论 -
分布式数据库-TiDB应用场景简介
前言:最近公司要讨论分库分表,正好一起参加了培训。一般mysql单表数据库容量达到一定的极限,性能会急剧下降,之前工作的时候已经大佬们高喊几次了分库分表,但是最终没能实现或者落地的方案不佳。在这里一篇很好的文章指出了当前开源的分库分表的框架的不足,并介绍了使用TiDb作为新的分布式数据库的各种优点传送门。目前的常用的分库分表概述一种是中间件代理,例如mycat和sharding-proxy...转载 2020-02-27 15:53:52 · 1919 阅读 · 0 评论 -
OLAP、OLTP的介绍和比较
OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易...转载 2020-02-17 13:17:36 · 200 阅读 · 0 评论 -
MySQL分区和分表
MySQL分区和分表一、概念1.为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。2.什么是分表?分表是将一个大表按照一定的规...转载 2019-11-28 12:25:30 · 153 阅读 · 0 评论 -
分库分表需要考虑的问题及方案
分库分表的基本思想Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个...转载 2019-11-21 11:39:52 · 388 阅读 · 0 评论 -
数据库的分区分库分表,水平切分与垂直切分
在整理项目的时候,突然发现对数据库的水平切分与垂直切分比较模糊,特此学习!参考:https://www.cnblogs.com/bluebluesky/articles/6413831.html1、数据库分区就是把同一个数据库里的表放到不同的服务器上,负载均衡,但是在用户上来看,只有一个服务器2、数据库分表把一张表按照一定的规则分解成不同的实体表。比如垂直划分和水平划...转载 2019-11-21 11:31:46 · 915 阅读 · 0 评论