『壹』 oracle資料庫的優勢有哪些
oracle 優勢很多,大部分銀行保險電信大部分是用oracle處理的
優勢主要 有
1、處理速度快,非常快
2、安內全級別高。容支持快閃以及完美的恢復,即使硬體壞了 也可以恢復到故障發前的1s
3、幾台資料庫做集群資料庫,可以做到幾秒s以內故障轉移,而且數據物理完全一致,現在集群一直是最優秀的解決方案,對於銀行保險沒有其他太多的選項{數據不丟,快速切換,負載均衡}
4、網格控制,以及 數據倉庫方面 也非常強大
對了免費 以及 開源的 言論 都是錯誤的。。。oracle產品及服務都是付費的,而且價格不菲。比其他資料庫要貴,物有所值。oracle不是開源的。不過可以在redhat 或者其他開源操作系統上安裝。
mysql在sun沒被oracle收購是開源的,免費的,之後oracle公司打算 把mysql打造成不開源,收費模式的。
『貳』 大數據資料庫有哪些
問題一:大數據技術有哪些 非常多的,問答不能發link,不然我給你link了。有譬如Hadoop等開源大數據項目的,編程語言的,以下就大數據底層技術說下。
簡單以永洪科技的技術說下,有四方面,其實也代表了部分通用大數據底層技術:
Z-Suite具有高性能的大數據分析能力,她完全摒棄了向上升級(Scale-Up),全面支持橫向擴展(Scale-Out)。Z-Suite主要通過以下核心技術來支撐PB級的大數據:
跨粒度計算(In-Databaseputing)
Z-Suite支持各種常見的匯總,還支持幾乎全部的專業統計函數。得益於跨粒度計算技術,Z-Suite數據分析引擎將找尋出最優化的計算方案,繼而把所有開銷較大的、昂貴的計算都移動到數據存儲的地方直接計算,我們稱之為庫內計算(In-Database)。這一技術大大減少了數據移動,降低了通訊負擔,保證了高性能數據分析。
並行計算(MPP puting)
Z-Suite是基於MPP架構的商業智能平台,她能夠把計算分布到多個計算節點,再在指定節點將計算結果匯總輸出。Z-Suite能夠充分利用各種計算和存儲資源,不管是伺服器還是普通的PC,她對網路條件也沒有嚴苛的要求。作為橫向擴展的大數據平台,Z-Suite能夠充分發揮各個節點的計算能力,輕松實現針對TB/PB級數據分析的秒級響應。
列存儲 (Column-Based)
Z-Suite是列存儲的。基於列存儲的數據集市,不讀取無關數據,能降低讀寫開銷,同時提高I/O 的效率,從而大大提高查詢性能。另外,列存儲能夠更好地壓縮數據,一般壓縮比在5 -10倍之間,這樣一來,數據佔有空間降低到傳統存儲的1/5到1/10 。良好的數據壓縮技術,節省了存儲設備和內存的開銷,卻大大了提升計算性能。
內存計算
得益於列存儲技術和並行計算技術,Z-Suite能夠大大壓縮數據,並同時利用多個節點的計算能力和內存容量。一般地,內存訪問速度比磁碟訪問速度要快幾百倍甚至上千倍。通過內存計算,CPU直接從內存而非磁碟上讀取數據並對數據進行計算。內存計算是對傳統數據處理方式的一種加速,是實現大數據分析的關鍵應用技術。
問題二:大數據使用的資料庫是什麼資料庫 ORACLE、DB2、SQL SERVER都可以,關鍵不是選什麼資料庫,而是資料庫如何優化! 需要看你日常如何操作,以查詢為主或是以存儲為主或2者,還要看你的數據結構,都要因地制宜的去優化!所以不是一句話說的清的!
問題三:什麼是大數據和大數據平台 大數據技術是指從各種各樣類型的數據中,快速獲得有價值信息的能力。適用於大數據的技術,包括大規模並行處理(MPP)資料庫,數據挖掘電網,分布式文件系統,分布式資料庫,雲計算平台,互聯網,和可擴展的存儲系統。
大數據平台是為了計算,現今社會所產生的越來越大的數據量。以存儲、運算、展現作為目的的平台。
問題四:常用大型資料庫有哪些 FOXBASE
MYSQL
這倆可算不上大型資料庫管理系統
PB 是資料庫應用程序開發用的ide,根本就不是資料庫管理系統
Foxbase是dos時代的產品了,進入windows時代改叫foxpro,屬於桌面單機級別的小型資料庫系統,mysql是個中輕量級的,但是開源,大量使用於小型網站,真正重量級的是Oracle和DB2,銀行之類的關鍵行業用的多是這兩個,微軟的MS SQLServer相對DB2和Oracle規模小一些,多見於中小型企業單位使用,Sybase可以說是日薄西山,不行了
問題五:幾大資料庫的區別 最商業的是ORACLE,做的最專業,然後是微軟的SQL server,做的也很好,當然還有DB2等做得也不錯,這些都是大型的資料庫,,,如果掌握的全面的話,可以保證數據的安全. 然後就是些小的資料庫access,mysql等,適合於中小企業的資料庫100萬數據一下的數據.如有幫助請採納,謝!
問題六:全球最大的資料庫是什麼 應該是Oracle,第一,Oracle為商業界所廣泛採用。因為它規范、嚴謹而且服務到位,且安全性非常高。第二,如果你學習使用Oracle不是商用,也可以免費使用。這就為它的廣泛傳播奠定了在技術人員中的基礎。第三,Linux/Unix系統常常作為伺服器,伺服器對Oracle的使用簡直可以說極其多啊。建議樓梗多學習下這個強大的資料庫
問題七:什麼是大數據? 大數據(big data),或稱巨量資料,指的是所涉及的資料量規模巨大到無法通過目前主流軟體工具,在合理時間內達到擷取、管理、處理、並整理成為幫助企業經營決策更積極目的的資訊。(在維克托・邁爾-舍恩伯格及肯尼斯・庫克耶編寫的《大數據時代》中大數據指不用隨機分析法(抽樣調查)這樣的捷徑,而採用所有數據的方法[2])大數據的4V特點:Volume(大量)、Velocity(高速)、Variety(多樣)、Value(價值)。
說起大數據,就要說到商業智能:
商業智能(Business Intelligence,簡稱:BI),又稱商業智慧或商務智能,指用現代數據倉庫技術、線上分析處理技術、數據挖掘和數據展現技術進行數據分析以實現商業價值。
商業智能作為一個工具,是用來處理企業中現有數據,並將其轉換成知識、分析和結論,輔助業務或者決策者做出正確且明智的決定。是幫助企業更好地利用數據提高決策質量的技術,包含了從數據倉庫到分析型系統等。
商務智能的產生發展
商業智能的概念經由Howard Dresner(1989年)的通俗化而被人們廣泛了解。當時將商業智能定義為一類由數據倉庫(或數據集市)、查詢報表、數據分析、數據挖掘、數據備份和恢復等部分組成的、以幫助企業決策為目的技術及其應用。
商務智能是20世紀90年代末首先在國外企業界出現的一個術語,其代表為提高企業運營性能而採用的一系列方法、技術和軟體。它把先進的信息技術應用到整個企業,不僅為企業提供信息獲取能力,而且通過對信息的開發,將其轉變為企業的競爭優勢,也有人稱之為混沌世界中的智能。因此,越來越多的企業提出他們對BI的需求,把BI作為一種幫助企業達到經營目標的一種有效手段。
目前,商業智能通常被理解為將企業中現有的數據轉化為知識,幫助企業做出明智的業務經營決策的工具。這里所談的數據包括來自企業業務系統的訂單、庫存、交易賬目、客戶和供應商資料及來自企業所處行業和競爭對手的數據,以及來自企業所處的其他外部環境中的各種數據。而商業智能能夠輔助的業務經營決策既可以是作業層的,也可以是管理層和策略層的決策。
為了將數據轉化為知識,需要利用數據倉庫、線上分析處理(OLAP)工具和數據挖掘等技術。因此,從技術層面上講,商業智能不是什麼新技術,它只是ETL、數據倉庫、OLAP、數據挖掘、數據展現等技術的綜合運用。
把商業智能看成是一種解決方案應該比較恰當。商業智能的關鍵是從許多來自不同的企業運作系統的數據中提取出有用的數據並進行清理,以保證數據的正確性,然後經過抽取(Extraction)、轉換(Transformation)和裝載(Load),即ETL過程,合並到一個企業級的數據倉庫里,從而得到企業數據的一個全局視圖,在此基礎上利用合適的查詢和分析工具、數據挖掘工具、OLAP工具等對其進行分析和處理(這時信息變為輔助決策的知識),最後將知識呈現給管理者,為管理者的決策過程提供支持。
企業導入BI的優點
1.隨機查詢動態報表
2.掌握指標管理
3.隨時線上分析處理
4.視覺化之企業儀表版
5.協助預測規劃
導入BI的目的
1.促進企業決策流程(Facilitate the Business Decision-Making Process):BIS增進企業的資訊整合與資訊分析的能力,匯總公司內、外部的資料,整合成有效的決策資訊,讓企業經理人大幅增進決策效率與改善決策品質。
......>>
問題八:資料庫有哪幾種? 常用的資料庫:oracle、sqlserver、mysql、access、sybase 2、特點。 -oracle: 1.資料庫安全性很高,很適合做大型資料庫。支持多種系統平台(HPUX、SUNOS、OSF/1、VMS、 WINDOWS、WINDOWS/NT、OS/2)。 2.支持客戶機/伺服器體系結構及混合的體系結構(集中式、分布式、 客戶機/伺服器)。 -sqlserver: 1.真正的客戶機/伺服器體系結構。 2.圖形化用戶界面,使系統管理和資料庫管理更加直觀、簡單。 3.具有很好的伸縮性,可跨越從運行Windows 95/98的膝上型電腦到運行Windows 2000的大型多處理器等多種平台使用。 -mysql: MySQL是一個開放源碼的小型關系型資料庫管理系統,開發者為瑞典MySQL AB公司,92HeZu網免費贈送MySQL。目前MySQL被廣泛地應用在Internet上的中小型網站中。提供由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。 -access Access是一種桌面資料庫,只適合數據量少的應用,在處理少量數據和單機訪問的資料庫時是很好的,效率也很高。 但是它的同時訪問客戶端不能多於4個。 -
問題九:什麼是大數據 大數據是一個體量特別大,數據類別特別大的數據集,並且這樣的數據集無法用傳統資料庫工具對其內容進行抓取、管理和處理。 大數據首先是指數據體量(volumes)?大,指代大型數據集,一般在10TB?規模左右,但在實際應用中,很多企業用戶把多個數據集放在一起,已經形成了PB級的數據量;其次是指數據類別(variety)大,數據來自多種數據源,數據種類和格式日漸豐富,已沖破了以前所限定的結構化數據范疇,囊括了半結構化和非結構化數據。接著是數據處理速度(Velocity)快,在數據量非常龐大的情況下,也能夠做到數據的實時處理。最後一個特點是指數據真實性(Veracity)高,隨著社交數據、企業內容、交易與應用數據等新數據源的興趣,傳統數據源的局限被打破,企業愈發需要有效的信息之力以確保其真實性及安全性。
數據採集:ETL工具負責將分布的、異構數據源中的數據如關系數據、平面數據文件等抽取到臨時中間層後進行清洗、轉換、集成,最後載入到數據倉庫或數據集市中,成為聯機分析處理、數據挖掘的基礎。
數據存取:關系資料庫、NOSQL、SQL等。
基礎架構:雲存儲、分布式文件存儲等。
數據處理:自然語言處理(NLP,NaturalLanguageProcessing)是研究人與計算機交互的語言問題的一門學科。處理自然語言的關鍵是要讓計算機理解自然語言,所以自然語言處理又叫做自然語言理解(NLU,NaturalLanguage Understanding),也稱為計算語言學(putational Linguistics。一方面它是語言信息處理的一個分支,另一方面它是人工智慧(AI, Artificial Intelligence)的核心課題之一。
統計分析:假設檢驗、顯著性檢驗、差異分析、相關分析、T檢驗、方差分析、卡方分析、偏相關分析、距離分析、回歸分析、簡單回歸分析、多元回歸分析、逐步回歸、回歸預測與殘差分析、嶺回歸、logistic回歸分析、曲線估計、因子分析、聚類分析、主成分分析、因子分析、快速聚類法與聚類法、判別分析、對應分析、多元對應分析(最優尺度分析)、bootstrap技術等等。
數據挖掘:分類 (Classification)、估計(Estimation)、預測(Prediction)、相關性分組或關聯規則(Affinity grouping or association rules)、聚類(Clustering)、描述和可視化、Description and Visualization)、復雜數據類型挖掘(Text, Web ,圖形圖像,視頻,音頻等)
模型預測:預測模型、機器學習、建模模擬。
結果呈現:雲計算、標簽雲、關系圖等。
要理解大數據這一概念,首先要從大入手,大是指數據規模,大數據一般指在10TB(1TB=1024GB)規模以上的數據量。大數據同過去的海量數據有所區別,其基本特徵可以用4個V來總結(Vol-ume、Variety、Value和Veloc-ity),即體量大、多樣性、價值密度低、速度快。
第一,數據體量巨大。從TB級別,躍升到PB級別。
第二,數據類型繁多,如前文提到的網路日誌、視頻、圖片、地理位置信息,等等。
第三,價值密度低。以視頻為例,連續不間斷監控過程中,可能有用的數據僅僅有一兩秒。
第四,處理速度快。1秒定律。最後這一點也是和傳統的......>>
問題十:國內真正的大數據分析產品有哪些 國內的大數據公司還是做前端可視化展現的偏多,BAT算是真正做了大數據的,行業有硬性需求,別的行業跟不上也沒辦法,需求決定市場。
說說更通用的數據分析吧。
大數據分析也屬於數據分析的一塊,在實際應用中可以把數據分析工具分成兩個維度:
第一維度:數據存儲層――數據報表層――數據分析層――數據展現層
第二維度:用戶級――部門級――企業級――BI級
1、數據存儲層
數據存儲設計到資料庫的概念和資料庫語言,這方面不一定要深鑽研,但至少要理解數據的存儲方式,數據的基本結構和數據類型。SQL查詢語言必不可少,精通最好。可從常用的selece查詢,update修改,delete刪除,insert插入的基本結構和讀取入手。
Access2003、Access07等,這是最基本的個人資料庫,經常用於個人或部分基本的數據存儲;MySQL資料庫,這個對於部門級或者互聯網的資料庫應用是必要的,這個時候關鍵掌握資料庫的庫結構和SQL語言的數據查詢能力。
SQL Server2005或更高版本,對中小企業,一些大型企業也可以採用SQL Server資料庫,其實這個時候本身除了數據存儲,也包括了數據報表和數據分析了,甚至數據挖掘工具都在其中了。
DB2,Oracle資料庫都是大型資料庫了,主要是企業級,特別是大型企業或者對數據海量存儲需求的就是必須的了,一般大型資料庫公司都提供非常好的數據整合應用平台。
BI級別,實際上這個不是資料庫,而是建立在前面資料庫基礎上的,企業級應用的數據倉庫。Data Warehouse,建立在DW機上的數據存儲基本上都是商業智能平台,整合了各種數據分析,報表、分析和展現!BI級別的數據倉庫結合BI產品也是近幾年的大趨勢。
2、報表層
企業存儲了數據需要讀取,需要展現,報表工具是最普遍應用的工具,尤其是在國內。傳統報表解決的是展現問題,目前國內的帆軟報表FineReport已經算在業內做到頂尖,是帶著數據分析思想的報表,因其優異的介面開放功能、填報、表單功能,能夠做到打通數據的進出,涵蓋了早期商業智能的功能。
Tableau、FineBI之類,可分在報表層也可分為數據展現層。FineBI和Tableau同屬於近年來非常棒的軟體,可作為可視化數據分析軟體,我常用FineBI從資料庫中取數進行報表和可視化分析。相對而言,可視化Tableau更優,但FineBI又有另一種身份――商業智能,所以在大數據處理方面的能力更勝一籌。
3、數據分析層
這個層其實有很多分析工具,當然我們最常用的就是Excel,我經常用的就是統計分析和數據挖掘工具;
Excel軟體,首先版本越高越好用這是肯定的;當然對excel來講很多人只是掌握了5%Excel功能,Excel功能非常強大,甚至可以完成所有的統計分析工作!但是我也常說,有能力把Excel玩成統計工具不如專門學會統計軟體;
SPSS軟體:當前版本是18,名字也改成了PASW Statistics;我從3.0開始Dos環境下編程分析,到現在版本的變遷也可以看出SPSS社會科學統計軟體包的變化,從重視醫學、化學等開始越來越重視商業分析,現在已經成為了預測分析軟體;
SAS軟體:SAS相對SPSS其實功能更強大,SAS是平台化的,EM挖掘模塊平台整合,相對來講,SAS比較難學些,但如果掌握了SAS會更有價值,比如離散選擇模型,抽樣問題,正交實驗設計等還是SAS比較好用,另外,SAS的學習材料比較多,也公開,會有收獲的!
JMP分析:SAS的一個分析分支
XLstat:Excel的插件,可以完......>>
『叄』 具有大數據量存儲管理能力並與ORACLE資料庫高度兼容發國產數據系統是
達夢資料庫系統達夢資料庫管理系統是達夢公司推出的具有完全自主知識產權的高性能資料庫管理系統,簡稱DM。達夢資料庫管理系統的最新版本是7.0版本,簡稱DM7。DM7採取全新的體系架構,在保證大型通用的基礎上,針對可靠性、高性能、海量數據處理和安全性做了大量的研發和改進工作,極大提升了達夢資料庫產品的性能、可靠性、可擴大性,能同時統籌OLTP和OLAP要求,從根本上提升了DM7產品的品質。 查看更多答案>>
『肆』 大數據三大核心技術:拿數據、算數據、賣數據!
大數據的由來
對於「大數據」(Big data)研究機構Gartner給出了這樣的定義。「大數據」是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力來適應海量、高增長率和多樣化的信息資產。
1
麥肯錫全球研究所給出的定義是:一種規模大到在獲取、存儲、管理、分析方面大大超出了傳統資料庫軟體工具能力范圍的數據集合,具有海量的數據規模、快速的數據流轉、多樣的數據類型和價值密度低四大特徵。
大數據技術的戰略意義不在於掌握龐大的數據信息,而在於對這些含有意義的數據進行專業化處理。換而言之,如果把大數據比作一種產業,那麼這種產業實現盈利的關鍵,在於提高對數據的「加工能力」,通過「加工」實現數據的「增值」。
從技術上看,大數據與雲計算的關系就像一枚硬幣的正反面一樣密不可分。大數據必然無法用單台的計算機進行處理,必須採用分布式架構。它的特色在於對海量數據進行分布式數據挖掘。但它必須依託雲計算的分布式處理、分布式資料庫和雲存儲、虛擬化技術。
大數據需要特殊的技術,以有效地處理大量的容忍經過時間內的數據。適用於大數據的技術,包括大規模並行處理(MPP)資料庫、數據挖掘、分布式文件系統、分布式資料庫、雲計算平台、互聯網和可擴展的存儲系統。
最小的基本單位是bit,按順序給出所有單位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。
大數據的應用領域
大數據無處不在,大數據應用於各個行業,包括金融、 汽車 、餐飲、電信、能源、體能和 娛樂 等在內的 社會 各行各業都已經融入了大數據的印跡。
製造業,利用工業大數據提升製造業水平,包括產品故障診斷與預測、分析工藝流程、改進生產工藝,優化生產過程能耗、工業供應鏈分析與優化、生產計劃與排程。
金融行業,大數據在高頻交易、社交情緒分析和信貸風險分析三大金融創新領域發揮重大作用。
汽車 行業,利用大數據和物聯網技術的無人駕駛 汽車 ,在不遠的未來將走入我們的日常生活。
互聯網行業,藉助於大數據技術,可以分析客戶行為,進行商品推薦和針對性廣告投放。
電信行業,利用大數據技術實現客戶離網分析,及時掌握客戶離網傾向,出台客戶挽留措施。
能源行業,隨著智能電網的發展,電力公司可以掌握海量的用戶用電信息,利用大數據技術分析用戶用電模式,可以改進電網運行,合理設計電力需求響應系統,確保電網運行安全。
物流行業,利用大數據優化物流網路,提高物流效率,降低物流成本。
城市管理,可以利用大數據實現智能交通、環保監測、城市規劃和智能安防。
體育 娛樂 ,大數據可以幫助我們訓練球隊,決定投拍哪種 題財的 影視作品,以及預測比賽結果。
安全領域,政府可以利用大數據技術構建起強大的國家安全保障體系,企業可以利用大數據抵禦網路攻擊,警察可以藉助大數據來預防犯罪。
個人生活, 大數據還可以應用於個人生活,利用與每個人相關聯的「個人大數據」,分析個人生活行為習慣,為其提供更加周到的個性化服務。
大數據的價值,遠遠不止於此,大數據對各行各業的滲透,大大推動了 社會 生產和生活,未來必將產生重大而深遠的影響。
大數據方面核心技術有哪些?
大數據技術的體系龐大且復雜,基礎的技術包含數據的採集、數據預處理、分布式存儲、NoSQL資料庫、數據倉庫、機器學習、並行計算、可視化等各種技術范疇和不同的技術層面。首先給出一個通用化的大數據處理框架,主要分為下面幾個方面:數據採集與預處理、數據存儲、數據清洗、數據查詢分析和數據可視化。
數據採集與預處理
對於各種來源的數據,包括移動互聯網數據、社交網路的數據等,這些結構化和非結構化的海量數據是零散的,也就是所謂的數據孤島,此時的這些數據並沒有什麼意義,數據採集就是將這些數據寫入數據倉庫中,把零散的數據整合在一起,對這些數據綜合起來進行分析。數據採集包括文件日誌的採集、資料庫日誌的採集、關系型資料庫的接入和應用程序的接入等。在數據量比較小的時候,可以寫個定時的腳本將日誌寫入存儲系統,但隨著數據量的增長,這些方法無法提供數據安全保障,並且運維困難,需要更強壯的解決方案。
Flume NG
Flume NG作為實時日誌收集系統,支持在日誌系統中定製各類數據發送方,用於收集數據,同時,對數據進行簡單處理,並寫到各種數據接收方(比如文本,HDFS,Hbase等)。Flume NG採用的是三層架構:Agent層,Collector層和Store層,每一層均可水平拓展。其中Agent包含Source,Channel和 Sink,source用來消費(收集)數據源到channel組件中,channel作為中間臨時存儲,保存所有source的組件信息,sink從channel中讀取數據,讀取成功之後會刪除channel中的信息。
NDC
Logstash
Logstash是開源的伺服器端數據處理管道,能夠同時從多個來源採集數據、轉換數據,然後將數據發送到您最喜歡的 「存儲庫」 中。一般常用的存儲庫是Elasticsearch。Logstash 支持各種輸入選擇,可以在同一時間從眾多常用的數據來源捕捉事件,能夠以連續的流式傳輸方式,輕松地從您的日誌、指標、Web 應用、數據存儲以及各種 AWS 服務採集數據。
Sqoop
Sqoop,用來將關系型資料庫和Hadoop中的數據進行相互轉移的工具,可以將一個關系型資料庫(例如Mysql、Oracle)中的數據導入到Hadoop(例如HDFS、Hive、Hbase)中,也可以將Hadoop(例如HDFS、Hive、Hbase)中的數據導入到關系型資料庫(例如Mysql、Oracle)中。Sqoop 啟用了一個 MapRece 作業(極其容錯的分布式並行計算)來執行任務。Sqoop 的另一大優勢是其傳輸大量結構化或半結構化數據的過程是完全自動化的。
流式計算
流式計算是行業研究的一個熱點,流式計算對多個高吞吐量的數據源進行實時的清洗、聚合和分析,可以對存在於社交網站、新聞等的數據信息流進行快速的處理並反饋,目前大數據流分析工具有很多,比如開源的strom,spark streaming等。
Strom集群結構是有一個主節點(nimbus)和多個工作節點(supervisor)組成的主從結構,主節點通過配置靜態指定或者在運行時動態選舉,nimbus與supervisor都是Storm提供的後台守護進程,之間的通信是結合Zookeeper的狀態變更通知和監控通知來處理。nimbus進程的主要職責是管理、協調和監控集群上運行的topology(包括topology的發布、任務指派、事件處理時重新指派任務等)。supervisor進程等待nimbus分配任務後生成並監控worker(jvm進程)執行任務。supervisor與worker運行在不同的jvm上,如果由supervisor啟動的某個worker因為錯誤異常退出(或被kill掉),supervisor會嘗試重新生成新的worker進程。
Zookeeper
Zookeeper是一個分布式的,開放源碼的分布式應用程序協調服務,提供數據同步服務。它的作用主要有配置管理、名字服務、分布式鎖和集群管理。配置管理指的是在一個地方修改了配置,那麼對這個地方的配置感興趣的所有的都可以獲得變更,省去了手動拷貝配置的繁瑣,還很好的保證了數據的可靠和一致性,同時它可以通過名字來獲取資源或者服務的地址等信息,可以監控集群中機器的變化,實現了類似於心跳機制的功能。
數據存儲
Hadoop作為一個開源的框架,專為離線和大規模數據分析而設計,HDFS作為其核心的存儲引擎,已被廣泛用於數據存儲。
HBase
HBase,是一個分布式的、面向列的開源資料庫,可以認為是hdfs的封裝,本質是數據存儲、NoSQL資料庫。HBase是一種Key/Value系統,部署在hdfs上,克服了hdfs在隨機讀寫這個方面的缺點,與hadoop一樣,Hbase目標主要依靠橫向擴展,通過不斷增加廉價的商用伺服器,來增加計算和存儲能力。
Phoenix
Phoenix,相當於一個java中間件,幫助開發工程師能夠像使用JDBC訪問關系型資料庫一樣訪問NoSQL資料庫HBase。
Yarn
Yarn是一種Hadoop資源管理器,可為上層應用提供統一的資源管理和調度,它的引入為集群在利用率、資源統一管理和數據共享等方面帶來了巨大好處。Yarn由下面的幾大組件構成:一個全局的資源管理器ResourceManager、ResourceManager的每個節點代理NodeManager、表示每個應用的Application以及每一個ApplicationMaster擁有多個Container在NodeManager上運行。
Mesos
Mesos是一款開源的集群管理軟體,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等應用架構。
Redis
Redis是一種速度非常快的非關系資料庫,可以存儲鍵與5種不同類型的值之間的映射,可以將存儲在內存的鍵值對數據持久化到硬碟中,使用復制特性來擴展性能,還可以使用客戶端分片來擴展寫性能。
Atlas
Atlas是一個位於應用程序與MySQL之間的中間件。在後端DB看來,Atlas相當於連接它的客戶端,在前端應用看來,Atlas相當於一個DB。Atlas作為服務端與應用程序通訊,它實現了MySQL的客戶端和服務端協議,同時作為客戶端與MySQL通訊。它對應用程序屏蔽了DB的細節,同時為了降低MySQL負擔,它還維護了連接池。Atlas啟動後會創建多個線程,其中一個為主線程,其餘為工作線程。主線程負責監聽所有的客戶端連接請求,工作線程只監聽主線程的命令請求。
Ku
Ku是圍繞Hadoop生態圈建立的存儲引擎,Ku擁有和Hadoop生態圈共同的設計理念,它運行在普通的伺服器上、可分布式規模化部署、並且滿足工業界的高可用要求。其設計理念為fast analytics on fast data。作為一個開源的存儲引擎,可以同時提供低延遲的隨機讀寫和高效的數據分析能力。Ku不但提供了行級的插入、更新、刪除API,同時也提供了接近Parquet性能的批量掃描操作。使用同一份存儲,既可以進行隨機讀寫,也可以滿足數據分析的要求。Ku的應用場景很廣泛,比如可以進行實時的數據分析,用於數據可能會存在變化的時序數據應用等。
在數據存儲過程中,涉及到的數據表都是成千上百列,包含各種復雜的Query,推薦使用列式存儲方法,比如parquent,ORC等對數據進行壓縮。Parquet 可以支持靈活的壓縮選項,顯著減少磁碟上的存儲。
數據清洗
MapRece作為Hadoop的查詢引擎,用於大規模數據集的並行計算,」Map(映射)」和」Rece(歸約)」,是它的主要思想。它極大的方便了編程人員在不會分布式並行編程的情況下,將自己的程序運行在分布式系統中。
隨著業務數據量的增多,需要進行訓練和清洗的數據會變得越來越復雜,這個時候就需要任務調度系統,比如oozie或者azkaban,對關鍵任務進行調度和監控。
Oozie
Oozie是用於Hadoop平台的一種工作流調度引擎,提供了RESTful API介面來接受用戶的提交請求(提交工作流作業),當提交了workflow後,由工作流引擎負責workflow的執行以及狀態的轉換。用戶在HDFS上部署好作業(MR作業),然後向Oozie提交Workflow,Oozie以非同步方式將作業(MR作業)提交給Hadoop。這也是為什麼當調用Oozie 的RESTful介面提交作業之後能立即返回一個JobId的原因,用戶程序不必等待作業執行完成(因為有些大作業可能會執行很久(幾個小時甚至幾天))。Oozie在後台以非同步方式,再將workflow對應的Action提交給hadoop執行。
Azkaban
Azkaban也是一種工作流的控制引擎,可以用來解決有多個hadoop或者spark等離線計算任務之間的依賴關系問題。azkaban主要是由三部分構成:Relational Database,Azkaban Web Server和Azkaban Executor Server。azkaban將大多數的狀態信息都保存在MySQL中,Azkaban Web Server提供了Web UI,是azkaban主要的管理者,包括project的管理、認證、調度以及對工作流執行過程中的監控等;Azkaban Executor Server用來調度工作流和任務,記錄工作流或者任務的日誌。
流計算任務的處理平台Sloth,是網易首個自研流計算平台,旨在解決公司內各產品日益增長的流計算需求。作為一個計算服務平台,其特點是易用、實時、可靠,為用戶節省技術方面(開發、運維)的投入,幫助用戶專注於解決產品本身的流計算需求
數據查詢分析
Hive
Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結構化的數據映射為一張資料庫表,並提供 HQL(Hive SQL)查詢功能。Hive本身不存儲和計算數據,它完全依賴於HDFS和MapRece。可以將Hive理解為一個客戶端工具,將SQL操作轉換為相應的MapRece jobs,然後在hadoop上面運行。Hive支持標準的SQL語法,免去了用戶編寫MapRece程序的過程,它的出現可以讓那些精通SQL技能、但是不熟悉MapRece 、編程能力較弱與不擅長Java語言的用戶能夠在HDFS大規模數據集上很方便地利用SQL 語言查詢、匯總、分析數據。
Hive是為大數據批量處理而生的,Hive的出現解決了傳統的關系型資料庫(MySql、Oracle)在大數據處理上的瓶頸 。Hive 將執行計劃分成map->shuffle->rece->map->shuffle->rece…的模型。如果一個Query會被編譯成多輪MapRece,則會有更多的寫中間結果。由於MapRece執行框架本身的特點,過多的中間過程會增加整個Query的執行時間。在Hive的運行過程中,用戶只需要創建表,導入數據,編寫SQL分析語句即可。剩下的過程由Hive框架自動的完成。
Impala
Impala是對Hive的一個補充,可以實現高效的SQL查詢。使用Impala來實現SQL on Hadoop,用來進行大數據實時查詢分析。通過熟悉的傳統關系型資料庫的SQL風格來操作大數據,同時數據也是可以存儲到HDFS和HBase中的。Impala沒有再使用緩慢的Hive+MapRece批處理,而是通過使用與商用並行關系資料庫中類似的分布式查詢引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分組成),可以直接從HDFS或HBase中用SELECT、JOIN和統計函數查詢數據,從而大大降低了延遲。Impala將整個查詢分成一執行計劃樹,而不是一連串的MapRece任務,相比Hive沒了MapRece啟動時間。
Hive 適合於長時間的批處理查詢分析,而Impala適合於實時互動式SQL查詢,Impala給數據人員提供了快速實驗,驗證想法的大數據分析工具,可以先使用Hive進行數據轉換處理,之後使用Impala在Hive處理好後的數據集上進行快速的數據分析。總的來說:Impala把執行計劃表現為一棵完整的執行計劃樹,可以更自然地分發執行計劃到各個Impalad執行查詢,而不用像Hive那樣把它組合成管道型的map->rece模式,以此保證Impala有更好的並發性和避免不必要的中間sort與shuffle。但是Impala不支持UDF,能處理的問題有一定的限制。
Spark
Spark擁有Hadoop MapRece所具有的特點,它將Job中間輸出結果保存在內存中,從而不需要讀取HDFS。Spark 啟用了內存分布數據集,除了能夠提供互動式查詢外,它還可以優化迭代工作負載。Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程序框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,其中的 Scala 可以像操作本地集合對象一樣輕松地操作分布式數據集。
Nutch
Nutch 是一個開源Java 實現的搜索引擎。它提供了我們運行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬蟲。
Solr
Solr用Java編寫、運行在Servlet容器(如Apache Tomcat或Jetty)的一個獨立的企業級搜索應用的全文搜索伺服器。它對外提供類似於Web-service的API介面,用戶可以通過http請求,向搜索引擎伺服器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,並得到XML格式的返回結果。
Elasticsearch
Elasticsearch是一個開源的全文搜索引擎,基於Lucene的搜索伺服器,可以快速的儲存、搜索和分析海量的數據。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。
還涉及到一些機器學習語言,比如,Mahout主要目標是創建一些可伸縮的機器學習演算法,供開發人員在Apache的許可下免費使用;深度學習框架Caffe以及使用數據流圖進行數值計算的開源軟體庫TensorFlow等,常用的機器學習演算法比如,貝葉斯、邏輯回歸、決策樹、神經網路、協同過濾等。
數據可視化
對接一些BI平台,將分析得到的數據進行可視化,用於指導決策服務。主流的BI平台比如,國外的敏捷BI Tableau、Qlikview、PowrerBI等,國內的SmallBI和新興的網易有數等。
在上面的每一個階段,保障數據的安全是不可忽視的問題。
基於網路身份認證的協議Kerberos,用來在非安全網路中,對個人通信以安全的手段進行身份認證,它允許某實體在非安全網路環境下通信,向另一個實體以一種安全的方式證明自己的身份。
控制許可權的ranger是一個Hadoop集群許可權框架,提供操作、監控、管理復雜的數據許可權,它提供一個集中的管理機制,管理基於yarn的Hadoop生態圈的所有數據許可權。可以對Hadoop生態的組件如Hive,Hbase進行細粒度的數據訪問控制。通過操作Ranger控制台,管理員可以輕松的通過配置策略來控制用戶訪問HDFS文件夾、HDFS文件、資料庫、表、欄位許可權。這些策略可以為不同的用戶和組來設置,同時許可權可與hadoop無縫對接。
簡單說有三大核心技術:拿數據,算數據,賣數據。
『伍』 sqlserver和oracle主要有什麼區別
1,oracle支持多種操作系統,sql server只支持windows。
2,oracle給dba更多的靈活性,可以根據實際情況調整參數,使你的應用的性能最佳,因而帶來一個缺點是很難上手;sql server則相反,當然很容易上手。
體系結構
oracle的文件體系結構為:
數據文件 .dbf(真實數據)
日誌文件 .rdo
控制文件 .ctl
參數文件 .ora
sql server的文件體系結構為:
.mdf (數據字典)
.ndf (數據文件)
.ldf (日誌文件)
www.2cto.com
oracle存儲結構:
在oracle里有兩個塊參數pctfree(填充因子)和pctused(復用因子),可控制塊確定塊本身何時有,何時沒有足夠的空間接受新信息(對塊的存儲情況的分析機制)
這樣可降低數據行連接與行遷移的可能性。塊的大小可設置(oltp塊和dss塊)
在oracle中,將連續的塊組成區,可動態分配區(區的分配可以是等額的也可以是自增長的)可減少空間分配次數
在oraclel里表可以分為多個段,段由多個區組成,每個段可指定分配在哪個表空間里(段的類型分為:數據段、索引段、回滾段、臨時段、cash段。oracle里還可對表進行分區,可按照用戶定義的業務規則、條件或規范,物理的分開磁碟上的數據。
這樣大大降低了磁碟爭用的可能性。
oracle有七個基本表空間:
·system表空間(存放數據字典和數據管理自身所需的信息)
·rbs回滾表空間
·temp臨時表空間
·tools互動式表空間
·users用戶默認表空間
·indx索引表空間
·dbsys福數據表空間
不同的數據分別放在不同的表空間(數據字典與真實數據分開存放),在oracle里基表(存儲系統參數信息)是加密存儲,任何人都無法訪問。只能通過用戶可視視圖查看。
sql server 存儲結構
以頁為最小分配單位,每個頁為8k(不可控制,缺乏對頁的存儲情況的分析機制),可將8個連續的頁的組成一個『擴展』,以進一步減少分配時所耗用的資源。(分配缺乏靈活性),在sql server里數據以表的方式存放,而表是存放在資料庫里。
sql server有五個基本資料庫: www.2cto.com
·master(數據字典)
·mode(存放樣版)
·tempdb(臨時資料庫)
·msdb(存放調度信息和日誌信息)
·pubs(示例資料庫)
真實數據與數據字典存放在一起。對系統參數信息無安全機制。
oracle登入管理:
·system/manager (初始帳戶)
·sys/change_on_nstall
·install/oracle(安裝帳戶)
·scott/tiger(示例資料庫,測試用)
在oracle里默認只有三個系統用戶,oracle是通過用戶登入。
sql server登入管理:
·sql server身份驗證
·windows 身份驗證
在sql server里是通過windows用戶帳戶或是用sql server身份驗證連接資料庫的。
sql不是一種語言,而是對oracle資料庫傳輸指令的一種方式。
sql中null既不是字元也不是數字,它是預設數據。oracle提供了nvl函數來解決。
oracle中的字元串連接為 string1‖string2 ,sql中為string1+string2.
集合操作:在sql中只有union(並操作),oracle中包含minus(差操作)、interect(交操作)、union(並操作)。
索引:sql的索引分為聚集索引和非聚集索引,還包括全文索引;
oracle的索引包括:b+樹索引,bitmap點陣圖索引,函數索引,反序索引,
主鍵索引,散列索引,本地索引。 www.2cto.com
oracle的數據類型比較復雜,有基本數據類型,衍生型,列對象型,表對象型,結構體型;
sql中的數據比較簡單,只有一些簡單的基本數據類型無法提供事務操作。
在sql中如果一個事務從開始執行到結束時了錯了,它就會回滾到開始之前;
在oracle中它採用的是定點回滾,就是該事務函數化和精確錯誤定位,用savepoint標記保存點,用rollback標記回滾錯誤的保存點。
在sql中循環只有while一種這用起來不靈活,在oracle中有多種循環(loop循環、while循環、for循環)。
在sql中游標的使用比較復雜,不能同時打開一個以上的游標,因為它只有一個全局變數@@fast_statues而且聲明游標也麻煩,關閉游標時也不清除內存的;oracle中游標是以提高速度全部統一的單項游標,可以允許多用戶非同步讀取,而且聲明比較簡單,就一句declare cursor游標名 is select 語句就可以了。
容錯機制:sql中的錯誤機制比較復雜,沒有提供錯誤描述;oracle中容錯類型有三種,一個是預定義錯誤,一個是非預定義錯誤,一個是用戶自定義,其中在自定義錯誤中它有兩個是在sql中不有的,那就是sqlcode 錯誤號、sqlerrm錯誤描述。
文件體系結構:sql中有.mdf(主要數據文件)、.ndf(擴展文件,可以有多個)、
.ldf(日誌文件,可以有多個,存放在聯機重做日誌數據,這里的日誌文件有一個缺點就是如果日誌文件已填小巧玲瓏的話,sql將自動停止運行並等待人工干預,所以要經常監控日誌的情況保證系統的穩定運行)。oracle中有.dbf(主要數據文件)、.rdo(日誌文件,用來做災難性的數據備份)、.ctl(控制文件,將資料庫的物理文件映射到了數據字典中的邏輯表空間和連機重做日誌文件上去,確保數據的一致性)、.ora(參數文件)。
sql只能是本機備份本機的資料庫,無法聯機備份,而且備份壓縮很低,佔用了大量空間;oracle提供了7種備份機制,具有聯機備份功能,有志門的備份機子。
oracle的日誌默認有3個,先寫入1號日誌,滿了後再寫入2號日誌,2號滿了再寫入3號日誌,3號滿了後oracle將自動備分1號日誌的內容,然後清空後寫入新的日誌信息,且oracle的日誌有多路復用功能,我們可以為日誌創建多個鏡像,把相同的日誌信息同時寫入多個日誌文件中,這樣可以防止磁碟損壞造成的數據丟失。
sql server對每個資料庫只能分配一個日誌文件。且當日誌填滿後,日誌將停止工作,等待人工干預,而無法自動重用。 www.2cto.com
oracle的控制文件記錄了資料庫文件的物理位置和有效性,在每次打開oracle系統都將自動對數據進行驗證,查看其有效性,防止數據的丟失,這體現了oracle對數據管理的嚴密性。
sql server無此安全機制,只用在使用到了資料庫的信息後,系統才去查找數據是否存在。
oracle的參數文件init.ora是可調的,既我們可以根據資料庫的規模調整oracle對系統資源的使用情況,以達到最合理的資源分配,讓oracle達到最佳的性能。
sql server的配置參數是內定的不可調整,它對系統資源的分配是固定的,不受擁護控制,因此無法同時處理大量用戶的需求,這限制了它只能作為中,小型資料庫。
oracle以塊為最小存儲單位,以區為單位分配空間,用戶可以根據需要自己定義塊的大小,且區可以按等額或遞增進行分配,這可以大大減少系統的i/o操作提高資料庫的性能。
sql server中以頁為單位或使用擴展類型以8頁為一單位進行空間分配而無法人工干預,當遇到頻繁存儲或大數據量存儲時,系統將頻繁進行i/o操作使工作效率低下。
oracle中的sql語句書寫規范且提供了完整的函數和數據類型。oracle提供了健全的錯誤機制,用戶可以輕松的獲得錯誤位置和錯誤原因而加以修改。用戶還可以自己定義所須的錯誤類型,用以檢查邏輯錯誤。oracle中對數據類型的轉換和游標的定義也十分方便。因此,我們對代碼的書寫和維護也比sql server方便許多。
sql server使用類c語言,不易維護和查看代碼。sql server包含的數據類型太少,無法定義結構體,數組,對象。sql server無法定義流程機制,類型轉換也極不方便,sql server中對游標定義十分復雜,且當用戶定義的多個游標同時打開時系統卻只有一個游標變數,這是sql server中一個嚴重的缺陷。
oracle中用戶可以根據數據需要在創建塊時定義填充因子(空閑空間的百分比)和復用因子(當塊的存儲數據所佔的空間下降到這個百分比之下時,塊才重新標記為可用)。用戶可以根據記錄變化頻率和數據量的大小設置合適的填充因子和空閑因子。
sql server只有填充因子,而它的定義與oracle剛好相反,它定義的是剩餘可用空間的百分比。而sql server中沒有復用因子,當頁中數據低於填充因子,但剩餘的空間已經不可能再插入新的數據,但頁還是標記為可用的,當系統要寫入新數據都要訪問這個頁而浪費時間,這種頁稱為廢頁,將使系統插入新數據時浪費大量時間查找可用的頁。
oracle在創建表時用戶可以精確定義數據存放的表空間,甚至可以把一張表分開存放在多個表空間中,這樣可以將數據量龐大的表按某些欄位分開存放,這將給查詢帶來極高的效率。
www.2cto.com
隨著信息技術的飛速發展,數據處理不僅在數量上要求越來越大,而且在質量上也要求越來越高。
操作系統的穩定對資料庫來說是十分緊要的,在資料庫可操作平台上,oracle可在所有主流平台上運行,oracle資料庫採用開放的策略目標,它使得客戶可以選擇一種最適合他們特定需要的解決方案。客戶可以利用很多種第三方應用程序、工具。對開發商來說是很大的支持。而sql server卻只能在windows上運行了,這個就顯得比較單調了,但sql sever在window平台上的表現,和windows操作系統的整體結合程度,使用方便性,和microsoft開發平台的整合性都比oracle強的很多。但windows操作系統的穩定性及可靠性大家是有目共睹的,再說microsoft公司的策略目標是將客戶都鎖定到windows平台的環境當中,只有隨著windows性能的改善,sql server才能進一步提高。從操作平台這點上oracle是完全優勝於sql server的了。
從資料上可以看到,oracle的安全認證獲得最高認證級別的iso標准認證,而sql server並沒有獲得什麼安全認證。這方面證明了oracle的安全性是高於sql server的。
購買一個產品,首先考慮的當然是產品的性能了,當考慮性能的同時當然少不了究竟要花多少錢在這產品也是個很關鍵的問題。要建立並運行一個資料庫系統。不僅僅包含最初購置軟體、硬體的費用,還包含了培訓及以後維護的費用。orcale資料庫的價格是遠比sql server資料庫要高,為什麼oracle資料庫比sql server資料庫價格上要高出那麼多,一方面oracle的初始花費相對較高,特別是在考慮工具軟體的時候,oracle很多工具軟體需要另外購買,與microsoft提供免費的sql server工具軟體相比,oracle更顯價格的不菲。但由於sql server只能在windows下運行的原因,普遍認為sql server資料庫的可靠性是比較差的。oracle的性能優勢體現在他的多用戶上,而sql server的性能優勢在多用戶上就顯得力不從心了。
操作上sql server明顯要比orcale簡單,如果你用過java和dotnet的開發平台,區別的基本就是oracle和sql server不同,oracle的界面基本是基於java的,大部分的工具是dos界面的,甚至sqlplus也是, sql server是跟vb一樣,全圖形界面,很少見到dos窗口。sql server中的企業管理器給用戶提供一個全圖形界面的集成管理控制台來集中管理多個伺服器。oracle也有自己的企業管理器,而且它的性能在某些方面甚至超過了sql server的企業管理器,但它安裝較為困難。
orcale資料庫和sql server資料庫那個更快?其實是一個很難答的問題,因為存在許多不定因素,包括處理類型、數據分布以及硬體基礎設施等。
sql server 2000是一個具備完全web支持的資料庫產品,提供了可擴展標記語言核心支持以及internet上和防火牆外進行查詢的能力,具有可伸縮性、靈活性、擴充性好,而且價格便宜等特點,而oracle則有著可靠安全性,速度比sql server快上百倍,但其價格在實施中卻比sql server它高出了幾百倍。
其實各行業考慮選擇那種資料庫,是由資料庫的特點以及根據自己的業務需求和基礎設施綜合考慮來決定的。
『陸』 淺談Oracle中大數據量表的管理
簡介
隨著信息業的發展 在企業級資料庫應用中 經常會有一些幾十GB 上百GB的數據表 這些大數據量表的設計 維護及其備份都是資料庫管理中的重點及其難點 本文就從設計 維護及其備份方面探討一下大數據量表的管理
設計
大表時效性
大數據量表的數據量一般來說是跟時間成正比的 時間越久 數據量越大 在設計階段首先要考慮這些大表的時效性
通常情況 在一定的時間區間 數據的訪問頻度比較大 超過這個區間 數據的訪問頻度極小 這個時間區間根據不同的應用類型而不同 通常是幾個月 超過這個時間區間的數據可以認為是歷史數據 數據訪問的可能性不打 在企業應用中 並不是所有的數據都需要保留在生產資料庫中 對於這些歷史數據 可以考慮離線存放 或者是存放在另外的資料庫中 比如數據倉庫等
大表的時效性可以通過在表上加時間戳列來實現
使用分區表
Oracle 以後提供了分區表的功能 分區表可以把一個表的數據從物理和邏輯上分割成小的區域 Oracle支持非常大的分區表 一個對象可以允許多達 個分區 對於大表來說 使用分區表是首選方案 分區表可以改善表的維護 備份 恢復及查詢性能
分區表有 種分區方式
n Range Partitioning
n Hash Partitioning
n Composite Partitioning
n List Partitioning
對於有時效性的大表 可以採用按時間分區的 Range Partitioning表 例如按天分區的分區表
CREATE TABLE Test(
DATATIME DATE NOT NULL
P NUMBER NULL
P NUMBER NULL
P NUMBER NULL
P NUMBER NULL
P NUMBER NULL
P NUMBER NULL
P NUMBER NULL
P NUMBER NULL
CONSTRAINT PK_TEST PRIMARY KEY (datatime p p ) USING INDEX LOCAL TABLESPACE USERINDEX
)
PARTITION BY RANGE (DATATIME)
(PARTITION Test_ VALUES LESS THAN (TO_DATE( YYYY MM DD ))
(PARTITION Test_ VALUES LESS THAN (TO_DATE( YYYY MM DD ))
……
);
對於按時間分區仍然不能滿足性能需求的表 還可以根據應用需求 使用子分區對表進一步細化
應用設計中 要充分利用分區表的特性 對大表的訪問要完全避免全表訪問 縮小訪問范圍 在查詢條件中 盡量使用分區的列
維護
大表的維護工作比較繁瑣 索引的維護 存儲空間的維護 歷史數據的清理等等 使用分區表可以簡化大表的維護工作 但是如果表很多的話 手動的創建 刪除分區也是一件很繁瑣 而且容易出錯的事情
此章節以按天分區的分區表為例討論大表的自動維護
分區表的命名規則
分區表分區的命名應當按照一定的規則命名 以利於自動維護的實現 本例採用按天分區的分區表 分區的命名方式為TABLENAME_YYMMDD 例如 TEST表的 年 月 日的分區命名為TEST _
維護字典
在資料庫中創建維護字典表 存放需要自動維護的分區表的信息 包括表名 schema 表的類型 數據在資料庫中的保留時間等信息
Table Name: H_RETENTION
Column Type Null? Description
tablename Varchar ( ) Not null 表名
schemaname Varchar ( ) Not null Schema
typeid Varchar ( ) Not null 表類型 PARTITION NORMAL …
retention Number( ) Not null 該表的保存天數
自動創建分區
對於按時間分區的分區表 若不能及時創建新的數據分區 會導致數據無法插入到分區表的嚴重後果 資料庫會產生報錯信息ORA : inserted partition key does not map to any partition 插入失敗
創建分區可以手工創建 也可以根據維護字典 通過系統的任務調度來創建分區 通常是在月底創建下個月的分區
自動創建分區實現如下
/**************************************************************************
Program Name:Add_Partition
Description:
創建某個用戶下個月的所有分區
***************************************************************************/
PROCEDURE add_partition (v_schema IN VARCHAR )
IS
CURSOR c_td_table
IS
SELECT tablename
FROM h_retention
WHERE typeid = PARTITION
AND schemaname = UPPER (v_schema)
ORDER BY tablename;
v_cur BINARY_INTEGER;
v_int BINARY_INTEGER;
v_partition VARCHAR ( );
v_date DATE;
v_days NUMBER;
sql_stmt VARCHAR ( ); String used to save sql statement
err_msg VARCHAR ( );
BEGIN
v_date := TRUNC (ADD_MONTHS (SYSDATE ) MM );
v_days :=
TO_NUMBER (TO_CHAR (LAST_DAY (ADD_MONTHS (SYSDATE )) DD ));
v_cur := DBMS_SQL open_cursor;
FOR v_table IN c_td_table
LOOP
v_date := TRUNC (ADD_MONTHS (SYSDATE ) MM );
v_partition := v_table tablename;
FOR i IN v_days
LOOP
BEGIN
sql_stmt :=
ALTER TABLE
|| v_schema
||
|| v_table tablename
|| ADD PARTITION
|| v_partition
|| _
|| TO_CHAR (v_date YYMMDD )
||
|| VALUES LESS THAN (TO_DATE(
|| TO_CHAR (v_date + YYYY MM DD )
|| YYYY MM DD )) ;
DBMS_SQL parse (v_cur sql_stmt DBMS_SQL native);
v_int := DBMS_SQL EXECUTE (v_cur);
EXCEPTION
WHEN OTHERS
THEN
err_msg :=
v_partition
|| : Create
|| TO_CHAR (v_date YYMMDD )
|| partition unsuccessfully! Error Information:
|| SQLERRM;
log_insert (err_msg); You can define your own log_insert function
MIT;
END;
v_date := v_date + ;
END LOOP;
END LOOP;
DBMS_SQL close_cursor (v_cur);
END;
自動刪除過期分區
為了釋放存儲空間並提高大表的性能 要從資料庫中刪除大表中過期的歷史數據 刪除操作可以手工執行 也可以通過系統的任務調度來自動刪除 分區表數據刪除只需要刪除相應的數據分區 與delete相比 有如下好處
u 速度快
u 佔用回滾表空間少
u 產生日誌量少
u 釋放空間
如果有global的索引 刪除分區後需要重建索引
自動刪除分區實現如下
lishixin/Article/program/Oracle/201311/18275
『柒』 大數據存儲管理系統主要包括
分布式文件存儲,NoSQL資料庫,NewSQL資料庫。
分布式文件存儲是一種數據存儲技術,通過網路使用企業中的每台機器上的磁碟空間,並將這些分散的存儲資源構成一個虛擬的存儲設備,數據分散存儲在企業的各個角落。分布式文件存儲採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。
NoSQL泛指非關系型的資料庫,NoSQL資料庫的產生就是為了解決大規模數據集合多重數據種類帶來的挑戰,尤其是大數據應用難題。關系型資料庫已經無法滿足Web2.0的需求,主要表現為:無法滿足海量數據的管理需求、無法滿足數據高並發的需求、高可擴展性和高可用性的功能太低。
NewSQL是各種新的可擴展/高性能資料庫的簡稱,這類資料庫不僅具有NoSQL對海量數據的存儲管理能力,還保持了傳統資料庫支持ACID和SQL等特性。
『捌』 具有大數據量管理能力,同時有與ORACLE資料庫高度兼容的國產資料庫系統是以下哪一個
選擇第一個,達夢資料庫系統
『玖』 為什麼Oracle資料庫適合大型企業 而SQL Server資料庫適合中小企業
我也學了很久了,關於那麼多的資料庫的區別給你說一下
mssql定位與中型資料庫市場!
oracle定位與大型資料庫市場!
mssql的資料庫腳本是t-sql
oracle的資料庫腳本是pl/sql
mssql只能用於windows平台
oracle可以跨多個平台
mssql便宜、易於掌握、相對簡單
oracle奇貴且按組件收費、概念多、麻煩
delphi開發當然注重pl/sql的掌握!
-------------------------------------
開放性:
SQL Server 只能在windows 上運行,沒有絲毫的開放性,操作系統的系統的穩定對資料庫是十分重要的。Windows9X系列產品是偏重於桌面應用,NT server只適合中小型企業。而且windows平台的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是在處理大數據量的關鍵業務時.
Oracle 能在所有主流平台上運行(包括 windows)。完全支持所有的工業標准。採用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支持。
DB2 能在所有主流平台上運行(包括windows)。最適於海量數據。DB2在企業級的應用最為廣泛,在全球的500家最大的企業中,幾乎85%以上用DB2資料庫伺服器,而國內到97年約佔5%.
可伸縮性,並行性
SQL server DB2 並行實施和共存模型並不成熟。很難處理日益增多的用戶數和數據卷。伸縮性有限。
Oracle 平行伺服器通過使一組結點共享同一簇中的工作來擴展windownt的能力,提供高可用性和高伸縮性的簇的解決方案。 如果windowsNT不能滿足需要, 用戶可以把資料庫移到UNIX中。
DB2 DB2具有很好的並行性。DB2把資料庫管理擴充到了並行的、多節點的環境. 資料庫分區是資料庫的一部分,包含自己的數據、索引、配置文件、和事務日 志。資料庫分區有時被稱為節點或資料庫節點
安全性
SQL server 沒有獲得任何安全證書。
Oracle Server 獲得最高認證級別的ISO標准認證。
DB2 獲得最高認證級別的ISO標准認證。
性能
SQL Server 多用戶時性能不佳
Oracle 性能最高, 保持windowsNT下的TPC-D和TPC-C的世界記錄。
DB2 適用於數據倉庫和在線事物處理 性能較高。
客戶端支持及應用模式
SQL Server C/S結構,只支持windows客戶,可以用ADO,DAO,OLEDB ,ODBC連接.
Oracle 多層次網路計算,支持多種工業標准,可以用ODBC, JDBC,OCI等網路客戶連接
DB2 跨平台,多層結構,支持ODBC,JDBC等客戶
操作簡便
SQL Server 操作簡單,但只有圖形界面.
Oracle 較復雜, 同時提供GUI和命令行,在windowsNT和unix下操作相同
DB2 操作簡單,同時提供GUI和命令行,在windowsNT和unix下操作相同
使用風險
SQL server 完全重寫的代碼,經歷了長期的測試,不斷延遲,許多功能需要時間來證明。並不十分兼容早期產品。使用需要冒一定風險。
Oracle 長時間的開發經驗,完全向下兼容。得到廣泛的應用。完全沒有風險。
DB2 在巨型企業得到廣泛的應用,向下兼容性好。風險小。 僅供參考
---------------------------------------------------------------
九大數據倉庫方案特點比較
中國電子設備系統工程研究所 王建新 劉東波
01-5-21 下午 04:33:38
--------------------------------------------------------------------------------
IBM、Oracle、Sybase、CA、NCR、Informix、Microsoft、和SAS等有實力的公司相繼(通過收購或研發的途徑)推出了自己的數據倉庫解決方案,BO和Brio等專業軟體公司也在前端在線分析處理工具市場上佔有一席之地。下面針對這些數據倉庫解決方案的性能和特點做分析和比較。
IBMIBM公司提供了一套基於可視數據倉庫的商業智能(BI)解決方案,包括:Visual Warehouse(VW)、Essbase/DB2 OLAP Server 5.0、IBM DB2 UDB,以及來自第三方的前端數據展現工具(如BO)和數據挖掘工具(如SAS)。其中,VW是一個功能很強的集成環境,既可用於數據倉庫建模和元數據管理,又可用於數據抽取、轉換、裝載和調度。Essbase/DB2 OLAP Server支持「維」的定義和數據裝載。Essbase/DB2 OLAP Server不是ROLAP(Relational OLAP)伺服器,而是一個(ROLAP和MOLAP)混合的HOLAP伺服器,在Essbase完成數據裝載後,數據存放在系統指定的DB2 UDB資料庫中。
嚴格說來,IBM自己並沒有提供完整的數據倉庫解決方案,該公司採取的是合作夥伴戰略。例如,它的前端數據展現工具可以是Business Objects的BO、Lotus的Approach、Cognos的Impromptu或IBM的Query Management Facility;多維分析工具支持Arbor Software的Essbase和IBM(與Arbor聯合開發)的DB2 OLAP伺服器;統計分析工具採用SAS系統。
OracleOracle數據倉庫解決方案主要包括Oracle Express和Oracle Discoverer兩個部分。Oracle Express由四個工具組成:Oracle Express Server是一個MOLAP (多維OLAP)伺服器,它利用多維模型,存儲和管理多維資料庫或多維高速緩存,同時也能夠訪問多種關系資料庫;Oracle Express Web Agent通過CGI或Web插件支持基於Web的動態多維數據展現;Oracle Express Objects前端數據分析工具(目前僅支持Windows平台)提供了圖形化建模和假設分析功能,支持可視化開發和事件驅動編程技術,提供了兼容Visual Basic語法的語言,支持OCX和OLE;Oracle Express Analyzer是通用的、面向最終用戶的報告和分析工具(目前僅支持Windows平台)。Oracle Discoverer即席查詢工具是專門為最終用戶設計的,分為最終用戶版和管理員版。
在Oracle數據倉庫解決方案實施過程中,通常把匯總數據存儲在Express多維資料庫中,而將詳細數據存儲在Oracle關系資料庫中,當需要詳細數據時,Express Server通過構造SQL語句訪問關系資料庫。但目前的Express還不夠靈活,數據倉庫設計的一個變化往往導致資料庫的重構。另外,目前的Oracle 8i和Express 之間集成度還不夠高,Oracle 8i和Express之間需要復制元數據,如果Oracle Discoverer(或BO)需要訪問匯總數據,則需要將匯總數據同時存放在Oracle和Express中,系統維護比較困難。值得注意的是,剛剛問世的Oracle 9i把OLAP和數據挖掘作為重要特點。
SybaseSybase提供的數據倉庫解決方案稱為Warehouse Studio,包括數據倉庫的建模、數據抽取與轉換、數據存儲與管理、元數據管理以及可視化數據分析等工具。其中,Warehouse Architect是PowerDesigner中的一個設計模塊,它支持星形模型、雪花模型和ER模型;數據抽取與轉換工具包括PowerStage、Replication Server、Carleton PASSPORT,PowerStage是Sybase提供的可視化數據遷移工具。
Adaptive Server Enterprise是Sybase企業級關系資料庫,Adaptive Server IQ是Sybase公司專為數據倉庫設計的關系資料庫,它為高性能決策支持系統和數據倉庫的建立作了優化處理,Sybase IQ支持各種流行的前端展現工具(如Cognos Impromptu、Business Objects、Brio Query等);數據分析與展現工具包括PowerD