分布式数据库

全面讲解分布式数据库架构设计特点

坚强是说给别人听的谎言 提交于 2019-12-28 14:26:54
行业背景 随着全球经济下行压力增大,中美贸易摩擦愈演愈烈,美国一系列的经济制裁和技术封锁使得我们有种被扼住咽喉的感觉,数据库作为基础软件中的重要一环有着很深的技术含量,在这样的大背景下国产数据库厂商开始发力,这其中分布式数据库如雨后春笋般出现,良性的竞争环境使它们都得到了长足的发展,其中不乏优秀的产品,本文主要挑选目前几个相对成熟数据库进行架构特点介绍。 分布式数据库总体架构 其实分布式数据库总体设计有两个思路和方向,一个是基于共享存储的架构(share everything),另一个是基于数据分片的架构(share nothing)。 共享存储的架构特点是底层存储共用一份数据池子,上层数据库server层可以弹性扩展,典型的案例像DB2 purescale,Oracle RAC,阿里云PolarDB等,这种架构的好处是天然适合做云数据库,比如阿里云,上层的sql引擎可以是mysql也可以是pg,而且可以无限扩展,底层的存储其实是一起的,用户申请只是申请几个上层的mysql或者pg server同时在底层存储开辟一块空间给用户,这样的话可以做到资源的弹性伸缩。这种架构的数据库其实严格意义上不能称之为分布式数据库。 数据分片架构的特点是底层数据通过一定的规则比如hash或者range让数据打散分别分布到不同的数据节点上,计算时底层多个节点共同参与计算,可以算是一种mpp并行计算的架构

【巨杉数据库SequoiaDB】巨杉再获企业级认可,分布式数据库领跑“一亿中流”

心不动则不痛 提交于 2019-12-20 19:45:05
据全球最具权威的IT研究与顾问咨询公司 Gartner 预测,DBMS(数据库管理系统)市场从2017年到2018年增长了18.4%,达到461亿美元,这是有史以来最大幅的增长,并有望在2019年超过500亿美元。今年云DBMS收入增长至105亿美元,占DBMS总收入的22.8%,到2021年,预计云数据库管理系统(DBMS)收入将占DBMS市场总收入的50%。 另外,报告指出在面对高并发、海量数据、要求强一致且强大扩展能力的业务场景时,传统数据库已经无法满足需求,而分布式数据库能够应对此类场景。因此,分布式数据库产品逐渐成为企业服务领域最为关心的细分领域。 巨杉入选 “新一亿中流”榜单 近期,由创业黑马主办的第十二届创业家年会在北京举行, 一亿中流代表了营收达到亿元级别,科技创新领域的中流砥柱企业。 巨杉数据库作为业界领先的金融级分布式数据库厂商,入选大会《2019黑马TOP100:新一亿中流》重磅榜单。 大会主题“新一亿中流”,呼唤商业回归本质,主推深耕产业,不炒作估值,认真做营收和利润,真正创造价值的技术公司。 此次榜单入选企业有3大特征: 1.从产业中来,以实业为根基,代表产业互联网,用新模式、新技术来进行产业创新。 2.健康持续营收,不以炒作估值为目的,为用户提供实际价值。 3.运用AI、5G、大数据、区块链等新技术,和实体产业结合。 金融级市场认可

即将到来的“分布式云”(DPaaS):分布式计算+ DB +存储即服务【华为云技术分享】

微笑、不失礼 提交于 2019-12-10 15:46:22
我在区块链会议上就即将到来的公共“分布式云”系统进行了讨论,该系统将主流的公共云平台(如AWS,Azure,Google Cloud,Heroku等)与区块链和P2P网络相结合,比如以太坊,IPFS,EOS,TRON,NEM,NEO,Storj,Sia......为什么?因为分布式组织(DAO)和分布式计算的发展趋势很好,并且行业需要更强大的平台来构建和运行DApp(分布式应用程序)。 让我与大家分享一下我对未来分布式计算网络(也称为“分布式云平台”)的看法。 计算模型和软件系统一直在变化:从独立软件到客户端 - 服务器系统,再到基于云的基础架构和平台。现在,计算模型的下一个重大变革即将到来,它将影响许多行业:分布式,包括一种新型的分布式组织,执行分布式流程,使用分布式数据存储,分布式计算系统,运行和发展分布治理。区块链和其他分布式账本技术(DLT)以及即将推出的分布式数据库,存储系统和其他分布式计算组件将成为新的“分布式云”的核心,这将允许运行分布的IT基础架构和“软件组织” (DAO)在权力下放的治理下没有所有者,没有雇员。由于其透明性,安全性,可追溯性,降低成本和削减中间人的能力,这种区块链和分布运动为许多行业带来了创新和转型:财务,供应链,医疗保健,政府,预测,保险,流动性,投票, IT基础设施,电信和其他。 分布式计算的演变 计算模型发展:单机 - >数据中心 -

【巨杉数据库SequoiaDB】巨杉再获企业级认可,分布式数据库领跑“一亿中流”

穿精又带淫゛_ 提交于 2019-12-10 14:00:07
据全球最具权威的IT研究与顾问咨询公司 Gartner 预测,DBMS(数据库管理系统)市场从2017年到2018年增长了18.4%,达到461亿美元,这是有史以来最大幅的增长,并有望在2019年超过500亿美元。今年云DBMS收入增长至105亿美元,占DBMS总收入的22.8%,到2021年,预计云数据库管理系统(DBMS)收入将占DBMS市场总收入的50%。 另外,报告指出在面对高并发、海量数据、要求强一致且强大扩展能力的业务场景时,传统数据库已经无法满足需求,而分布式数据库能够应对此类场景。因此,分布式数据库产品逐渐成为企业服务领域最为关心的细分领域。 巨杉入选 “新一亿中流”榜单 近期,由创业黑马主办的第十二届创业家年会在北京举行, 一亿中流代表了营收达到亿元级别,科技创新领域的中流砥柱企业。 巨杉数据库作为业界领先的金融级分布式数据库厂商,入选大会《2019黑马TOP100: 新一亿中流》重磅榜单。 大会主题“新一亿中流”,呼唤商业回归本质,主推深耕产业,不炒作估值,认真做营收和利润,真正创造价值的技术公司。 此次榜单入选企业有3大特征: 1.从产业中来,以实业为根基,代表产业互联网,用新模式、新技术来进行产业创新。 2.健康持续营收,不以炒作估值为目的,为用户提供实际价值。 3.运用AI、5G、大数据、区块链等新技术,和实体产业结合。 金融级市场认可

【巨杉数据库SequoiaDB】巨杉再获企业级认可,分布式数据库领跑“一亿中流”

拈花ヽ惹草 提交于 2019-12-10 13:48:03
据全球最具权威的IT研究与顾问咨询公司 Gartner 预测,DBMS(数据库管理系统)市场从2017年到2018年增长了18.4%,达到461亿美元,这是有史以来最大幅的增长,并有望在2019年超过500亿美元。今年云DBMS收入增长至105亿美元,占DBMS总收入的22.8%,到2021年,预计云数据库管理系统(DBMS)收入将占DBMS市场总收入的50%。 另外,报告指出在面对高并发、海量数据、要求强一致且强大扩展能力的业务场景时,传统数据库已经无法满足需求,而分布式数据库能够应对此类场景。因此,分布式数据库产品逐渐成为企业服务领域最为关心的细分领域。 巨杉入选 “新一亿中流”榜单 近期,由创业黑马主办的第十二届创业家年会在北京举行, 一亿中流代表了营收达到亿元级别,科技创新领域的中流砥柱企业。 ​ 巨杉数据库作为业界领先的金融级分布式数据库厂商,入选大会《2019黑马TOP100: 新一亿中流》重磅榜单。 大会主题“新一亿中流”,呼唤商业回归本质,主推深耕产业,不炒作估值,认真做营收和利润,真正创造价值的技术公司。 此次榜单入选企业有3大特征: 1.从产业中来,以实业为根基,代表产业互联网,用新模式、新技术来进行产业创新。 2.健康持续营收,不以炒作估值为目的,为用户提供实际价值。 3.运用AI、5G、大数据、区块链等新技术,和实体产业结合。 ​ 金融级市场认可

MySQL海量数据分布式存储

心不动则不痛 提交于 2019-12-08 18:09:06
 本文只是一个概念,具体配置太多,这里不做细节描述。   1、分布式应用的概念和优势   分布式数据库是指利用高速网络将物理上分散的多个数据 存储 单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获得更大的存储容量和更高的并发访问量。近年来,随着数据量的增长,分布式数据库技术也得到了快速的发展,传统的关系型数据库开始从集中式模型向分布式存储,从集中式计算走向分布式计算。   分布式数据库系统的主要目的是容灾、异地数据备份,并且通过就近访问原则,用户可以就近访问数据库节点,这样就实现了异地的负载均衡。同时,通过数据库之间的数据传输同步,可以分布式保持数据的一致性,这个过程完成了数据备份,异地存储数据在单点故障的时候不影响服务的访问,只需要将访问流量切换异地镜像就行。   分布式数据库应用的优势如下:   (1)适合分布式数据管理,能够有效提高系统性能。   (2)系统经济性和灵活性好。   (3)系统的可靠性和可用性强。   2、mysql分布式应用的主要技术   (1)mysql数据切割   数据切割(sharding)是指通过某种特定的条件,将存放在同一数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。数据切分还可以提高系统的总体可用性,因为单台crash之后

第3篇:分布式数据库存储

只谈情不闲聊 提交于 2019-12-06 11:56:58
一、分布式数据库存储 在前面的章节;GreenPlum数据库是分布式架构数据库;表的数据分布在segment节点。那么表的数据根据什么策略来分布的? GreenPlum数据库性能依赖于跨数据节点均匀分布 GreenPlum数据库查询响应时间由所有数据节点完成时间来度量。系统只能跟最慢数据节点完成时间来决定。如果数据存储倾斜。一个数据节点比其他节点需要花更多的时间来处理数据,数据存储倾斜只会存在哈希分布的情况。 在GreenPlum数据库中;表关联查询最常见。若两个或者多个表关联的字段非分布键或者采用随机分布。在其他分布式架构这表之间的关系不是亲和表。要执行连接,匹配的行必须位于同一节点上。 如果数据未在同一连接列上分发,则其中一个表所需的行将动态重新分发到其他节点。 有些情况下,执行广播动作,每个节点将其各个行发送到所有其他节点上,而不是每个节点重新哈希数据并根据哈希值将行发送到适当的节点的重新分配。 是不是还有一种复制表?在GreenPlum6.0以上的版本支持复制表。正好避免2中的广播或者重分布动作。 二、分布策略 在GreenPlum数据库在创建表时可以指定分布策略:哈希分布( DISTRIBUTED BY )、随机分布( DISTRIBUTED RANDOMLY) 、复制分布 (DISTRIBUTED REPLICATED )。 哈希分布:需要指定分布键

【转帖】关于数据库中间件的思考

六眼飞鱼酱① 提交于 2019-12-03 15:16:50
作者:kimmking 链接:https://www.zhihu.com/question/352256403/answer/878523206 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 题主,恭喜你,你深入思考了一系列重要问题,作为一个开源技术人员+数据中间件的爱好者,试着回答一下题主的几个问题: 什么时候需要数据中间件,中间件能干什么 数据中间件的实现原理,有哪些开源数据中间件 为什么都是国内开源的,并且大都停止了更新 推荐使用什么数据中间件,有什么优势 一、什么时候需要数据中间件,中间件能干什么 就像题主说的那样,随着业务的发展,MySQL、Oracle数据库里的表越来越大,一两年以后,2千万、甚至上亿记录的表就会出现了(一般可以简单认为表比较复杂的时候,MySQL几百万上千万的时候,Oracle几千万的时候,就会出现复杂查询或变更有性能问题),这时候可能会导致复杂的查询慢,插入和修改数据慢,修改表的DDL执行太慢导致无法修改列类型或者加索引或者加字段等等。怎么办呢?这时候我们可以由几个处理办法: 历史表:按时间拆分历史表出去,降低数据量,这个以前比较常见,其实也是一种特殊的水平拆分,对业务有侵入性 垂直拆分:按列,将上百列的宽表拆分成多个列少(也就是每条记录数据量小)的表,不降低记录数,但是降低整个表的数据量和索引量大小 水平拆分

【入门教程】SequoiaDB+Postgresql数据实时检索最佳实践

杀马特。学长 韩版系。学妹 提交于 2019-12-03 11:23:21
1. 背景 SequoiaDB数据实时检索的能力体现在索引和数据切分的使用上,创建合适的索引能够快速查询到具备某一特征数据的能力;合理的切分方式能够提高数据查询性能。比如按时间,按地区去统计一些数据时,可以采用主子表的切分方式,将一个海量数据的集合切分成均匀的多个数据块,某些类型的查询性能就可以得到极大提升。 SequoiaDB作为分布式数据库,从设计之初就已经支持SQL访问。目前,SequoiaDB自研的SQL访问组件SequoiaSQL作为企业版的功能之一已经提供给上百家企业用户使用,并且已经实现分布式架构下的SQL 2003支持。 由于大部分开发人员及客户倾向于使用标准的SQL语句作为数据库操作的标准接口,SequoiaDB实现了与PostgreSQL的对接,使得开发者可以使用SQL语句访问SequoiaDB数据库,完成SequoiaDB数据库的增,删,查,改操作。对于SequoiaDB社区版用户,我们可以通过SequoiaDB对接PostgreSQL 实现社区版的分布式SQL访问。这一应用方式基本也可以满足大部分的社区版需求。 2. SequoiaDB与PostgreSQL对接结构 Pg与sdb对接架构图 Pg对接sdb步骤 · 先创建PostgreSQL本地数据库, · 在本地数据库中加载SequoiaDB连接驱动sdb_fdw · 基于sdb_fdw,创建server

分布式数据库中间件对比

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