专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

分布式数据库技术前瞻

  背景介绍
  在业务逐渐增长的4年多里,我公司的的数据库经历了从单表数十GB到上百GB的过程。基于数据量的升级变迁,我们的数据库也经历了2次架构迭代,并在探索三代数据库架构:第一代数据库架构一主一从集中式部署的时代。第二代数据库架构垂直分库,一主多从的时代。第三代数据库架构云上一主一从一日志节点,基于域名vip实现高可用的时代。
  第三代数据库架构短板OLTP场景需求痛点
  截止目前账务系统的核心表累计数据量已达到单表8000万行以上,还在高速增长中。监管要求金融行业历史数据至少保留5年以上。这给数据库系统带来了不小的挑战:海量的历史交易与账务数据堆积在MySQL数据库中,使数据库越发臃肿,维护困难(在线DDL变更、数据迁移、磁盘容量瓶颈、磁盘IO瓶颈等)。ccsorderhst表现有8800万,56G数据,日均增长18万,ibd文件日均增长120MB,预计到年末将趋近80G。用户对历史交易订单的查询(OLTP场景)是必备功能,这些海量的历史数据会根据用户需求通过微信公众号、APP终端等渠道进行实时查询(内部、外部用户)。此场景决定了不能通过传统的离线大数据方案来满足需求。需要一种偏向于前台、中台的数据治理方案。海量数据也会导致核心跑批时间延长,同时导致数据库单点性能瓶颈,应用可以加分片,但是数据库无法水平扩展。传统分库分表解决方案痛点分表跨实例后,产生分布式事务管理难题,一旦数据库服务器宕机,有事务不一致风险。分表后,对SQL语句有一定限制,对业务方功能需求大打折扣。尤其对于实时报表统计类需求,限制非常之大。对join语句不友善。分表后,需要维护的对象呈指数增长(MySQL实例数、需要执行的SQL变更数量等)。
  分布式数据库技术选型
  基于第三代数据库架构的核心痛点,我们需要探索新的数据库技术方案来应对业务爆发式增长所带来的挑战,为业务提供更好的数据库服务支撑。
  分布式数据库有如下显著特点:无限水平扩展能力在线DDL操作不锁表分布式强一致性,确保金融数据100安全完整的分布式事务处理能力与ACID特性选型出发点是否开源,自主可控在GitHub的活跃度及社区贡献者方面,TiDB是国际化的全球开源级项目,是NewSQL行业中的代表性产品。Oceanbase作为一款在阿里孵化的一款分布式数据库产品,也于2021年6月1日在Gitee开源,并积极推进社区建设与在线培训MySQL协议兼容性Tidb与Oceanbase都与MySQL5。7高度兼容,需要应用改造的地方少市场占有率Tidb与Oceanbase在国内分布式数据库市场占有率分列第一和第二Tidb与Oceanbase具体比较1、产品发展历史TidbPingCAP成立于2015年4月,是一家企业级开源分布式数据库厂商,注册资本1亿美元,D轮融资2。7亿美金。2019年9月于Github开源,有2。81万star关注,文档齐全,对使用人员友好,有数据库开发规范(https:asktug。comttopic93819)具备PCTA与PCTP两级认证,因疫情影响,培训与线下考试都已停止Oceanbase2010年于阿里巴巴集团诞生产品,2020年6月正式进行独立公司化运作,注册资本1亿元2021年6月1号于gitee正式开源,有521star关注,文档较少,尚需完善具备OBCA、OBCP、OBCE三级认证,线上培训,线下进行考试2、使用案例Tidb广泛应用于互联网与金融行业,长沙目前已知案例包括和包支付、澳优乳业、福米科技、兴盛优选等,在全国有股份制银行光大、浦发,头部城商行,北京银行等金融行业案例,产品稳定性得到有效验证,企业用户和社区用户超过1500家。Oceanbase服务于蚂蚁集团内部、移动运营商,网商银行等大的金融保险机构3、产品架构TiDB分布式数据库采用SharedNothing架构,同时整体架构拆分成了计算、存储、调度,多个模块,各模块之间互相通信,可运行在普通PC、K8S上,载体多样。扩展性上,可按需灵活扩展计算或存储资源,提高系统整体的吞吐。OceanBase数据库采用SharedNothing架构,各个节点之间完全对等,每个节点都有自己的SQL引擎、存储引擎,运行在普通PC服务器组成的集群之上4、存储引擎TidbHTAP混合数据库Oceanbase准内存数据库LSMTree存储,避免随机写5、标准SQL语句支持TiDB1、支持标准SQL,DDL、DML、DCL、DQL(包括分析函数,各种查询)。2、部分支持完整性约束,不支持check约束和外键约束功能,但支持语法兼容。3、支持表管理、视图管理。4、部分支持分区表,支持range和hash分区,不支持list分区和复合分区;支持全局索引,不支持本地索引,但在后续的5。0版本中将全面支持分区表,解除前述相关限制。5、不支持临时表、存储过程,自定义函数,表空间,触发器等创建和使用。6、支持sequence创建和使用。7、不支持添加列的autoincrement属性,可以用AUTORANDOM(仅支持主键)语法来保证主键唯一性(不需要连续或递增)。Oceanbase支持1、支持大部分查询功能,包括支持单、多表查询;支持子查询;支持内连接、半连接以及外连接;支持分组、聚合;常见的概率、线性回归等数据挖掘函数等2、暂不支持空间数据类型和JSON数据类型3、不支持空间分析函数、JSON函数和性能模式函数4、支持一级分区,模板化和非模板化二级分区,二级分区支持HASH、KEY、RANGE、RANGECOLUMNS、LIST、LISTCOLUMNS分区6、分布式事务读写强一致TidbTiDB支持分布式事务,提供乐观事务与悲观事务两种事务模型。TiDB3。0。8及以后版本,TiDB默认采用悲观事务模型。乐观并发控制期望事务间数据冲突不多,只在提交阶段检测冲突能获取更高的性能。悲观并发控制更适合数据冲突较多的场景,能够避免乐观事务在这类场景下事务因冲突而回滚的问题,但相比乐观并发控制,在没有数据冲突的场景下,性能相对要差。TiKV的MVCC实现是通过在Key后面添加版本号来实现当新写入的数据覆盖旧的数据时,旧的数据不会被替换掉,而是与新写入的数据同时保留,并以时间戳来区分版本。数据版本过多会占用大量空间,同时影响数据库的查询性能,GC的任务便是清理不再需要的旧数据。GC会被定期触发,默认情况下每10分钟一次。每次GC时,首先,TiDB会计算一个称为safepoint的时间戳(默认为当前时间减去10分钟),接下来TiDB会在保证safepoint之后的快照全部拥有正确数据的前提下,删除更早的过期数据。GC在执行过程中会删除大量数据,可能会对线上业务造成影响。可通过修改TiKV配置中的gc。maxwritebytespersec限制GCworker每秒数据写入量,降低对正常请求的影响,0为关闭该功能。TiDB实现了快照隔离(SnapshotIsolation,SI)级别的一致性。为与MySQL基本保持一致,又称其为可重复读。事务开始时获取starttimestamp,也是快照的版本号;事务提交时获取committimestamp,同时也是数据的版本号事务只能读到在事务starttimestamp之前最新已提交的数据事务在提交时会根据timestamp来检测数据冲突MySQL可重复读隔离级别在更新时并不检验当前版本是否可见,也就是说,即使该行在事务启动后被更新过,同样可以继续更新。这种情况TiDB会导致事务回滚,导致事务最终失败,而MySQL是可以更新成功的。Oceanbase默认ReadCommitted,通过MVCCTSO实现7、锁机制Tidb能检测到死锁并解除死锁,悲观锁和乐观锁都支持,默认悲观锁,悲观事务的行为和MySQL基本一致,在执行阶段就会上锁,先到先得,避免冲突情况下的重试,可以保证有较多冲突的事务的成功率。但如果业务场景本身冲突较少,乐观锁的性能会更有优势TiDB没有间隙锁,当无法保证符合过滤条件的数据唯一时,MySQL会锁住过滤条件能涵盖到的所有行:范围锁,全表锁。TiDB只会对读取到的行加锁。Oceanbase只有行锁,没有表锁只有写锁(X锁),没有读锁8、高可用性和扩展性TiDB计算、管理、控制节点,任意挂一个都对集群整体无影响两地三中心的架构下,网络延迟保证10ms以内,保证单中心失效的情况下,可以保证RPO为0,PTO30s,即业务不丢数据,业务能在30s内恢复,同时还有双中心方案,可以在同城双中心部署集群,做到同城双活。底层数据分片粒度较小,灵活度较强。TiKV、TiDB、PD都支持在线扩容、缩容,集群工作正常,业务不受影响Oceanbase至少3个zone,单个zone服务器宕机无影响。集群的资源扩容就是为每个Zone增加相应的节点。租户资源的扩容是通过调整其ResourceUnit的规格和数量来完成。9、数据库运维能力TidbTidb安装部署更为简单,架构清晰,利用tiup组件,半个工作日能搭建测试集群大表DML在亿级数据及索引存在的情况下,秒级对一段时间范围内的流水数据进行删除,同时对记录和表不造成任何影响。自主测试drop和truncate200万级别的表,tidb上耗时不到1s,mysql上要34sOnlineDDL针对包含亿级数据的表增加字段。在DDL进行的过程中对业务无影响。自主测试200万级别的表加列和减列,tidb上耗时不到1s,mysql上要69s加索引操作由于需要回填数据,因此执行时间略长。而在回填数据期间,需要将回填的数据写入TiKV,对TiKV会产生额外的写入压力,从而造成一些性能影响。对业务开发较为友善,业务如需经常发版,表结构可能也需要经常迭代,TiDB的相关功能可以较好满足商业敏捷性的要求。Oceanbase组件较多,有Unit、资源池、多租户多层机构,新的版本通过obd组件,0。5个工作日也能运行起来;OnlineDDL表建好后,主键不能更改。如果需要修改,只能删表重建。列类型修改有较大限制。Varchar长度只能由短变长,不能由长变短。索引生效时间较长,建议在建表时将索引语句一并纳入。
  10、最佳实践Tidb建表时避免设置递增主键,同时将大表配置Region打散,避免热点分区问题为了确保事务的ACOD,TiDB中的事务操作都需要经过两阶段提交,在TiDB最新发布的5。0中也使用了索引组织表、近似一阶段提交来降低因为频繁的网络交互致使延迟变高的影响,总体而言,在延迟要求严格的场景中,使用5。0中的关于延迟的优化,和小事务打包来获取极致的低延迟。STARTTRANSACTION;UPDATEmytableSETanewvalueWHEREid1;UPDATEmytableSETanewervalueWHEREid2;UPDATEmytableSETanewestvalueWHEREid3;COMMIT;目前单个事务大小限制在10GB,超过10GB的事务依然会报错,不过10GB的事务已经能够覆盖大多数场景了:客户端在提交之前,数据都写在内存中,而数据量过多时易导致OOM(OutofMemory)错误。在第一阶段写入数据耗时增加,与其他事务出现读写冲突的概率会指数级增长,容易导致事务提交失败。最终导致事务完成提交的耗时增加。为了使性能达到最优,建议每100~500行写入一个事务。事务对内存的占用可能会有34倍的放大,10GB大的事务可能会占用3040GB的内存。如果需要执行特别大的事务,需要提前做好内存的规划,避免对业务产生影响
  分布式选项建议与设想Tidb与Oceanbase相比,具备使用范围广,业界认可度高,社区更为成熟的优势。对于我司而言,当前的关注焦点不是TiDB或者OceanBase是否稳定可靠(据在和包的学长,和在福米的运维朋友反馈,Tidb在应对高并发和去Oracle时,表现都不错),而是怎么才能快速获取到TiDB或者OceanBase的最佳实践经验,将其纳入企业基础技术栈之内。Tidb最佳实践(和包马上消费的实践经验)使用NVME协议的SSD使用万兆网卡的服务器和交换机结合K8S容器云平台,降低硬件成本,马上消费作为国内第一家将所有TiDB都运行在Kubernetes容器云上的金融企业,将最小TiDB集群资源从6台服务器(pdserver与tidbserver混合部署)降低成了2podstidbserver、3podspdserver、3podstikvserver,硬件成本降低为原来的30左右(需要技术积累与多方面测试,节点数多的情况下更有效果)
  说明:本文来自专栏分布式数据库技术前瞻TiDB社区

农村老年人用什么方式存款,比较符合老人特点,取款较为方便?哈哈!那得什么样的老人?有余钱可存。农村过去交通不方便,所以,农村人存钱取钱,一般不亲自去银行或者当地信用社,办理,甚至贷款都是委托当地的信用代办员来办理的。我小时候,村里有人存钱邯郸市电动车三轮车在哪上牌照。需要什么条件?你好,我是邯郸文曲星,谢谢你的邀请,我来回来你提出的关于邯郸市电动三轮车在哪上牌?需要什么条件的问题。近期,邯郸市交管部门正在开展大力整治电动三轮车,电动老年代步车的专项行动,根据柳州的房价如何?柳州,广西壮族自治区重要的区域中心城市,广西工业名城历史名城文化名城旅游名城。作为国家三线城市以工业为主的柳州,要问2018年最火的是什么?那自然是楼市,因为柳州的楼市在2018年超10年的终身制员工如被公司裁员,如何赔,2N1吗?首先,要明确一个概念,那就是现在并不存在所谓的终身制员工,以前在日本有这种说法,但是现在已经逐步在取消了,国内的终身制员工无非是签订了无固定期限的劳动合同,但是签了这个合同并非就是菏泽都有哪些大学?山东省菏泽市是中国著名的牡丹之乡武术之乡书画之乡戏曲之乡民间艺术之乡。菏泽市一共有四所高校,其中本科高校是菏泽学院,三所专科高校,分别是菏泽医学专科学校,菏泽家政职业学院菏泽职业学如果高考分数只高一本线几分,是填一本还是二本院校呢?这种情况当然是一本二本都要填。超一本线几分的成绩,在一本线上是难以择到好专业的如果选择二本院校,则在选择学校专业时会有较大优势。当前各省都在陆续推进本科批次合并的改革,一二本院校的评职称时优秀班集体对普通老师有用吗?评职称时优秀班集体有用没用,关键看你们单位职称评审方案是如何界定的。如果评审方案有这方面的规定,那就可以给加分。如果没涉及到就不可能给加分了。首先,优秀班集体是集体荣誉,不是个人荣宁夏有哪些不错的高中?进入全国百强高中的有哪些?或许很多人不太了解宁夏当地有哪些不错的高中,毕竟宁夏地区深居内陆,经济和教育都远远不能与发达地区相比较。在国家的帮助下,宁夏的教育事业迎来了大的发展,一些实力突出的高中脱颖而出。宁2018保定事业单位考试含编制是指什么?事业单位现在越来越少,很多单位都从事业单位改成企业编制了。如果那个单位招人的职位上面写着含编制,就是说这个事业单位的岗位是属于国家在册的公务员岗位,你的工资是国家给出的,你的每笔收为什么有北南东京,唯独没叫西京的地方?一般来讲,今天我们说西京就是指西安。某京,主要与朝代兴起建都有关,事实上大都属于俗称,而非官方书面上的定名。换句话说,其实很多朝代都有双京,一个作为首都,一个作为预备首都,有时也叫有什么可以线上做的工作推荐吗?工资不用太高,一个月两千左右就可以,因为要考研?适合备考党,学生党的工作推荐(线上)随便说几个也就当给大家开拓思路1。英语英语过了六级的同学可以考虑做一些文档翻译,或者去找一些线上教育平台授课当英语老师。2。画图设计这个我觉得每
18年江苏22岁小伙网购生草乌,泡水喝后中毒身亡,卖家被罚180元二一八年七月七日,一个两鬓斑白的中年人急冲冲地赶到了江苏一家医院的抢救室门口。对不起,我们已经尽力了,但他还是错过了最佳的治疗时间。医生充满歉意地看着他。他承受不住瞬间瘫软在地,他智库揭底要勇敢面对所谓世界级美国海军的铁的事实一些事实远远超出了航空母舰的未来效用。海军的文化和领导层面,也在削弱美国海军的海上主导地位。美国现代国防新闻的一些状况,着实常常令人难过。例如,我给大家介绍国家利益的国防编辑克里斯Excel中,遇到这样的奇葩表格,我无计可施了,我裂开了就是这个奇葩表格表格看似很常规,有题目序号交叉桩号以及右侧的数量,而这里面最奇葩的就是序号序号并不是123连续的,而是无序的在序号后又重新增加了一组序号如1112等。先解释一下我是如何让自己一看就很高级?和穿得贵不贵无关,关键看4个细节文Nicolehi,我是Nicole,准备好一起变美了吗?经常看杂志的人会发现,很多日杂40以上的模特并没有多美,但是个个都看起来很高级很舒服。穿衣打扮可以让一个女人变漂亮,但是却昨天刷抖音,我哭肿了眼晴,太虐心了最近闲着没事,也学单位的小年轻刷刷抖音,打发时间找找乐子。可能是无意中点开了一条视频并且认真读完了文案,然后整个一下午,平台就给我连着推送了好多这样的视频。那是最近网上流行的写家书新能源混动技术百花齐放,谁与争锋!国产汽车新能源崛起比亚迪长城奇瑞吉利如今新能源汽车市场,各家主机厂混动技术层出不穷,如春秋战国时期儒家道家墨家法家等各学派百花争鸣,那作为消费者的我们如何去看待!下面简单了解下各家从多重利好,看德邦股份的成长逻辑导语行业竞争环境的好转,大件市场的高成长性,自身长期沉淀的核心能力,以及与控股股东京东的战略协同性,这些多重利好都让德邦股份的未来成长具有较大确定性。路言作者砺石商业评论出品1hr隔夜美股三大指数集体收跌汽车板块法拉第未来跌近68月31日美东时间周三,美股三大指数集体收跌,截止收盘,道琼斯指数跌0。88,报31,510。43点标普500指数跌0。78,报3,955。00点纳斯达克指数跌0。56,报11,8新能源汽车是鸡肉还是鸡肋新能源汽车,看起来省钱,所谓省钱是加油和用电省钱。费钱是换电池费钱,还有就是充电不方便,有时会找不到充电桩丢在路上!做为老百姓来说,新能源就是一个鸡肋,为啥这样说呢?因为现在的新能新能源,电动汽车的不道德随着技术的发展,传统石油类能源的有限生产,已经无法满足未来人们的需求。新型能源的代替已经是迫在眉睫。电动新能源汽车可以说是在传统能源上有了一个很好的发展,这是工业技术的又一次进步。人民币贬值!美元指数重回高位,中国这次为何迟迟不出招全球央行年会即将召开之际,美元竟然出乎世界的预料,重回20年来的高位,就在美元冲高的同时,韩元和人民币都降低,人民币汇率持续下跌,贬值逼近一美元兑换6。9元人民币,那么面对这种变化
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网