雲裡霧裡的資料庫
隨著風起“雲”湧,近幾年已經浮現了一些非關係型,英文說法即 “non-relational, non-schematic” 的資料庫,不少人被搞得雲裡霧裡的。
Oracle 和 IBM,另外包括儲存廠商如 EMC、Teradata、HDS等(廣義來講,還包括虛擬化廠商 VMWare、Citrix等),因為上述廠商技術紮根都在傳統企業IT和資料儲存市場,即基於多年來非常成熟、基於SQL關係型模型的 OLTP 交易型和 OLAP 分析性應用。所以這些傳統IT廠商推廣雲端計算的時候,更強調將自家產品用於企業內部雲/私有云的場景,而非專用於亞馬遜、Google、Joyant等收租的公共雲IDC運營模式。
幾年前 Google 和 Amazon 所僱用的大量計算機專業博士們,基於多年積累、未商品化的學術研究成果,帶來了一些很不一樣的資料處理手段,即一般統稱的“非關係型”(或技術上不夠精確的所謂“非SQL”)資料庫(其中最火、最出名的是Apache Hadoop)。這些技術的的基本設計思路,在本質上,和上述傳統技術有著很大的區別,他們的設計理念源於支援網際網路行業平行計算,每天面對海量使用者所產生的增量資料,所帶來的現實資料壓力,這些是傳統企業IT技術架構無法在有限的經費內滿足的(即便軟體成本為零)。這些技術是基於以下條件所設計:
雲空間中另外還有一些類似 Oracle Coherence 記憶體資料網格, Berkeley DB等採用“鍵-值對”雜湊的資料儲存技術,和相關開源專案。
國外有篇文章,對各類雲裡的資料庫,做了很扼要的分類和說明,挺不錯的。
如此一來,那是否意味著,這些非關係型資料庫,很快即將橫掃市場整個IT市場,顛覆傳統關係型資料庫,如許多所謂no SQL運動支持者們鼓吹的那樣?個人認為,在企業IT市場,基於傳統企業級應用的技術,在未來多年後,仍會保持主流的地位,大多數企業的業務在資料儲存、冗餘、交易一致性等方面的要求和所面對的上下文,實際上和有著海量使用者的網際網路公司或運營商相比,仍是有相當大的區別的。更何況現有企業的投資、人才、管理過程、政策等,都還是圍繞著傳統企業應用和關係型資料庫相關技術的。九十年代來勢洶洶的物件導向資料庫,並沒有如許多專家們預測般,取代了關係型資料庫(反倒是自己被融合了)。再舉個例子,就算是一個專搞面向消費市場/網際網路公共雲的公司,尤其是上市公司,仍是需要 Oracle 或 SAP 的財務應用(例如蘋果用的就是Oracle 的電子商務套件),而這些應用的背後,仍可能是Oracle資料庫。
本文僅代表作者個人觀點,與甲骨文公司無關。
Oracle 和 IBM,另外包括儲存廠商如 EMC、Teradata、HDS等(廣義來講,還包括虛擬化廠商 VMWare、Citrix等),因為上述廠商技術紮根都在傳統企業IT和資料儲存市場,即基於多年來非常成熟、基於SQL關係型模型的 OLTP 交易型和 OLAP 分析性應用。所以這些傳統IT廠商推廣雲端計算的時候,更強調將自家產品用於企業內部雲/私有云的場景,而非專用於亞馬遜、Google、Joyant等收租的公共雲IDC運營模式。
幾年前 Google 和 Amazon 所僱用的大量計算機專業博士們,基於多年積累、未商品化的學術研究成果,帶來了一些很不一樣的資料處理手段,即一般統稱的“非關係型”(或技術上不夠精確的所謂“非SQL”)資料庫(其中最火、最出名的是Apache Hadoop)。這些技術的的基本設計思路,在本質上,和上述傳統技術有著很大的區別,他們的設計理念源於支援網際網路行業平行計算,每天面對海量使用者所產生的增量資料,所帶來的現實資料壓力,這些是傳統企業IT技術架構無法在有限的經費內滿足的(即便軟體成本為零)。這些技術是基於以下條件所設計:
- 沒有任何單一儲存能大到 1) 容納得下整份資料,而且要 2) 能線性適應每天海量的資料增長速度 -- 現在這些使用者量大的Web2.0公司的資料,如 facebook,是以 P (petabyte) 級、而非 T 級,也就是千倍於T,很快要到 exabyte 級(順道一提,這是Oracle的一體機Exadata和Exalogic的命名意涵由來),也就是T級的百萬倍。所以這類新資料庫,在先天上都是分散式設計,自動分割槽,並且儲存於最廉價的commodity商品型伺服器的本地盤,而非光纖外聯高價的專業儲存裝置(“commodity”一詞的意涵,主要突出品牌的不重要性,如同商品期貨市場中交易的石油、黃豆、大米等)。
- 由於叢集了大量的廉價commodity伺服器硬體,穩定性和可靠性較低,硬體故障率 (MTBF) 變得比較頻繁,因此這類新型資料庫的設計,變成將硬體故障視為常態,而非異常。每筆資料在寫的時候,別臺硬體的磁碟上同時自動生成備份。
- 交易型的應用,採用一種新的終極一致性 (eventual consistent) 的設計,而非傳統 OLTP、兩階段提交這種立刻一致。亞馬遜內部使用的 Dynamo (Apache Cassandra是外人基於他們發表的學術論文而開源實現的一個資料庫),是這方面的領頭羊。這類資料庫比較適合對資料做反覆更新,而不像 Hadoop,更適合一次寫,多次讀。
雲空間中另外還有一些類似 Oracle Coherence 記憶體資料網格, Berkeley DB等採用“鍵-值對”雜湊的資料儲存技術,和相關開源專案。
國外有篇文章,對各類雲裡的資料庫,做了很扼要的分類和說明,挺不錯的。
如此一來,那是否意味著,這些非關係型資料庫,很快即將橫掃市場整個IT市場,顛覆傳統關係型資料庫,如許多所謂no SQL運動支持者們鼓吹的那樣?個人認為,在企業IT市場,基於傳統企業級應用的技術,在未來多年後,仍會保持主流的地位,大多數企業的業務在資料儲存、冗餘、交易一致性等方面的要求和所面對的上下文,實際上和有著海量使用者的網際網路公司或運營商相比,仍是有相當大的區別的。更何況現有企業的投資、人才、管理過程、政策等,都還是圍繞著傳統企業應用和關係型資料庫相關技術的。九十年代來勢洶洶的物件導向資料庫,並沒有如許多專家們預測般,取代了關係型資料庫(反倒是自己被融合了)。再舉個例子,就算是一個專搞面向消費市場/網際網路公共雲的公司,尤其是上市公司,仍是需要 Oracle 或 SAP 的財務應用(例如蘋果用的就是Oracle 的電子商務套件),而這些應用的背後,仍可能是Oracle資料庫。
本文僅代表作者個人觀點,與甲骨文公司無關。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16186206/viewspace-683425/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 小程式批次刪除雲資料庫裡的資料資料庫
- SAPABAP裡資料庫表的StorageParameters從哪裡來的資料庫
- Laravel 資料庫裡的資料刪除Laravel資料庫
- SAP ABAP裡資料庫表的Storage Parameters從哪裡來的資料庫
- SAP Hybris Commerce裡的資料庫表資料庫
- 青雲釋出RadonDB資料庫 你想知道的都在這裡資料庫
- Hybris ECP裡Customer對應的資料庫表資料庫
- 織夢資料庫裡改密碼資料庫密碼
- 雲原生資料庫的下一次變革發生在哪裡?資料庫
- config 裡面的database 資料庫 連線取不到 .env 裡面的資料庫配置,所有快取已清,求解Database資料庫快取
- 職場裡,對資料庫要有敬畏之心!資料庫
- 資料庫的基本資訊,都在這幾張表裡了資料庫
- Salesforce和SAP Netweaver裡資料庫表的後設資料設計Salesforce資料庫
- 在SAP HANA Express Edition裡建立資料庫表Express資料庫
- [20180606]如何dump資料庫裡面的漢字.txt資料庫
- JS裡的資料型別JS資料型別
- 如何使用 Node.js 訪問 SAP HANA Cloud 資料庫裡的資料Node.jsCloud資料庫
- 阿里雲資料庫備份DBS商業化釋出,你想知道的都在這裡阿里資料庫
- 織夢資料庫配置檔案-DedeCMS織夢資料庫檔案在哪裡資料庫
- 資料庫安全問題?這裡有10個最常見的資料庫
- Camstar裡拿到Grid的行資料
- JS 裡的資料結構 - 棧JS資料結構
- 如何把 SAP ABAP 系統裡一張資料庫表的內容,顯示在 Adobe PDF Form 裡資料庫ORM
- 織夢怎麼進資料庫,織夢網站原始碼在哪裡看資料庫資料庫網站原始碼
- 如何在 SAP BTP Java 應用裡使用 SQLite 資料庫JavaSQLite資料庫
- SAP 物料主資料裡的commodity code
- JS裡的資料型別轉換JS資料型別
- JS 裡的資料型別轉換JS資料型別
- 如何在 GPU 深度學習雲服務裡,使用自己的資料集?GPU深度學習
- 易優eyoucms資料庫配置檔案是哪個在哪裡?資料庫
- 如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫Java資料庫
- 哪三樣東西永遠不能放進資料庫裡資料庫
- Sql Server資料庫如何去掉內容裡面的Html標籤SQLServer資料庫HTML
- 保護雲資料隱私,要將金鑰放在哪裡?
- keil5裡的ST庫
- [ChatGPT 勘誤]:SAP ABAP 系統裡資料庫表 dlv_systc 的用途ChatGPT資料庫
- 圖片存放在伺服器還是資料庫裡的解釋?伺服器資料庫
- 在ABAP裡取得一個資料庫表記錄數的兩種方法資料庫
- 利用ABAP除錯模式修改SE16裡資料庫表的內容除錯模式資料庫