草庐IT

国际财务系统基于ShardingSphere的数据分片和一主多从实践

作者:京东物流张广治1背景传统的将数据集中存储至单一数据节点的解决方案,在性能和可用性方面已经难于满足海量数据的场景,系统最大的瓶颈在于单个节点读写性能,许多的资源受到单机的限制,例如连接数、网络IO、磁盘IO等,从而导致它的并发能力不高,对于高并发的要求不满足。每到月初国际财务系统压力巨大,因为月初有大量补全任务,重算、计算任务、账单生成任务、推送集成等都要赶在月初1号完成,显然我们需要一个支持高性能、高并发的方案来解决我们的问题。2我们的目标支持每月接单量一亿以上。一亿的单量补全,计算,生成账单在24小时内完成(支持前面说的月初大数据量计算的场景)3数据分配规则现实世界中,每一个资源都有其

这五个字,能优化你80%的程序性能问题

本篇关注程序性能优化。聚焦这个主题,本是偶然。始于玩笑,终于本心。本想找点高大上的让人直呼牛逼的东西,奈何能力有限,只能给大家一些既便宜、又好用、还简单的普通东西了,不知道你们会不会喜欢。分为五个主题,分别是『池』『序』『分』『减』『并』:一、『池』字诀池化,降低可重用对象的创建和回收代价。不知道你们发现没有,无论是电影还是游戏中,主角总是孤胆单英雄,最多三五成群。但Boss不一样,Boss手一挥,必须有一群小怪一拥而上,毕竟帮主角刷点经验也是好的。小怪的特点是:数量多,容易死,循环用。电影不可能请太多的群演,因此我们经常能发现一人分饰多角的超级龙套。而游戏里,也不可能每一个小怪都完全不一样,

这五个字,能优化你80%的程序性能问题

本篇关注程序性能优化。聚焦这个主题,本是偶然。始于玩笑,终于本心。本想找点高大上的让人直呼牛逼的东西,奈何能力有限,只能给大家一些既便宜、又好用、还简单的普通东西了,不知道你们会不会喜欢。分为五个主题,分别是『池』『序』『分』『减』『并』:一、『池』字诀池化,降低可重用对象的创建和回收代价。不知道你们发现没有,无论是电影还是游戏中,主角总是孤胆单英雄,最多三五成群。但Boss不一样,Boss手一挥,必须有一群小怪一拥而上,毕竟帮主角刷点经验也是好的。小怪的特点是:数量多,容易死,循环用。电影不可能请太多的群演,因此我们经常能发现一人分饰多角的超级龙套。而游戏里,也不可能每一个小怪都完全不一样,

分库分表,可能真的要退出历史舞台了!

即使是不懂编程的玩家,在对比NAS的时候,也会两眼放光,考虑很多因素,比如RAID级别、速度、易用程度等。作为时时刻刻与代码打交道的我们,更需要关注数据的存取问题。一开始,开箱即用的MySQL,一定是企业的首选。不仅仅因为用的人多,更重要的是生态成熟。要工具有工具,要人有人。对于老板来说,员工看着不爽,可以随时辞退,是一个非常理想的状态。但是,没有胸怀的老板,干的一定不会长久,因为如果商务会吹、老板会忽悠,业务会飞速发展(虽然现在这种机会比较少了)。对于MySQL来说,很快就会遇到问题。这个时候,就需要一些比只会用MySQL级别高一些的人才,来配合老板圆梦。是时候了,由单机MySQL向分布式发

分库分表,可能真的要退出历史舞台了!

即使是不懂编程的玩家,在对比NAS的时候,也会两眼放光,考虑很多因素,比如RAID级别、速度、易用程度等。作为时时刻刻与代码打交道的我们,更需要关注数据的存取问题。一开始,开箱即用的MySQL,一定是企业的首选。不仅仅因为用的人多,更重要的是生态成熟。要工具有工具,要人有人。对于老板来说,员工看着不爽,可以随时辞退,是一个非常理想的状态。但是,没有胸怀的老板,干的一定不会长久,因为如果商务会吹、老板会忽悠,业务会飞速发展(虽然现在这种机会比较少了)。对于MySQL来说,很快就会遇到问题。这个时候,就需要一些比只会用MySQL级别高一些的人才,来配合老板圆梦。是时候了,由单机MySQL向分布式发

一文读懂MySQL分库分表的实现原理和策略

在大型的数据应用场景下,MySQL作为一个关系型数据库管理系统(RDBMS)是非常受欢迎的。然而,MySQL在处理大量数据时会遇到瓶颈,为了解决这个问题,分库分表是一种有效的解决方案。分库分表的基本概念是将一个大型数据库分成多个较小的数据库(分库),并将每个数据库的数据进一步分成多个较小的表(分表),每个表只包含部分数据。这种方式使得查询和更新操作可以在多个数据库和表之间并行执行,提高了系统的扩展性和性能。本文将介绍MySQL分库分表的实现原理、常见的分库分表策略、以及如何在MySQL中实现分库分表。一、MySQL分库分表的实现原理MySQL分库分表的实现原理可以归纳为以下几个步骤:根据分库分

一文读懂MySQL分库分表的实现原理和策略

在大型的数据应用场景下,MySQL作为一个关系型数据库管理系统(RDBMS)是非常受欢迎的。然而,MySQL在处理大量数据时会遇到瓶颈,为了解决这个问题,分库分表是一种有效的解决方案。分库分表的基本概念是将一个大型数据库分成多个较小的数据库(分库),并将每个数据库的数据进一步分成多个较小的表(分表),每个表只包含部分数据。这种方式使得查询和更新操作可以在多个数据库和表之间并行执行,提高了系统的扩展性和性能。本文将介绍MySQL分库分表的实现原理、常见的分库分表策略、以及如何在MySQL中实现分库分表。一、MySQL分库分表的实现原理MySQL分库分表的实现原理可以归纳为以下几个步骤:根据分库分

这些开源的分库分表中间件,你们都知道吗?

当我们的数据达到一定的量级之后,单表甚至单库都无法支撑之时,那么,便会涉及到分库分表。分库分表的方式有多种,开源的解决方案也很多,都是围绕客户端和代理两种模式来处理的。客户端的组件比较多,很多人也在用,这里就分享一些代理模式的开源中间件ApacheShardingSphereApacheShardingSphere是一款分布式的数据库生态系统,可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。由ShardingSphere-JDBC和ShardingSphere-Proxy这2款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的基于

这些开源的分库分表中间件,你们都知道吗?

当我们的数据达到一定的量级之后,单表甚至单库都无法支撑之时,那么,便会涉及到分库分表。分库分表的方式有多种,开源的解决方案也很多,都是围绕客户端和代理两种模式来处理的。客户端的组件比较多,很多人也在用,这里就分享一些代理模式的开源中间件ApacheShardingSphereApacheShardingSphere是一款分布式的数据库生态系统,可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。由ShardingSphere-JDBC和ShardingSphere-Proxy这2款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的基于

数据库优化

一、为什么要进行数据库优化?当完成一个项目后,如果需要优化该项目的性能和提高并发性,就要用到数据库优化操作二、如何进行数据库优化?2.1在设计数据库表时要使用三范式设计,那什么是三范式呢?       第一范式(1NF):符合1NF的关系中的每个属性都不可再分,1NF是所有关系型数据库的最基本要求       第二范式(2NF):2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖       第三范式(3NF):3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖        BCNF范式:在3NF的基础上消除主属性对于码的部分与传递函数依赖。  三范式基本上解决了数据冗余