当前位置: 首页 > 科技观察

Oracle12cR2:使用sharding技术提升分布式性能

时间:2023-03-11 22:29:31 科技观察

最近发布的Oracle12cR2版本支持数据库分片功能。该功能旨在提升甲骨文旗舰数据库在云架构环境下的性能。有利。提高云环境中的数据可扩展性对Oracle来说非常重要,因为Oracle在从内部构建环境迁移到云环境的过程中会承担更多的负载,同时需要更低的成本。Oracle分片利用了NoSQL数据库的优势,例如Cassandra、MongoDB和AmazonDynamoDB。这些数据库以及其他一些NoSQL数据库都支持分片技术,该技术允许数据库跨多个服务器水平部署。这项技术并不局限于NoSQL,在很多主流关系型数据库中也有支持,比如PostgreSQL、MySQL数据库。“亚马逊多年来一直在使用分片技术,”甲骨文数据库服务器技术执行副总裁AndrewMendelsohn在2016年甲骨文全球大会上的Oracle数据库路线图讨论中说。然而,他指责亚马逊的实施需要太多的人为干预。有许多分片方案需要应用程序代码来控制许多活动。Mendlesohn说,甲骨文使用原生数据库分片架构,这减少了数据库管理系统的控制工作并节省了开发时间。他补充说,甲骨文最初的战略是支持跨越一千台服务器的分片,但这种支持有望扩大。服务器场环境中的分片应用Facebook运行开源关系数据库MySQL数据库,并在数据场中广泛使用分片技术。也许这令人惊讶,但这家社交媒体巨头也将Oracle数据库用于财务和运营应用程序。Facebook的数据库系统架构师SudhiVijayakumar在甲骨文全球大会分片技术分会交流时提到了上述信息。Vijayakumar之前曾与OracleCorporation的工程师一起工作,他一直在准备数据集市的概念验证实施,以实现近乎实时的报告生成。他说:“我们期待甲骨文实施分片技术。”他建议Oraclesharding可以支持应用程序的增长需求,而不需要额外的人员来管理。通常,传统企业更注重这个目标。像Facebook这样使用云环境的标杆企业关注这方面的情况比较少见。OracleInnovationDilemmaOraclesharding是否可以使用公司的RAC(Real-timeApplicationCluster)。这些集群使用共享磁盘来提供熟悉的关系数据一致性,Oracle多年来一直在扩展其数据库。许多人认为RAC方法的相关成本太高。在许多情况下,软件架构师将构建超大规模的云。而且,大部分工作都可以通过“最终一致性”来满足。通过这种方式,公司可以在构建许多分布式数据技术的同时,更广泛地使用分片技术。GuyHarrison是澳大利亚墨尔本的独立顾问和作家。他认为分片技术是比RAC更适合大规模扩展的架构。RAC更依赖于垂直扩展而不是水平扩展;RAC需要使用独立于数据库节点的共享磁盘系统。他说:“使用分片技术,每个节点都有自己的磁盘,磁盘可能直接放在商业服务器上。如果需要增加节点,可以把磁盘、CPU和内存一起加,用更便宜的商业‘披萨’盒子。'服务器。”(这里的pizzaboxserver指的是普通的廉价服务器。)他说节点之间的协调要求比较低,当然要看应用。这种架构的缺点是集群内的查询效率会比较低,而且一致性会稍差,跨集群很难保持真正的ACID一致性,Harrison对现在从本地应用和数据库迁移到云环境的整体趋势没有什么疑问,他说数据库是最先迁移到的部分云,通常会根据应用情况考虑数据库。“在很多情况下,当人们构建新事物时,他们会比较内部大量硬件上的大笔费用和获得来自云的服务,”他说。与您在环境中租用的基础设施相比,构建该基础设施非常昂贵,”Harrison说,他有兴趣将Oracle数据库迁移到云。不过,与其他人一样,他希望迁移到云端的经济效益能够实现。“在某种程度上,他们将获得比本地更好的好处。如果没有一些好处,很难让他们的用户迁移到云端。所以,这是一个棘手的问题。”