频道栏目
读书频道 > 其他 > 内存数据管理(第2版)
3.1 重点关注多核和主存
2012-08-22 15:04:30     我来说两句
收藏   我要投稿

本文所属图书 > 内存数据管理(第2版)

SAP创始人哈索教授在本书中提出了创新的概念:高性能的内存计算将改变企业的工作方式,并最终真正实现实时计算处理的许诺。内存计算技术将给以下三个相互关联的战略领域带来重大变革:降低总体拥有成本、创新应用...  立即去当当网订购
理想状态下,我们希望将企业的整个数据库安装到刀片服务器的单一刀片上,即安装到一台包含多个CPU 的主板和大型主存模块阵列的计算机上。这样可以简化SanssouciDB 的设计。但是,直到此书编写完成,市场上最大型的刀片也不支持我们这样做。因此,我们需要使用通过网络相互连接的多个刀片群集来达成所愿(见图3.1)。



3.1SanssouciDB 的物理架构
数据库系统要在这样的刀片群集上运行,前提是必须实现跨刀片的数据分割和存储。跨刀片管理数据使系统变得更加复杂,例如,必须使用可以跨刀片并且能并行访问分区的分布式查询处理算法。此外,通过网络访问数据的通信成本会高于通过本地刀片访问数据所造成的通信成本。最后,不同的数据分区策略将对查询性能和负载平衡产生影响。因此,我们需要不定期地重新分区,以实现更好的负载平衡,或适应特定的查询工作负载。
另一方面,群集架构也有众多优势:单一刀片法容易造成单点故障,而多刀片法则可带来高可用性。如果某个刀片意外出现故障,则备用刀片可以接管并加载故障刀片中的外部存储中的数据,并将这些数据从外部存储转移至主存中。如果没有备用刀片,则数据可以加载至群集中其余刀片的主存中(有关高可用性信息,请参阅第5.9节)。此外,多刀片法还支持横向扩展以防现有刀片数无法处理指定工作负载或数据量。在这种情况下,可以添加更多刀片,进一步分散数据和增强数据的并行处理(有关数据并行处理和可扩展性的信息,请参阅第4.2 节)。
选择使用多刀片系统作为硬件基础之后,接下来的问题是:是使用大量、性能较低的低端刀片还是使用少量、性能较强大的高端刀片呢?对于SanssouciDB,我们选择了后者,原因有两点:高端刀片更可靠(请参阅第5.9节),所需的数量更少,并且每个刀片都可以管理更大量的数据,支持更多的本地刀片数据处理,从而避免通过网络通信访问远程刀片中的数据而带来的高昂的通信成本。在我们的目标硬件配置中,标准刀片将拥有2 TB 的主存,且内核多达64 个。如果拥有25 个这种刀片,我们便可以处理全球最大公司的所有企业数据。
SanssouciDB 同时选用了无共享/共享内存的方法,即:在每个刀片上运行一个SanssouciDB 实例,每个实例负责处理特定分区中的数据。因此,从全局角度来看,我们将这种系统定性为“无共享”系统。但是,在单一刀片内,多个内核都会访问存储在刀片内存中的数据。因此,从局部来看,SanssouciDB 又是一个共享内存的系统(请参阅第4.2 节)。请注意,如图3.1 所示,所有刀片均与同一台非易失性存储设备相连,例如网络附加存储(NAS)或存储区域网络(SAN)。由此,用户可能会希望将该架构归类为共享磁盘。但是,对于SanssouciDB 而言,主数据副本十分重要。这是因为主数据副本保存在主存中,而不是非易失性存储设备中,所以我们还是将该系统归类为非共享系统。
为了高效利用此架构,SanssouciDB 在所有级别中都推行并行处理。其中包括分布式查询处理(在各刀片之间)、并行查询处理算法(在刀片的内核之间),甚至在处理器级别中利用特殊的单指令多数据(SIMD)指令。第4.2 节和第5.7节将详细介绍针对这种架构进行的并行处理。此外,在这两节中我们还会介绍SanssouciDB 中两个重要的分布式和并行查询处理算法。
设计内存系统时,必须考虑的一个重要因素是,刀片上高速缓存和主存的不同延迟时间。第4.1 节将详细阐述内存层次结构对内存数据管理的影响。最后,为了帮助提高性能,我们采用了基于闪存的存储解决方案,而未使用传统的硬盘,以确保持久性。
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:摘要
下一篇:3.2 内存数据库系统设计
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站