一、teradata與greenplum的區(qū)別
1、架構(gòu)不同:Teradata是一種對(duì)稱(chēng)多處理(Symmetric Multiprocessing,SMP)架構(gòu),而Greenplum是一種以共享無(wú)阻塞式平行計(jì)算(shared nothing massively parallel processing,SN-MPP)為基礎(chǔ)的分布式系統(tǒng)。
2、數(shù)據(jù)存儲(chǔ)不同:Teradata是采用塊存儲(chǔ)方式,而Greenplum是采用元組(tuple)/段(segment)的方式來(lái)組織和存儲(chǔ)數(shù)據(jù)的。
3、縮放性不同:Greenplum具有更好的橫向擴(kuò)展能力,可以通過(guò)添加更多服務(wù)器節(jié)點(diǎn)來(lái)水平擴(kuò)展,而Teradata則更適合于垂直擴(kuò)展。
4、數(shù)據(jù)操作不同:Teradata使用SQL來(lái)執(zhí)行各種數(shù)據(jù)操作,包括SELECT、INSERT、UPDATE和DELETE等,而Greenplum支持SQL和PostgreSQL擴(kuò)展語(yǔ)法。
5、成本不同:Greenplum在總體成本方面較低,主要由于采用了基于開(kāi)源的軟件和硬件組件,而Teradata則相對(duì)昂貴。
6、兼容性不同:雖然兩者都可以與其他數(shù)據(jù)源進(jìn)行集成,但Greenplum更容易與開(kāi)源工具和技術(shù)(例如Hadoop)集成,而Teradata則在這方面缺乏靈活性。
二、teradata簡(jiǎn)介
Terdata是一個(gè)專(zhuān)門(mén)為大型倉(cāng)庫(kù)應(yīng)用程序設(shè)計(jì)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它基于大規(guī)模并行處理(MassivelyParallyProcessing,MPP)架構(gòu)。它以AMP為基本單元,通過(guò)并行優(yōu)化查詢(xún)性能。AMPS(AccessModuleProcessor)是用于管理數(shù)據(jù)庫(kù)的虛擬處理器。它們從解析器接收?qǐng)?zhí)行計(jì)劃,并能夠接收、操作和存儲(chǔ)數(shù)據(jù)。在TeradataSystem中共享預(yù)先定義的AMP數(shù)量,以執(zhí)行任務(wù),包括查詢(xún)、數(shù)據(jù)存儲(chǔ)、備份、索引生成等。
teradata數(shù)據(jù)庫(kù)特點(diǎn):
能夠支持海量數(shù)據(jù)的處理和管理,包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)??梢詫?shí)現(xiàn)高性能的數(shù)據(jù)查詢(xún)和分析,支持在線(xiàn)分析處理(OLAP)和在線(xiàn)事務(wù)處理(OLTP)。具有高可擴(kuò)展性和高可靠性,可以隨著業(yè)務(wù)的擴(kuò)大而無(wú)縫擴(kuò)展。支持多種數(shù)據(jù)存儲(chǔ)格式,包括行存儲(chǔ)、列存儲(chǔ)和超級(jí)列存儲(chǔ)。支持多種數(shù)據(jù)安全和隔離控制策略,可以保障企業(yè)數(shù)據(jù)的安全性和隱私性。三、greenplum簡(jiǎn)介
greenplum是業(yè)界非??燧^高性?xún)r(jià)比的關(guān)系型分布式數(shù)據(jù)庫(kù),它在開(kāi)源的PostgreSQL的基礎(chǔ)上采用MPP架構(gòu)(Massive Parallel Processing,海量并行處理),具有強(qiáng)大的大規(guī)模數(shù)據(jù)分析任務(wù)處理能力。GreenPlum作為大數(shù)據(jù)融合存儲(chǔ)平臺(tái)中眾多數(shù)據(jù)庫(kù)之一,與其他數(shù)據(jù)庫(kù)系統(tǒng)和文件系統(tǒng)一起,為OceanMind提供完整的OceanStorage大數(shù)據(jù)融合存儲(chǔ)解決方案。
greenplum數(shù)據(jù)庫(kù)特點(diǎn):
1、高擴(kuò)展性
Greenplum數(shù)據(jù)庫(kù)采用大規(guī)模無(wú)共享架構(gòu),將多臺(tái)服務(wù)器組裝成強(qiáng)大的計(jì)算平臺(tái),實(shí)現(xiàn)高效的海量并行運(yùn)算。Greenplum數(shù)據(jù)庫(kù)可以支持1000個(gè)以上的集群,管理的數(shù)據(jù)規(guī)模從TB級(jí)到PB級(jí),可以滿(mǎn)足多數(shù)企業(yè)的數(shù)據(jù)處理需求。
2、高查詢(xún)性能
Greenplum的高性能不僅來(lái)自高效的并行處理框架,還有查詢(xún)引擎的優(yōu)化。Greenplum數(shù)據(jù)庫(kù)除了支持基于PostgreSQL的查詢(xún)優(yōu)化之外,還專(zhuān)門(mén)開(kāi)發(fā)了一個(gè)新的查詢(xún)優(yōu)化器ORCA。
ORCA是一款自頂向下的基于Cascades框架的查詢(xún)優(yōu)化器,目前已經(jīng)成為企業(yè)版Greenplum數(shù)據(jù)庫(kù)的默認(rèn)優(yōu)化器。相比基于PostgreSQL的查詢(xún)優(yōu)化器,ORCA查詢(xún)優(yōu)化器能使部分查詢(xún)的性能提升10~1000倍。
3、高可用
Greenplum提供多級(jí)容錯(cuò)機(jī)制,確保整個(gè)系統(tǒng)的高可用性。Master節(jié)點(diǎn)通過(guò)Standby Master節(jié)點(diǎn)進(jìn)行備份,每個(gè)數(shù)據(jù)節(jié)點(diǎn)的Primary Segment實(shí)例分別配置一個(gè)Mirror Segment實(shí)例作為備份,同時(shí)確保同一組Primary Segment實(shí)例和Mirror Segment實(shí)例不在同一物理機(jī)上,從而降低因?yàn)殄礄C(jī)而導(dǎo)致數(shù)據(jù)丟失的風(fēng)險(xiǎn)。
4、高效資源管理
Greenplum提供了高效的資源管理機(jī)制,根據(jù)用戶(hù)的業(yè)務(wù)邏輯將資源合理地分配給查詢(xún)?nèi)蝿?wù),避免查詢(xún)?nèi)蝿?wù)因查詢(xún)資源不足而得不到響應(yīng)。
Greenplum資源管理主要包括對(duì)并發(fā)查詢(xún)數(shù)量的限制,查詢(xún)執(zhí)行時(shí)內(nèi)存、CPU資源使用的限制等。Greenplum數(shù)據(jù)庫(kù)提供了資源隊(duì)列(Resource Queue)和資源組(Resource Group)兩種資源管理方式,一般使用場(chǎng)景下采用默認(rèn)配置即可。
5、多態(tài)存儲(chǔ)
用戶(hù)可以根據(jù)數(shù)據(jù)熱度或者訪(fǎng)問(wèn)模式的不同使用不同的存儲(chǔ)方式,以獲得更好的查詢(xún)性能。用戶(hù)可以為一張表按照一定的規(guī)則(比如日期、月份)創(chuàng)建分區(qū)表,一張表的各個(gè)子分區(qū)表可以使用不同的物理存儲(chǔ)方式。
6、生態(tài)完整
Greenplum數(shù)據(jù)庫(kù)擁有完善的SQL標(biāo)準(zhǔn)支持,包括SQL92、SQL99、SQL2003以及OLAP擴(kuò)展,是對(duì)SQL標(biāo)準(zhǔn)支持較好的開(kāi)源商用數(shù)據(jù)庫(kù)系統(tǒng)之一。同時(shí),由于Greenplum數(shù)據(jù)庫(kù)基于PostgreSQL,因此也繼承了PostgreSQL對(duì)于JDBC、ODBC、C、Python API等接口的支持。
7、高效數(shù)據(jù)加載
Greenplum還有一個(gè)非常神奇的功能——GPload并行加載數(shù)據(jù),即允許數(shù)據(jù)從多個(gè)文件系統(tǒng)通過(guò)多個(gè)主機(jī)上的多個(gè)網(wǎng)卡加載數(shù)據(jù),從而達(dá)到非常高的數(shù)據(jù)傳輸率。筆者曾經(jīng)在3個(gè)節(jié)點(diǎn)的集群上并行加載50GB、2億行記錄的數(shù)據(jù),僅用時(shí)90s。
此外,Greenplum數(shù)據(jù)庫(kù)可以讀取和寫(xiě)入多種類(lèi)型的外部數(shù)據(jù)源,包括文本文件、XML文件、S3平臺(tái)文件、Gemfire、Web服務(wù)器以及Hadoop生態(tài)系統(tǒng)中的HDFS、Hive、HBase、Kafka、Spark等,同時(shí)支持?jǐn)?shù)據(jù)壓縮以及字符集間的自動(dòng)轉(zhuǎn)換。
8、高級(jí)數(shù)據(jù)分析功能
Greenplum數(shù)據(jù)庫(kù)支持各種過(guò)程化編程語(yǔ)言,包括PL/PostgreSQL、PL/R、PL/Python、PL/Java、PL/Perl等語(yǔ)言擴(kuò)展。在高級(jí)數(shù)據(jù)分析方面,通過(guò)Greenplum數(shù)據(jù)庫(kù)的MADlib擴(kuò)展模塊,用戶(hù)可以很方便地利用MPP架構(gòu)完成大規(guī)模并行分析。
延伸閱讀1:Teradata的未來(lái)發(fā)展趨勢(shì)
隨著大數(shù)據(jù)時(shí)代的到來(lái),Teradata作為一款優(yōu)異的數(shù)據(jù)管理軟件,將會(huì)迎來(lái)更加廣泛的應(yīng)用和發(fā)展。未來(lái)Teradata將會(huì)在以下幾個(gè)方面得到進(jìn)一步升級(jí)和優(yōu)化:
更加智能化的數(shù)據(jù)管理和分析。利用人工智能、機(jī)器學(xué)習(xí)等技術(shù),Teradata將會(huì)實(shí)現(xiàn)更加智能化的數(shù)據(jù)管理和分析,提高數(shù)據(jù)分析的準(zhǔn)確性和效率。更加開(kāi)放和靈活的數(shù)據(jù)集成和整合。Teradata支持多種數(shù)據(jù)源的集成和整合,未來(lái)將會(huì)進(jìn)一步開(kāi)放和擴(kuò)展數(shù)據(jù)源,并提供更加靈活和智能的數(shù)據(jù)集成方案。更加安全和隱私的數(shù)據(jù)管理和保護(hù)。Teradata將會(huì)加強(qiáng)對(duì)數(shù)據(jù)的安全和隱私保護(hù),提高數(shù)據(jù)的可信度和安全性。