這幾天,實在是太忙了;由於12號省領導要來檢查,於是項目組為了趕進度,真的是忙的一團糟。每天晚上9點30下班,中午不休息。擠出點時間學學習變成了一種奢侈。這幾天,我對oracle的架構有了一點點的心得,就寫點東西出來。
oracle的優秀性最早體現在跨平台的支援性。這是oracle早期能夠催營拔寨的關鍵。談談跨平台,oracle只是一個運行在作業系統上的軟體,那麼oracle是怎麼做到相容如此之多的作業系統平台的呢?oracle開發的架構很值得研究,這個就是內模式,模式,外模式的架構。這個架構可以保證資料庫對作業系統提供驅動介面,對使用者透明,保證了oracle的核心架構是統一的。在後期,甲骨文廠商收購了java,java也是一種相容性非常好的語言。oracle收購java,更保證了其後續產品的相容性和穩定性。使得其核心工程師可以只專註於內模式的開發,從而從繁瑣的其他邊緣問題中解脫出來,達到了統籌資源,協調發展。
oracle的儲存,體現在對邏輯,物理結構的分開上。oracle儲存物理結構上有各種檔案,如資料檔案,記錄檔,這些只是借用作業系統對硬碟地區進行管理的方式。當然核心還是在邏輯結構上,即在內部oracle是如何儲存資料的,如何保證資料在遭到破壞時能有效地恢複的。這裡,oracle的邏輯結構包括目錄(directory),資料表空間(tablespace),資料區段(segment),區間(extend),資料區塊(block),這些邏輯結構保證了資料的有效儲存,從而節省儲存資源。
oracle的效能,體現在對電腦硬體平台的使用上。這裡,就得說oracle的設計實在是太棒了,共用一個監聽服務,每個資料庫一個執行個體,保證了各個執行個體之間的效能分配。對記憶體的分配使用了SGA,PGA的架構,這樣就保證了能大大降低了磁碟IO,降低對電腦匯流排的佔用。在內部實現一些複雜的演算法進而監視硬體平台和作業系統的情況,進行對作業系統平台的管理。oracle做到這一些,幾乎是虛擬出了另一個作業系統出來,在這個作業系統上,oracle將資料處理做的淋漓盡致。的確,一般的作業系統會在意對進程調度,記憶體管理,磁碟管理,匯流排管理,硬體驅動。。。而oracle只需要管理資料。也就是說,在oracle會根據最合適的儲存,保護,利用資料的方法使用一系列的方式對資料進行管理。
oracle還要更多優秀神奇的能量,隨著我日益研究的深入,相信對oracle駕輕就熟就在不遠的未來。加油。
本文出自 “堅持奮進著” 部落格,請務必保留此出處http://bestlanzi.blog.51cto.com/4087355/1110064