什么是分布式数据库结构

什么是分布式数据库结构,第1张

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

请高人请点迷津

解析:

分布式软件系统(Distributed Sofare Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式 *** 作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。

分布式 *** 作系统负责管理分布式处理系统资源和控制分布式程序运行。它和集中式 *** 作系统的区别在于资源管理、进程通信和系统结构等方面。

分布式程序设计语言用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性。

分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。

分布式数据库系统由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来 *** 纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。

---------------

分布式数据库系统是由若干个站 而成。这些站又称为节点,它们在通讯网络中联接在一起,每个节点都是一个独立的数据库系统,它们都拥有各自的数据库、中央处理机、终端,以及各自的局部数据库管理系统。因此分布式数据库系统可以看作是一系列集中式数据库系统的联合。它们在逻辑上属于同一系统,但在物理结构上是分布式的。

分布式数据库系统已经成为信息处理学科的重要领域,正在迅速发展之中,原因基于以下几点:

1、它可以解决组织机构分散而数据需要相互联系的问题。比如银行系统,总行与各分行处于不同的城市或城市中的各个地区,在业务上它们需要处理各自的数据,也需要彼此之间的交换和处理,这就需要分布式的系统。

2、如果一个组织机构需要增加新的相对自主的组织单位来扩充机构,则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。

3、均衡负载的需要。数据的分解采用使局部应用达到最大,这使得各处理机之间的相互干扰降到最低。负载在各处理机之间分担,可以避免临界瓶颈。

4、当现有机构中已存在几个数据库系统,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库系统。

5、相等规模的分布式数据库系统在出现故障的几率上不会比集中式数据库系统低,但由于其故障的影响仅限于局部数据应用,因此就整个系统来讲它的可靠性是比较高的。

特点

1、在分布式数据库系统里不强调集中控制概念,它具有一个以全局数据库管理员为基础的分层控制结构,但是每个局部数据库管理员都具有高度的自 。

2、在分布式数据库系统中数据独立性概念也同样重要,然而增加了一个新的概念,就是分布式透明性。所谓分布式透明性就是在编写程序时好象数据没有被分布一样,因此把数据进行转移不会影响程序的正确性。但程序的执行速度会有所降低。

3、集中式数据库系统不同,数据冗余在分布式系统中被看作是所需要的特性,其原因在于:首先,如果在需要的节点复制数据,则可以提高局部的应用性。其次,当某节点发生故障时,可以 *** 作其它节点上的复制数据,因此这可以增加系统的有效性。当然,在分布式系统中对最佳冗余度的评价是很复杂的。

分布式系统的类型,大致可以归为三类:

1、分布式数据,但只有一个总 据库,没有局部数据库。

2、分层式处理,每一层都有自己的数据库。

3、充分分散的分布式网络,没有中央控制部分,各节点之间的联接方式又可以有多种,如松散的联接,紧密的联接,动态的联接,广播通知式联接等。

---------------------

什么是分布式智能

NI LabVIEW 8的分布式智能结合了相关的技术和工具,解决了分布式系统开发会碰到的一些挑战。更重要的是,NI LabVIEW 8的分布式智能提供的解决方案不仅令这些挑战迎刃而解,且易于实施。LabVIEW 8的分布式智能具体包括:

可对分布式系统中的所有结点编程——包括主机和终端。尤为可贵的是,您可以利用LabVIEW图形化编程方式,对大量不同类型的对象进行编程,如桌面处理器、实时系统、FPGA、PDA、嵌入式微处理器和DSP。

导航所有系统结点的查看系统——LabVIEW Project Explorer。您可使用Project Explorer查看、编辑、运行和调试运行于任何对象上的结点。

经简化的数据共享编程界面——共享变量。使用共享变量,您可轻松地在系统间(甚至实时系统间)传输数据且不影响性能。无通信循环,无RT FIFO,无需低层次TCP函数。您可以利用简单的对话完成共享变量的配置,从而将数据在各系统间传输或将数据连接到不同的数据源。您还可添加记录、警报、事件等数据服务――一切仅需简单的对话即可完成。

实现了远程设备及系统内部或设备及系统之间的同步 *** 作——定时和同步始终是定义高性能测量和控制系统的关键问题。利用基于NI技术的系统,探索设备内部并编写其内部运行机制,从而取得比传统仪器或PLC方式下更为灵活的解决方案。

--------------------

在分布式计算机 *** 作系统支持下,互连的计算机可以互相协调工作,共同完成一项任务。

也可以这么解释:

一种计算机硬件的配置方式和相应的功能配置方式。它是一种多处理器的计算机系统,各处理器通过互连网络构成统一的系统。系统采用分布式计算结构,即把原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调,共享系统的外设与软件。这样就加快了系统的处理速度,简化了主机的逻辑结构

易游贝贝祝你好运

你问的这个架构方式,是目前最典型、最常见的多层架构。

举一个最简单的例子:

假设某公司要部署一个办公自动化系统(OA),系统是采用的ASPNET开发的,数据库是SQL Server 2005。该公司有2台Windows 2008服务器,其中一台A上安装数据库SQL Server 2005, 另外一台B上安装OA系统。公司的员工通过浏览器来访问位于服务器B上的OA系统。

那么Docker是什么呢

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

这是对Docker的一个官方解释,简单说,有两个部分:

1) 对于应用程序,曾经我们需要为了不同的系统专门的调整应用程序的代码或者是构造相应的依赖包驱动等等,大大增加了开发量以及开发的难度。现在,Docker向不同的应用程序,提供了一个统一的环境。

2) 对于服务器,为了支持不同版本的应用,曾经可能需要在物理机上安装多个版本或者不同的GuestOS或者说虚拟机。这就大大占用了物理机的性能,影响了最终程序的表现,提高了资源的成本。

使用Docker容器的方式,对于应用程序,不需要开发多种多样的版本或者是针对OS每个版本的升级再进行代码方面的调整,实现了广泛的兼容性和开发的最简性。同时对于物理机,部署的环境“瘦身”也节约了更多的资源,将更多的资源用于提高应用程序本身的性能。

CoreOS是Docker的不二之选

之前大概介绍了Docker,那么服务器上面还是需要最基本的应 *** 作系统才能支撑Docker容器,那么这么多中的Linux内核OS究竟哪一个好呢笔者和很多Docker技术专家的的观点就是Core OS。

CoreOS是一个基于Linux 内核的轻量级 *** 作系统,为了计算机集群的基础设施建设而生,专注于自动化,轻松部署,安全,可靠,规模化。作为一个 *** 作系统,CoreOS 提供了在应用容器内部署应用所需要的基础功能环境以及一系列用于服务发现和配置共享的内建工具。

简单说,CoreOS去掉了大量的非必要的功能,只保留了Server端需要的最基本功能,真正意义做到了“轻量化”。

此外,CoreOS还做到了:整体系统升级/回滚方案;容器化所有非系统应用、无包管理器;集群化调度器Fleet;分布式高可靠的KV存储系统ETCD

这些特性都让它成为Docker生态的首选 *** 作系统。不过最新的消息是,CoreOS不满足于做Docker生态下的一环,它正在推出自己的容器AppC计划,想对Docker来一招“釜底抽薪”。当然,现阶段并没有出现完全的两者 “分手”,所以对于普通使用者,并没有太大影响。

Docker+分布式数据库

数据库是每一个软件项目必须的一个部分,作为这样的一类底层基础软件,兼容性、通用性、易用度都是需要考虑的重点。非常遗憾的是,现在的 *** 作系统以及数据库都没有完全的实现完全的通用。特别对于NoSQL数据库这样的分布式系统,需要部署在多台物理机时,对于通用性要求就更高了。

目前,像SequoiaDB已经实现了自动化的安装,大大提升了部署的效率,但是考虑到部署之后的配置以及不同环境下的调试问题,仍然可能会耗费不小的人力物力。所以基于刚刚提到的Docker的优点,作为一个通用的基础软件,NoSQL数据库的Docker化就成了必须。

一个简单的例子,你可以用docker把数据库的数据与数据库程序本身分离开:用一个container A作为数据存储,然后另一个container B运行数据库。当你想升级数据库时,用新的container C替换掉container B即可。

Docker+分布式数据库的结合,带来诸多的好处:

1) 部署简单,使用镜像部署非常简单,特别是对集群环境,使用Docker镜像的部署还可以再数据库上提前集成Hadoop、Spark等架构,真正实现“一步到位”。

2) 方便应用的更新,应用的更新只需要考虑制作一个新的镜像就可以与容器适配,无需重新再调整与底层的配置。数据和程序的分离,这样升级替换等等都不会影响到数据。

3) *** 作简单方便,除了底层免除了复杂的与环境进行配置的工作, *** 作也更加方便,配置好的Docker镜像在部署时候只需要一条指令就可以了。

4) 开发、应用环境一致,Docker让数据库能做到 开发---测试---实施应用 三个阶段的环境是完全一致的。降低开发到应用过程中的工作量,开发出来就能保证实际应用环境上能同样的运行。

5) 系统稳定,因为Docker的隔离作用,将应用与OS独立开,这样能更好保证整个系统的稳定性。

6) 节省系统资源,系统只需要运行一个统一的环境就可以,不需要占用太多性能去支持运行环境本身,能将更多的系统资源投入到应用当中。

有了这些特性, Docker+数据库,将成为一个数据库发展的新方向,Docker这样的通用性和简单 *** 作解决方案,大大提高了数据库使用的效率,帮助使用者节约了大量成本。

Docker是如今技术圈的新潮流,开发人员是最乐见于Docker的这种应用部署模式,因为应用的生命周期起始于开发人员的开发系统,经过开发,测试,压力测试,等过程,最终应用发布到生产系统,并可能在不同的生产系统中迁移。应用开发人员对此都会有切身的体会,任何微小的运行环境的错误都会导致应用出现问题,尤其在讲究快速敏捷的今天,应用模块,新的代码,新的配置,被快速的加入应用的环境中,可能还没等写入到文档,新特性就已经被推送到生产上了。作为一个新的技术,笔者也希望更多的产品能加强与Docker的结合,帮助产品更好的使用。

博文出处:>

WPS成功上市代表了信息化企业软件国产化的趋势。在雷涛看来,WPS不是简单复制后替代Windows office,而是找到了下一代产品需求。

以往无论是运营商还是银行核心系统,大架构都垄断在西方的 IOE(IBM、Oracle、EMC)这三座大山里。直到2008年阿里提出去“IOE”运动,开始助推信息化软件国产化浪潮。

天云数据就是其中最早一批入场者。2010年为了建立中国完整的云计算产业链,中国宽带之父田溯宁投资建设云基地,天云数据便由此孵化,初备雏形。

2015年,雷涛带领创始团队们正式成立天云数据,率先切入金融领域。天云提供了国内领先的国产HTAP数据库Hubble,完成了“去IOE”中最困难的部分,替代金融A类核心系统惯用的西方IOE架构,在银行的联机事务中解决A类核心系统减负问题。此外,为了降低AI使用门槛,天云数据还推出AI PaaS平台MaximAI,逐步将数据价值逐渐扩展到能源、医药、军事等其它行业。

目前天云数据有70多家行业内大企业客户,单笔合同200-500万,纯软件年营收过亿。

融资方面,天云数据2018年曾获得曦域资本、华映资本B轮1亿人民币投资。

作为行业老兵,雷涛在北美跨国公司有20多年的技术管理经验, 2005年便入席SNIA存储工业协会中国区技术委员会联合主席,CCF中国计算机学会大数据专委会委员。

2011年在云基地时期,雷涛和创始团队通过BDP大数据平台负责了众多运营商业务,如联通的数据魔方、移动总部、南方基地等,2015年天云数据正式独立后,雷涛为了避免同业竞争,选择先聚焦在金融领域。

“天云数据的目标是替代 Oracle 和 SAS ”。云基地时期的积累让天云数据一开始就有高起点,首单就接下了光大银行的核心系统——OLTP线交易系统。比如银行能在全国所有营业厅实时实现OOTD交易,实时查询存钱取钱数额,整个环节涉及的技术都是天云数据早期对Oracle的一些替代。

但之后在多次的项目 *** 作过程中雷涛发现,在几百万条交易规格的强一致性下,数据的移动性、计算框架的变化、联机事务同时要做大规模并行计算,这对计算场景的通用性、即时性和全量数据要求极高,传统 Oracle架构根本无法适应。

“在Oracle架构之上,还需要升级满足新需求”。

于是天云数据自主研发HTAP国产分布式数据库Hubble。与传统 IT 架构处理失误需要联机分析和分开处理不同,HTAP 数据库能够在一份数据上同时支撑业务系统运行并做 OLAP 场景,避免在线与离线数据库之间大量的数据交互,为系统减负。

HTAP国产分布式数据库Hubble替代了Oracle一体机,核心表2000余张80T左右、400亿条交易数据、提供56只服务应用交易、满足500个用户并发、500ms交易服务响应、每天在线交易量超200万、占整个银行核心交易量的10%,让银行面向柜面系统可提供78小时A类实时核心交易,面向手机网银系统可提供724小时A类实时核心交易。

从集中式Oracle切换到分布式HTAP,也解决了数据库扩展性的问题。比如天云数据让光大银行解决了 历史 数据查询问题,以往 历史 查询只能查到2年前,但在分布式技术上线后,可以查询15年前所有交易数据,同时让银行柜面系统以及手机APP可以无数人同时查询。

而在BI逐步转向AI的过程中,复杂的商业流程经算法重构。过去要把数据拿到SAS平台先分析,一层一层地把数据提出来搭建。但现在通过分布式技术,流程趋于扁平化,可以实现毫秒级的服务响应。

天云数据一开始就撬动的是行业头部资源。目前天云数据有光大银行、兴业银行、中信银行、中泰证券、中国石油、国家统计局等70余家行业内大企业客户,分布在金融、能源、医药、政府军事等领域,单笔合同级别超百万

针对每个垂直行业,天云数据都会成立一个子公司来专注赛道。目前天云数据有160人,技术人员超六成。

在雷涛看来,如果一年600个项目,全是5万、15万等碎片化的订单,公司总是重复满足初级客户的简单需求,技术很难沉淀和深入。“在当下成长阶段,打造产品需要在用户想要什么和你想做什么中找到平衡”。

对于雷涛而言,专注头部大B发展有两大发展潜力。一方面,大B拥有机器学习的普遍能力和实验室,更容易接受新产品。另一方面,天云数据交付产品和交付服务的同时也在转移大B客户的数据价值。

“AI本身是一个知识生产过程,它能把大型企业规则、流程的经验价值快速地抽样出来进行复制,赋能行业内其它客户甚至类似的其它行业。”

但在头部客户更定制化、个性化的情况下,天云数据是否失去了很强的复制能力?

雷涛解释到,虽然每个企业要求不尽相同,但都在不大的池子里找数据库。企业从海量数据中对数据进行迁徙、清洗、去重,可以去找合适的AI方法让它产生业务的价值,此过程具有通用性。

谈到核心壁垒,雷涛认为天云数据壁垒就是数据的复制价值。

壁垒的构建可分为两个阶段。第一个阶段是前沿 科技 本身的壁垒,比的是效率和产品核心价值,谁能够扎得深和更好的交付,谁就能拔得头筹。而作为国内最早研发大数据和人工智能的团队,天云数据有一定的技术先发优势。

第二个阶段是推理端的服务。数据资源的价值需要通过机器学习进行提炼,形成知识,进而封装成推理服务服务于行业。比如某保险公司20年长周期发生的重疾赔付定价上学习出来的特征和内容能够快速地移植到保险行业,而头部大企业客户给天云数据带来很优质的训练数据库。

未来AI将引爆万亿级大市场,但目前渗透率不到1%,这给各企业留有众多机会和想象空间。但无论哪种圈地方式,最终比的是速度、服务的稳定性以及产品化的能力。

当前做分布式的厂商有几家,我知道比较出名的有“华为云分布式数据库DDM”和“阿里云分布式数据库”,感兴趣可以自行搜素了解下。

分布式数据库的几点概念可以了解一下。

数据分库:

以表为单位,把原有数据库切分成多个数据库。切分后不同的表存储在不同的数据库上。

以表中的数据行记录为单位,把原有逻辑数据库切分成多个物理数据库分片,表数据记录分布存储在各个分片上。

路由分发:

在分布式数据库中,路由的作用即将SQL语句进行解析,并转发到正确的分片上,保证SQL执行后得到正确的结果,并且节约QPS资源。

读写分离:

数据库中对计算和缓存资源消耗较多的往往是密集或复杂的SQL查询。当系统资源被查询语句消耗,反过来会影响数据写入 *** 作,进而导致数据库整体性能下降,响应缓慢。因此,当数据库CPU和内存资源占用居高不下,且读写比例较高时,可以为数据库添加只读数据库。

以上就是关于什么是分布式数据库结构全部的内容,包括:什么是分布式数据库结构、数据库分布式部署 B/S架构的系统怎么实现、如何实现 Docker 与分布式数据库结合等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9301564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存