阿里云oceanbase數(shù)據(jù)庫的概述及特性
2024-03-20 14:12:13 | 來源:看點時報 |
2024-03-20 14:12:13 | 來源:看點時報 |
OceanBase是阿里巴巴自主研發(fā)的高性能分布式關(guān)系數(shù)據(jù)庫。它支持完整的ACID特性,與MySQL協(xié)議和語法高度兼容,可以使用高性能、可擴展和持續(xù)可用的分布式數(shù)據(jù)服務(wù),而遷移成本最低。阿里云oceanbase實現(xiàn)了數(shù)千億條記錄、數(shù)百TB數(shù)據(jù)的跨行跨表業(yè)務(wù),支持天貓大部分OLTP和OLAP線上業(yè)務(wù)。
阿里云oceanbase特性
阿里云oceanbase最初是為了處理淘寶的大規(guī)模數(shù)據(jù)而產(chǎn)生的。傳統(tǒng)的Oracle單機數(shù)據(jù)庫無法支持數(shù)百TB的數(shù)據(jù)存儲和數(shù)十萬的QPS,硬件擴展成本過高。
淘寶已經(jīng)用MySQL代替了Oracle,但是需要存儲在不同的數(shù)據(jù)庫和表中,也有很多缺點。按子數(shù)據(jù)庫和子表添加節(jié)點比較復(fù)雜,查詢時可能需要訪問所有分區(qū)的數(shù)據(jù)庫,所以性能很差。
淘寶甚至考慮過HBase,但是HBase只能支持單行交易查詢,不支持ACID功能,只支持最終一致性。淘寶的業(yè)務(wù)必須支持跨行、跨表業(yè)務(wù),部分訂單信息需要支持強一致性。
基于以上原因,需要開發(fā)一種新的數(shù)據(jù)庫,不僅具有良好的可擴展性,而且能夠支持跨行、跨表交易,于是OceanBase應(yīng)運而生。
阿里云oceanbase具有以下特性:
1、高可擴展性
傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(如Oracle或MySQL)雖然特性完善,但數(shù)據(jù)庫擴展性差。隨著數(shù)據(jù)量的增加,需要將它們存儲在不同的數(shù)據(jù)庫和表中。查詢時,需要將相應(yīng)的SQL解析到指定的數(shù)據(jù)庫中。數(shù)據(jù)庫管理員需要花費大量的時間來擴充數(shù)據(jù)庫,對維護人員的技術(shù)要求也比較高。他們要掌握分布式處理中的數(shù)據(jù)讀寫分離、垂直拆分、水平拆分等技術(shù)。
而阿里云oceanbase采用分布式技術(shù)和無共享架構(gòu),數(shù)據(jù)自動分布到多個數(shù)據(jù)庫主機,使用廉價的PC服務(wù)器作為數(shù)據(jù)庫主機,可以自由擴展整個分布式數(shù)據(jù)庫系統(tǒng),既降低了成本,又保證了橫向擴展的無限性。
OceanBase又稱云數(shù)據(jù)庫,具有云存儲隨機擴展的特點。
2、高可靠性
阿里云oceanbase數(shù)據(jù)庫系統(tǒng)使用的廉價PC服務(wù)器。這些服務(wù)器不可靠,容易出故障。但是,OceanBase必須保證任何時候任何硬件故障都不會影響業(yè)務(wù)。
因此,OceanBase引入了Paxos協(xié)議來保證分布式事務(wù)的一致性,即一個數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)以備份的形式存儲在多臺機器中。當(dāng)其中一個失敗時,其他備份仍然可以使用,并且可以根據(jù)系統(tǒng)日志恢復(fù)失敗前的數(shù)據(jù)。
3、數(shù)據(jù)準確性
阿里云oceanbase是一個新的關(guān)系數(shù)據(jù)庫,它支持事務(wù)的ACID特性。這在電商、金融等領(lǐng)域非常重要。這些領(lǐng)域?qū)?shù)據(jù)的準確性要求非常高,比如電子商務(wù)中的支付數(shù)據(jù)。這些數(shù)據(jù)應(yīng)該是一致的,不應(yīng)該丟失任何數(shù)據(jù)。
OceanBase在設(shè)計的時候,讀事務(wù)基本是分布式并發(fā)執(zhí)行的,而寫事務(wù)是集中式串行的,任何一個寫事務(wù)在最終提交之前對其他讀事務(wù)都是不可見的,所以O(shè)ceanBase具有很強的一致性,可以保證數(shù)據(jù)的正確性。
4、高性能
數(shù)據(jù)庫的總量非常大,每天增加、刪除、更改的數(shù)據(jù)只是其中的一小部分,是增量數(shù)據(jù)。
阿里云oceanbase將數(shù)據(jù)分為基準數(shù)據(jù)和增量數(shù)據(jù)?;鶞蕯?shù)據(jù)是保持不變的歷史數(shù)據(jù),可以存儲在磁盤上,保證數(shù)據(jù)的穩(wěn)定性;增量數(shù)據(jù)是最新修改的數(shù)據(jù),存儲在內(nèi)存中。這種添加、刪除、更改記錄的存儲方式大大提高了系統(tǒng)寫事務(wù)的性能,增量數(shù)據(jù)凍結(jié)后會轉(zhuǎn)移到SSD,依然會提供高性能的讀取服務(wù)。阿里云oceanbase將在系統(tǒng)低負載期間合并數(shù)據(jù),以避免對業(yè)務(wù)造成不利影響。