分布式数据库

分布式数据库中间件sharding-jdbc、mycat、drds对比

给你一囗甜甜゛ 提交于 2020-02-22 13:58:06
一般对于业务记录类随时间会不断增加的数据,当数据量增加到一定量(一般认为整型值为主的表达到千万级,字符串为主的表达到五百万)的时候,性能将遇到瓶颈,同时调整表结构也会变得非常困难。为了避免生产遇到这样的问题,在做系统设计时需要预估可能产生的数据量:预估记录主体个数*预估记录主体产生的记录数(e.g.用户订单表预估数据量=预估用户数*单用户产生订单数),预估达到一定量时,就不得不考虑分库分表了,目前国内比较成熟的开源数据库中间件有sharding-jdbc、mycat;而drds是阿里云最近推出的商业产品,考虑到大部分公司都在使用阿里云,做一个全家桶,也是一个不错的选择。接下来将对这三款产品的优缺点及适用场景做以介绍。 可以看出sharding-jdbc作为一个组件集成在应用内,而mycat则作为一个独立的应用需要单独部署,drds则是阿里云的一个独立产品,不过需要结合rds一起使用。从架构上看sharding-jdbc更符合分布式架构的设计,直连数据库,没有中间应用,理论性能是最高的(实际性能需要结合具体的代码实现,理论性能可以理解为上限,通过不断优化代码实现,逐渐接近理论性能)。同时缺点也很明显,由于作为组件存在,需要集成在应用内,意味着作为使用方,必须要集成到代码里,使得开发成本相对较高;另一方面,由于需要集成在应用内,使得需要针对不同语言(java、C、PHP……

linux企业实战----大型网站架构概述

假装没事ソ 提交于 2020-02-19 14:19:41
目录标题 1. 网站架构演化发展历程 2. 使用缓存服务器改善网站性能 3. 使用应用服务器集群改善并发处理能力 4. 数据库读写分离 5. 使用反响代理和cdn加速网站响应 6. 使用分布式文件系统和分布式数据库系统 7. 使用nosql和搜索引擎 8. 业务拆分 9. 分布式服务 1. 网站架构演化发展历程 2. 使用缓存服务器改善网站性能   网站访问的特点和二八定律一样:80%的业务访问及中在20%的数据上。所以如果把这一部分数据缓存在内存中,可以减少数据库的访问压力,提高整个网站的数据访问速度,改善数据库的写入性能。   网站使用的缓存可以分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布缓存服务器上的远程缓存。   本地缓存的访问快一些,但受应用服务器内存限制,缓存数据量有限,远程分布式缓存可以使用集群(n)的方式,步数大内存的服务器作为专门的缓存服务器,理论上做到部首内存容量的限制的缓存服务。 缓存技术:   内容分发网络(CDN)反向代理   本地缓存 分布式缓存   使用前提:1. 数据访问热点不均匀 2. 是数据在某个时间段内有效,不会很快过期 3. 使用应用服务器集群改善并发处理能力   使用缓存后,数据访问压力得到有效的环节,但是单一应用服务器能够处理的请求链接有限,在网站高峰期,应用服务器称为整个网站的瓶颈。   使用集群是网站解决高并发

SQLite 学习资源汇总,Android/iOS/嵌入式开发必备

不打扰是莪最后的温柔 提交于 2020-02-14 13:17:22
文章目录 在线网站 开发工具 经典图书 程序驱动 衍生产品 SQLite 是一个纯 C 语言实现的自包含、无服务器、零配置、事务型的嵌入式 SQL 数据库引擎。 SQlite 是世界上安装最多的数据库,超过了 1 万亿次;所有的 Android、iPhone 手机和 iOS 设备、Windows10 系统、Firefox、Chrome、Safari 浏览器以及无数的嵌入式设备和 APP 应用都使用 SQLite 作为本地存储,编程语言 PHP 和 Python 自带 SQlite 支持。 SQLite 虽然小巧(几百 KB),但是支持 完整的 SQL 功能 ,非常值得我们学习和使用。本文整理了一些常见的 SQLite 学习资源,供大家参考。 我的博客也会定期更新关于数据库管理和 SQL 开发的实用文章,欢迎关注❤️、点赞👍、转发📣! 在线网站 SQLite 官方网站 - SQLite 官方网站,首选推荐。 SQLite 官方文档 - SQLite 官方文档,英文版。 SQLite 教程 - 编程狮(W3C) 上的 SQLite 教程。 SQLite 教程 - 菜鸟教程上的 SQLite 教程。 SQLite Tutorial - SQLite 英文教程,自带在线 运行环境 。 开发工具 sqlite3 - 官方提供的 SQLite 命令行工具,以及 使用手册 。 DB4S -

分布式数据库CAP原理+BASE

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-26 17:28:41
1:CAP理论核心 CAP理论的核心是:一个分布式系统不可能同时很好的满足 一致性,可用性和分区容错性 这三个需求, 最多只能同时较好的满足两个。 因此,根据CAP原理将NoSQL数据库分成了 满足CA原则、满足CP原则和满足AP原则 三大类: CA:单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。 CP:满足一致性,分区容忍必的系统, 通常性能不是特别高 。 AP:满足可用性,分区容忍性的系统, 通常可能对一致性要求低一些 。 CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以 分区容忍性 是我们必须需要实现的。所以我们只能在 一致性和可用性 之间进行权衡,没有 NoSQL系統能同时保证这三点。 C:强一致性 A:高可用性 P:分布式容忍性 CA:传统Oracle数据库 AP:大多数网站架构的选择 CP :Redis、Mongodb 注意:分布式架构的时候必须做出取舍。 2:一致性与可用性抉择 对于web2.0网站来说,关系数据库的很多主要特性却往往无用武之地。 数据库事务一致性需求: 很多web实时系统并不要求严格的数据库事务,对读一致性的要求很低,有些场合对写一 致性要求 并不高。允许实现最终一致性。 数据库的写实时性和读实时性需求: 对关系数据库来说,插入一 条数据之后立刻查询

华为云数据库亮相下一代数据技术发展论坛,助力“数字一带一路”

自作多情 提交于 2020-01-22 19:27:51
2019年11月15日,在河南省教育厅的指导下,由中国计算机行业协会与河南省大中专学生就业服务中心联合举办的“下一代数据技术发展论坛暨IT名企专场招聘会”在郑州隆重举行。华为云数位资深数据库专家出席大会,不仅带来了华为云数据库的创新与实践的诸多技术干货分享,而且还带来了众多热门高薪岗位,引起大会的强烈反响,得到河南省各高等院校师生的一致好评。 华为云数据库专家技术布道 “下一代数据技术发展论坛”将紧紧抓住先进计算、物联网、大数据、人工智能、5G、数据库等方向技术发展的契机,探索下一代数据技术发展的新方向,新模式,新业态。会议上,华为云数据库专家深入解读了华为云数据库在分布式数据库领域和数据迁移领域的技术创新,针对数据上云的核心诉求,如数据迁移、数据同步、数据灾备等场景的核心难题,给出了华为云数据库的应对思路和实践,对企业上云有着重要的指导意义和参考价值。 华为云数据库荣获“下一代数据技术最佳创新突破奖” 每年举办一届的“下一代数据技术发展论坛”中,组委会都会从先进计算、物联网、大数据、人工智能、5G、数据库等领域的会员单位中选出有突出贡献的企业进行表彰。在本次论坛中,华为云数据库荣获由组委会颁发的“ 下一代数据技术最佳创新突破奖”,表彰华为云在GeminiDB、TaurusDB等数据库上敢于创新,勇于突破。 本次论坛特别开辟了华为云专场,邀请了华为云数据库专家与会。会上

对话阿里云智能数据库事业部总负责人李飞飞:云数据库战争已经进入下半场

久未见 提交于 2020-01-16 05:35:59
【编者按】DTCC 2019已经结束,云栖社区沉淀了很多阿里巴巴所分享的优质演讲 整理稿件 。这篇转载自IT168&ITPUB执行总编老鱼的公众号,分享给大家。 李飞飞,现任阿里巴巴集团副总裁、高级研究员,阿里云智能数据库事业部总负责人。加入阿里巴巴之前为美国犹他大学计算机系终身教授。研究成果多次获得了IEEE ICDE、ACM SIGMOD最佳论文奖等重要学术奖项。 2018年,李飞飞加入阿里巴巴达摩院,带领团队投入到具有自主知识产权的研究当中。目前,带领的阿里云智能数据库事业部所研发的新一代分布式数据库系统,支撑了阿里巴巴集团的复杂业务、海量数据和双11交易洪峰的挑战,已经被应用于多个城市的智能城市交通网络管理,并服务了金融、零售、物流、制造等行业企业。 2018年,阿里云数据库成功进入Gartner数据库魔力象限,这是该榜单首次出现中国公司,近日,阿里云数据库再次入选Forrester数据库评估报告,成为国内首个获得两大顶级机构认可的科技公司。 2019年5月10日,DTCC 2019(第十届中国数据库技术大会)在北京举办,李飞飞来到现场发表了精彩的主题演讲,并在大会期间接受了IT168&ITPUB执行总编老鱼的深度专访,众多独特观点精彩纷呈。 透露两条信息: 1、PolarDB从去年10月开始商业化到目前,已经成为阿里云上增长最快的数据库产品; 2

[分布式数据库]数据分片

◇◆丶佛笑我妖孽 提交于 2020-01-14 19:42:51
学生阶段,但凡要做个“系统”,总绕不开的就是数据库。项目中的一些关键数据,通过持久化到数据库,保障系统的可靠性。我们接触最多的就是类似于Oracle、Mysql等数据库。 其实上了班,依旧还是没能绕过数据库,只不过不再单一的将数据存储在关系型数据库,更多的通过其他形式,例如NoSQL,以减少数据库的访问,但是NoSQL依旧无法对关系型数据库致命一击以完全替代关系型数据库,关键的数据持久化依旧还是要存放在数据库。随着国家号召自主可控,Oracle也需要渐渐从主流中剔除(成本和历史的必然)。但是这里还是要说一句,Oracle依旧是关系型数据库中的大佬,别的数据库都只能通过调优的形式去接近Oracle的处理能力却难以超越它。 文章目录 背景介绍 数据分片 垂直分片 水平分片 存在的问题 背景介绍 传统的将数据集中存储至单一数据节点的解决方案,在 性能 、 可用性 和 运维成本 这三方面已经难于满足互联网的海量数据场景。 性能 方面,由于关系型数据库大多采用B+树模型,导致数据量超过阈值的情况下,索引深度的增加导致磁盘IO访问次数增加,导致查询性能下降;同时高并发的访问请求也使得集中式数据库成为系统最大的瓶颈。 可用性 方面,服务化的无状态能达到较小成本的随意扩容,但是导致所有压力都落在数据库,单一架构甚至简单的主从模式已经无力支撑。 运维成本 方面考虑,当数据库达到单一数据库的阈值

【巨杉数据库SequoiaDB】省级农信国产分布式数据库应用实践

不打扰是莪最后的温柔 提交于 2020-01-10 17:12:21
本文转载自《金融电子化》 作者: 吉林省农村信用社联合社信息科技中心 总经理 孙刚、总经理助理 程永义 随着移动互联网的迅猛发展,分布式架构在互联网IT技术领域广泛应用并积累了大量实践经验。在互联网金融快速发展和利率市场化的大环境下,建设能够支持海量客户、具有弹性扩展能力、高效灵活的分布式架构应用系统已成为国内金融行业迫切的需要。 分布式数据库应用大势所趋 我社普惠金融平台建设,旨在“充分运用金融科技手段,优化信贷流程和客户评价模型,降低企业融资成本,纾解民营企业、小微企业融资难融资贵问题,增强金融服务实体经济能力”。 普惠金融服务是典型的互联网应用,其与传统信贷系统不同,具有互联网场景接入能力,如果沿用集中式的技术架构,在应对海量客户的互联网应用场景和总拥有成本等方面存在以下的潜在问题: 集中式架构普遍缺乏弹性伸缩的能力。随着交易量和数据量的增长,系统整体吞吐量会遇到硬件或技术的瓶颈。尤其在支持面向互联网客户相关业务时,不能有效处理瞬时爆发的高并发交易,制约了客户获取以及大规模业务营销。 集中式架构采用单体应用设计。软件开发和运行管理的最小单元是应用,管理力度较粗,容易“牵一发而动全身”,应用的开发过程不易践行轻量化敏捷开发理念,系统在运行过程中容易出现单点故障,难以有效进行故障隔离。 集中式架构系统的基础设施通常使用高端服务器和存储设备,以及传统关系型数据库

【巨杉数据库SequoiaDB】省级农信国产分布式数据库应用实践

混江龙づ霸主 提交于 2020-01-10 11:36:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文转载自《金融电子化》 作者: 吉林省农村信用社联合社信息科技中心 总经理 孙刚、总经理助理 程永义 随着移动互联网的迅猛发展,分布式架构在互联网IT技术领域广泛应用并积累了大量实践经验。在互联网金融快速发展和利率市场化的大环境下,建设能够支持海量客户、具有弹性扩展能力、高效灵活的分布式架构应用系统已成为国内金融行业迫切的需要。 分布式数据库应用大势所趋 我社普惠金融平台建设,旨在“充分运用金融科技手段,优化信贷流程和客户评价模型,降低企业融资成本,纾解民营企业、小微企业融资难融资贵问题,增强金融服务实体经济能力”。 普惠金融服务是典型的互联网应用,其与传统信贷系统不同,具有互联网场景接入能力,如果沿用集中式的技术架构,在应对海量客户的互联网应用场景和总拥有成本等方面存在以下的潜在问题: 集中式架构普遍缺乏弹性伸缩的能力。随着交易量和数据量的增长,系统整体吞吐量会遇到硬件或技术的瓶颈。尤其在支持面向互联网客户相关业务时,不能有效处理瞬时爆发的高并发交易,制约了客户获取以及大规模业务营销。 集中式架构采用单体应用设计。软件开发和运行管理的最小单元是应用,管理力度较粗,容易“牵一发而动全身”,应用的开发过程不易践行轻量化敏捷开发理念,系统在运行过程中容易出现单点故障,难以有效进行故障隔离。

杉岩数据非结构化数据存储解决方案

会有一股神秘感。 提交于 2019-12-31 22:38:01
传统的银行、保险行业的人工柜台、信贷申请、承保和理赔等业务除了在数据库中记录交易信息,往往也会产生大量的非结构化数据:身份证照片、纸质文件扫描件、取证文件扫描件、现场照片等,依据金融行业相关法规要求,这些文件需长期保存,以便于后督审计和避免可能存在的法律风险。 随着互联网金融的迅猛发展,金融行业的竞争日趋白热化,越来越多的金融公司希望金融科技能够帮助企业降低揽客成本和客户服务成本,提升办公效率和风险评估效率。为此,各大金融机构竞相实施金融科技项目,如:智能化柜台,降低营业网点业务开通成本;无纸化柜台,提升柜台工作和服务效率;理赔智能手机客户端,提升用户理赔效率;智能化信贷审核,提升风险评估效率,降低人力投入成本;基础架构云化、容器化,提升基础资源的利用和管理效率等。 这些新型金融科技的背后,显而易见地会产生海量的图片、文档、音频和视频等非结构化数据,其文件个数和数据量都呈现爆发性增长,对原有的存储系统架构带来了更多的新挑战。 海量非结构化数据带来的挑战 对业务部门来说,海量小文件的访问性能至关重要,直接关系到终端用户的体验,而一个股份制银行省分行的柜台系统、信贷系统每年会新增上亿个文件,大量小文件对文件存储是一大挑战,而很多银行已经在考虑如何实现文件大集中。 而随着VTM(远程虚拟银行服务系统)、双录系统的上线,存储容量需求高速增长,如保险公司银保的双录数据半年即可增加数百TB数据