对象从一个节点移动到另外一个节点,这是分布式系统的一个显著特点。这样就产生了新的问题,即对象迁移问题。另外一个问题是必须跟踪对象移动,以便能在其新地点找到该对象。处于激活或等待的对象不允许迁移,否则,会被阻塞。因为对象移动时,必须更新系统目录,以反映新的位置。组合对象的移动会涉及其参考的其他对象的移动,如对象组装方法。......
2025-09-30
关系型数据库的性能非常高,但是它毕竟是一个通用型的数据库,并不能完全适应所有的用途。具体来说,关系型数据库并不擅长处理以下事务。
●大量数据的写入处理。
●为有数据更新的表做索引或表结构变更。
●字段不固定时的应用。
●对简单查询需要快速返回结果的处理。
为了弥补这些不足,出现了NoSQL数据库。关系型数据库应用广泛,能进行事务处理和JOIN等复杂处理。相对地,NoSQL数据库只应用在特定领域,基本上不进行复杂的处理,但它恰恰弥补了之前所列举的关系型数据库的不足之处。(https://www.chuimin.cn)
如前所述,关系型数据库并不擅长大量数据的写入处理。关系型数据库的语义依靠表之间的连接(JOIN)来表达,即是以连接为前提的,也就是说,各个数据之间存在关联是关系型数据库得名的主要原因。为了便于进行JOIN处理,关系型数据库往往选择把数据存储在同一个服务器内,这不利于数据的分散。相反,NoSQL数据库原本就不支持JOIN处理,各个数据库都是独立设计的,很容易把数据分散到多个服务器上。由于数据被分散到了多个服务器上,所以减少了每个服务器上的数据量,即使要进行大量数据的写入操作,处理起来也更加容易。同理,数据的读入操作也一样容易。
如果想要使服务器能够轻松地处理大量的数据,那么只有两个选择:一是提升性能,二是增大规模。下面分析这两者的不同。一方面,提升性能是指通过提升现行服务器自身的性能来提高处理能力。这是非常简单的方法,程序也不需要进行变更,但需要一些费用。若要购买性能翻倍的服务器,需要花费的资金往往不只是原来的2倍,可能需要5~10倍。这种方法虽然简单,但是成本较高。另一方面,增大规模指的是使用多台廉价的服务器来提高处理能力。它需要对程序进行变更,但由于使用廉价的服务器,所以可以控制成本。
NoSQL数据库是为了“使大量数据的写入处理更加容易(让增加服务器数量更容易)”而设计的。
NoSQL数据库虽在处理大量数据方面很有优势,但实际上NoSQL数据库也有各种各样的特点,如果能够恰当地利用这些特点,就会非常有用。例如,希望顺畅地对数据进行缓存(cache)处理、希望对数组类型的数据进行高速处理、希望进行全部保存等。
一般把NoSQL数据库分成键值存储数据库、面向文档的数据库、列存储数据库和图数据库等四类。
相关文章
对象从一个节点移动到另外一个节点,这是分布式系统的一个显著特点。这样就产生了新的问题,即对象迁移问题。另外一个问题是必须跟踪对象移动,以便能在其新地点找到该对象。处于激活或等待的对象不允许迁移,否则,会被阻塞。因为对象移动时,必须更新系统目录,以反映新的位置。组合对象的移动会涉及其参考的其他对象的移动,如对象组装方法。......
2025-09-30
图5.6以网络为中心的计算驱动力量、增长领域与示例值得注意的是,美国国防部的Net-Centric的数据策略是从用户出发考虑的。根据DoD的描述:以网络为中心是指实现一个联网环境,包括基础设施、系统、过程和个人,使之能够按照完全不同的方式实施战斗和商务活动。以网络为中心的基础是GIG。以网络为中心,通过安全互联时间或地点独立的人和系统,充分支持军事态势知识的改进和更好地访问商务信息,大大缩短了决策周期。......
2025-09-30
图12.7同一进程中的COM组件在目前的常规操作系统中,各进程之间是相互屏蔽的。图12.8表明了COM/DCOM运行库是怎样提供客户进程和组件之间的联系的。图12.8不同进程中的COM组件当客户进程和组件位于不同的机器时,DCOM只是用网络协议来代替本地进程之间的通信。图12.9DCOM不同机器上的COM组件要注意的是,在设计一个分布式应用时,往往需要考虑以下几个相互冲突的问题。......
2025-09-30
前面提及的OPS是Oracle 6.0中引入的,RAC源自OPS,但作为新的产品推出。一个4节点的集群结构如图14.24所示。图14.24一个4节点的集群结构RAC起源于OPS,在Oracle 6.0.35版本中引入。最初只适用于Digital VAX/VMS集群使用Oracle开发的分布式封锁管理器。从Oracle 9.0.1开始,OPS重新改为RAC可选项。在商业上,RAC已是一个完整的新产品。然而在技术上,OPS和RAC的一个重要区别是超高速缓存相关性。OPS里,实例间的块协调由PCM处理。Oracle 8i引入了Cache Fusion PhaseⅠ,部分淘汰了磁盘ping。......
2025-09-30
DBaaS可以提供弹性和资源池。使用DBaaS,用户可以在建立和维护基础体系结构时节约成本,减少延迟。DBaaS对支持的业务类别无限制要求,业务大小也无限制。1)安全的数据库环境DBaaS有助于保护数据库,防止数据被盗,保证可信性和完整性,阻止非授权或非故意的活动、黑客攻击,或者滥用非授权用户。目前绝大多数DBaaS都能自动调节参数,以保证提供良好的性能。让他们就地实现全球范围内的协同工作是对DBaaS的要求。......
2025-09-30
图3.1软件开发过程数据库设计的过程与软件开发的过程类似。下面先来看一下集中式数据库设计的情况。在分布式数据库系统中,集中式数据库设计的问题依然存在,且有以下两个新的问题需要考虑。这个过程就是确定如何将全局关系划分成水平、垂直或者混合的数据片。数据片的分配,即决定数据片如何映射到物理镜像上,决定如何复制数据片。数据片的分配问题则研究已久,当然,过去研究的则是“文件分配”问题。......
2025-09-30
数据库在建立、运行和维护时,由数据库管理系统统一管理和统一控制。数据库管理系统可以使用户方便地定义数据和操纵数据,并能够保证数据的安全性和完整性、多用户对数据的并发使用及发生故障后的系统恢复。完整性规则是给定的数据及其联系所具有的制约和存储规则,用以限定符合数据库状态及状态的变化,以保证数据的正确性、有效性和相容性。同时,程序与现有存取结构的联系过于密切,也大大降低了数据的独立性。......
2025-09-30
查询优化的本地化分层聚焦于将查询转换成本地数据。一个全局关系可以通过应用重构规则来重构,从而导出一个关系代数程序,其操作数是数据片,这个程序称为本地化程序。将分布查询分配到节点上的自然办法是生成查询,让每个全局关系使用本地化程序来代替。这可以看成是在一棵分布查询的算符树上将叶子用与本地化程序对应的子树来替代。数据水平分片关系的连接也可以简化。......
2025-09-30
相关推荐