❶ 資料庫技術的應用與發展
資料庫技術是現代信息科學與技術的重要組成部分,是計算機數據處理與信息管理系統的核心。資料庫技術研究和解決了計算機信息處理過程中大量數據有效地組織和存儲的問題,在資料庫系統中減少數據存儲冗餘、實現數據共享、保障數據安全以及高效地檢索數據和處理數據。
隨著計算機技術與網路通信技術的發展,資料庫技術已成為信息社會中對大量數據進行組織與管理的重要技術手段及軟體技術,是網路信息化管理系統的基礎。本章主要介紹資料庫技術的應用與發展、關系模型的基本概念、關系資料庫的設計理論及資料庫設計方法等內容,是學習和掌握現代資料庫技術的基礎。
1.1 資料庫技術的發展與應用
從20世紀60年代末期開始到現在,資料庫技術已經發展了30多年。在這30多年的歷程中,人們在資料庫技術的理論研究和系統開發上都取得了輝煌的成就,而且已經開始對新一代資料庫系統的深入研究。資料庫系統已經成為現代計算機系統的重要組成部分。
1.1.1 資料庫技術與信息技術
信息技術(Information Technology,IT)是當今使用頻率最高的名詞之一,它隨著計算機技術在工業、農業以及日常生活中的廣泛應用,已經被越來越多的個人和企業作為自己趕超世界潮流的標志之一。而資料庫技術則是信息技術中一個重要的支撐。沒有資料庫技術,人們在浩瀚的信息世界中將顯得手足無措。
資料庫技術是計算機科學技術的一個重要分支。從20世紀50年代中期開始,計算機應用從科學研究部門擴展到企業管理及政府行政部門,人們對數據處理的要求也越來越高。1968年,世界上誕生了第一個商品化的信息管理系統IMS(Information Management System),從此,資料庫技術得到了迅猛發展。在互聯網日益被人們接受的今天,Internet又使資料庫技術、知識、技能的重要性得到了充分的放大。現在資料庫已經成為信息管理、辦公自動化、計算機輔助設計等應用的主要軟體工具之一,幫助人們處理各種各樣的信息數據。
1.1.2 資料庫技術的應用及特點
資料庫最初是在大公司或大機構中用作大規模事務處理的基礎。後來隨著個人計算機的普及,資料庫技術被移植到PC機(Personal Computer,個人計算機)上,供單用戶個人資料庫應用。接著,由於PC機在工作組內連成網,資料庫技術就移植到工作組級。現在,資料庫正在Internet和內聯網中廣泛使用。
20世紀60年代中期,資料庫技術是用來解決文件處理系統問題的。當時的資料庫處理技術還很脆弱,常常發生應用不能提交的情況。20世紀70年代關系模型的誕生為資料庫專家提供了構造和處理資料庫的標准方法,推動了關系資料庫的發展和應用。1979年,Ashton-Tate公司引入了微機產品dBase Ⅱ,並稱之為關系資料庫管理系統,從此資料庫技術移植到了個人計算機上。20世紀80年代中期到後期,終端用戶開始使用區域網技術將獨立的計算機連接成網路,終端之間共享資料庫,形成了一種新型的多用戶數據處理,稱為客戶機/伺服器資料庫結構。現在,資料庫技術正在被用來同Internet技術相結合,以便在機構內聯網、部門區域網甚至WWW上發布資料庫數據。
1.1.3 資料庫技術發展歷史
數據模型是資料庫技術的核心和基礎,因此,對資料庫系統發展階段的劃分應該以數據模型的發展演變作為主要依據和標志。按照數據模型的發展演變過程,資料庫技術從開始到現在短短的30年中,主要經歷了三個發展階段:第一代是網狀和層次資料庫系統,第二代是關系資料庫系統,第三代是以面向對象數據模型為主要特徵的資料庫系統。資料庫技術與網路通信技術、人工智慧技術、面向對象程序設計技術、並行計算技術等相互滲透、有機結合,成為當代資料庫技術發展的重要特徵。
1. 第一代資料庫系統
第一代資料庫系統是20世紀70年代研製的層次和網狀資料庫系統。層次資料庫系統的典型代表是1969年IBM公司研製出的層次模型的資料庫管理系統IMS。20世紀60年代末70年代初,美國資料庫系統語言協會CODASYL(Conference on Data System Language)下屬的資料庫任務組DBTG(Data Base Task Group)提出了若干報告,被稱為DBTG報告。DBTG報告確定並建立了網狀資料庫系統的許多概念、方法和技術,是網狀資料庫的典型代表。在DBTG思想和方法的指引下資料庫系統的實現技術不斷成熟,開發了許多商品化的資料庫系統,它們都是基於層次模型和網狀模型的。
可以說,層次資料庫是資料庫系統的先驅,而網狀資料庫則是資料庫概念、方法、技術的奠基者。
2. 第二代資料庫系統
第二代資料庫系統是關系資料庫系統。1970年IBM公司的San Jose研究試驗室的研究員Edgar F. Codd發表了題為《大型共享資料庫數據的關系模型》的論文,提出了關系數據模型,開創了關系資料庫方法和關系資料庫理論,為關系資料庫技術奠定了理論基礎。Edgar F. Codd於1981年被授予ACM圖靈獎,以表彰他在關系資料庫研究方面的傑出貢獻。
20世紀70年代是關系資料庫理論研究和原型開發的時代,其中以IBM公司的San Jose研究試驗室開發的System R和Berkeley大學研製的Ingres為典型代表。大量的理論成果和實踐經驗終於使關系資料庫從實驗室走向了社會,因此,人們把20世紀70年代稱為資料庫時代。20世紀80年代幾乎所有新開發的系統均是關系型的,其中涌現出了許多性能優良的商品化關系資料庫管理系統,如DB2、Ingres、Oracle、Informix、Sybase等。這些商用資料庫系統的應用使資料庫技術日益廣泛地應用到企業管理、情報檢索、輔助決策等方面,成為實現和優化信息系統的基本技術。
3. 第三代資料庫系統
從20世紀80年代以來,資料庫技術在商業上的巨大成功刺激了其他領域對資料庫技術需求的迅速增長。這些新的領域為資料庫應用開辟了新的天地,並在應用中提出了一些新的數據管理的需求,推動了資料庫技術的研究與發展。
1990年高級DBMS功能委員會發表了《第三代資料庫系統宣言》,提出了第三代資料庫管理系統應具有的三個基本特徵:
l 應支持數據管理、對象管理和知識管理。
l 必須保持或繼承第二代資料庫系統的技術。
l 必須對其他系統開放。
面向對象數據模型是第三代資料庫系統的主要特徵之一;資料庫技術與多學科技術的有機結合也是第三代資料庫技術的一個重要特徵。分布式資料庫、並行資料庫、工程資料庫、演繹資料庫、知識庫、多媒體庫、模糊資料庫等都是這方面的實例。
1.1.4 資料庫系統訪問技術
目前訪問資料庫伺服器的主流標准介面主要有ODBC、OLE DB和ADO。下面分別對這三種介面進行概要介紹。
1. 開放資料庫連接(ODBC)
開放資料庫連接(Open Database Connectivity,ODBC)是由Microsoft公司定義的一種資料庫訪問標准。使用ODBC應用程序不僅可以訪問存儲在本地計算機的桌面型資料庫中的數據,而且可以訪問異構平台上的資料庫,例如可以訪問SQL Server、Oracle、Informix或DB2構建的資料庫等。
ODBC是一種重要的訪問資料庫的應用程序編程介面(Application Programming Interface,API),基於標準的SQL語句,它的核心就是SQL語句,因此,為了通過ODBC訪問資料庫伺服器,資料庫伺服器必須支持SQL語句。
ODBC通過一組標準的函數(ODBC API)調用來實現資料庫的訪問,但是程序員不必理解這些ODBC,API就可以輕松開發基於ODBC的客戶機/伺服器應用程序。這是因為在很多流行的程序開發語言中,如Visual Basic、PowerBuilder、Visual C++等,都提供了封裝ODBC各種標准函數的代碼層,開發人員可以直接使用這些標准函數。
ODBC獲得了巨大成功並大大簡化了一些資料庫開發工作。但是它也存在嚴重的不足,因此Microsoft公司又開發了OLE DB。
2. OLE DB
OLE DB是Microsoft公司提供的關於資料庫系統級程序的介面(System-Level Programming Interface),是Microsoft公司資料庫訪問的基礎。OLE DB實際上是Microsoft公司OLE對象標準的一個實現。OLE DB對象本身是COM(組件對象模型)對象並支持這種對象的所有必需的介面。
一般說來,OLE DB提供了兩種訪問資料庫的方法:一種是通過ODBC驅動器訪問支持SQL語言的資料庫伺服器;另一種是直接通過原始的OLE DB提供程序。因為ODBC只適用於支持SQL語言的資料庫,因此ODBC的使用范圍過於狹窄,目前Microsoft公司正在逐步用OLE DB來取代ODBC。
因為OLE DB是一個面向對象的介面,特別適合於面向對象語言。然而,許多資料庫應用開發者使用VBScript和JScript等腳本語言開發程序,所以Microsoft公司在OLE DB對象的基礎上定義了ADO。
3. 動態數據對象(ADO)
動態數據對象(Active Data Objects,ADO)是一種簡單的對象模型,可以被開發者用來處理任何OLE DB數據,可以由腳本語言或高級語言調用。ADO對資料庫提供了應用程序水平級的介面(Application-Level Programming Interface),幾乎使用任何語言的程序員都能夠通過使用ADO來使用OLE DB的功能。Microsoft公司聲稱,ADO將替換其他的數據訪問方式,所以ADO對於任何使用Microsoft公司產品的資料庫應用是至關重要的。
1.1.5 網路資料庫系統編程技術
在當今網路盛行的年代,資料庫與Web技術的結合正在深刻改變著網路應用。有了資料庫的支持,擴展網頁功能、設計互動式頁面、構造功能強大的後台管理系統、更新網站和維護網站都將變得輕而易舉。隨著網路應用的深入,Web資料庫技術將日益顯示出其重要地位。在這里簡單介紹一下Web資料庫開發的相關技術。
1. 通用網關介面(CGI)編程
通用網關介面(Common Gateway Interface,CGI)是一種通信標准,它的任務是接受客戶端的請求,經過辨認和處理,生成HTML文檔並重新傳回到客戶端。這種交流過程的編程就叫做CGI編程。CGI可以運行在多種平台上,具有強大的功能,可以使用多種語言編程,如Visual Basic、Visual C++、Tcl、Perl、AppletScript等,比較常見的是用Perl語言編寫的CGI程序。但是CGI也有其致命的弱點,即速度慢和安全性差等。
2. 動態伺服器頁面(ASP)
動態伺服器頁面(Active Server Pages,ASP)是Microsoft公司推出的一種用以取代CGI的技術,是一種真正簡便易學、功能強大的伺服器編程技術。ASP實際上是Microsoft公司開發的一套伺服器端腳本運行環境,通過ASP可以建立動態的、交互的、高效的Web伺服器應用程序。用ASP編寫的程序都在伺服器端執行,程序執行完畢後,再將執行的結果返回給客戶端瀏覽器,這樣不僅減輕了客戶端瀏覽器的負擔,大大提高了交互速度,而且避免了ASP程序源代碼的外泄,提高了程序的安全性。
3. Java 伺服器頁面(JSP)
Java伺服器頁面(Java Server Pages,JSP)是Sun公司發布的Web應用程序開發技術,一經推出,就受到了人們的廣泛關注。JSP技術為創建高度動態的Web應用程序提供了一個獨特的開發環境,它能夠適用於市場上大多數的伺服器產品。
JSP使用Java語言編寫伺服器端程序,當客戶端向伺服器發出請求時,JSP源程序被編譯成Servlet並由Java虛擬機執行。這種編譯操作僅在對JSP頁面的第一次請求時發生。因此,JSP程序能夠提供更快的交互速度,其安全性和跨平台性也很優秀。
❷ 華為天才少年主攻存儲領域研究
自古英雄出少年。
本年度的華為天才少年項目再次引爆眼球。一位是從普通本科一路「逆襲」到華中科大博士,並成為唯一拿到本年度最高檔年薪的青年才俊;另一位則是在多種A類期刊發表論文,集智慧與美麗於一身的美女博士。這兩位成功入圍項目的華中科大博士迅速成為街頭巷議的熱門話題。
值得關注的是,本年度入圍的兩位華為天才少年在校研究方向均跟數據存儲有著緊密聯系。因此,這二位不約而同地選擇華為做存儲相關的研究,讓人不得不感嘆華為存儲對於基礎研究與人才的重視。
事實上,從十八年前正式起步開始,華為存儲一路發展始終與各大高校科研機構保持著緊密聯系,高校科研機構不僅是華為存儲人才重要的來源地,也是華為在存儲基礎領域聯合創新的重要合作對象。如今,華為存儲已經成長為全球Top 5、中國Top1級別的重要廠商, 在存儲技術的產、學、研、用上逐步 探索 出一條價值閉環,真正讓基礎研究的創新成果加速走向落地,並利用市場成果不斷反哺基礎研究的創新 。
以本次入圍天才少年項目的美女博士為例,其研究方向之一的非易失性存儲器(NVM)、NVMe協議是當今存儲產品中最為重要的技術趨勢,而華為存儲正是端到端NVMe全快閃記憶體當之無愧的領導者。華為存儲的產、學、研、用價值閉環在端到端NVMe全快閃記憶體這個存儲細分領域體現得淋漓盡致。
天下武功,唯快不破。
同樣,在存儲產品中,性能是衡量存儲是否優秀的重要指標之一。在單位時間內IO越高、延遲越低,存儲的性能就會越好,也意味著可以承載更多應用和更加及時響應業務請求,讓用戶體驗更好。
NVMe正是存儲領域一門關於快的武功。如果將為機械硬碟設計的SAS協議比喻為紅綠燈多、卡口多的省市級公路;那麼專為快閃記憶體而生的NMVe協議則是不限速的高速公路。初看NVMe可以讓數據真正放飛自我,但是如何讓NVMe這條數據高速公路修的更加合理、智能,讓數據在高速公路上「不翻車」,則絕對需要常年修煉、不斷打磨才能實現。
這是因為在數據中心這張數據網路中,IO路徑涉及到伺服器、存儲、網路等多種設備,還有FC、IP、IB、PCIe、SAS等多種網路協議,經常面臨數據傳輸路徑過長、協議互相轉化等挑戰。因此,NVMe的落地往往「牽一發而動全身」,需要對整個數據中心數據傳輸網路進行規劃和設計,僅僅是一兩款NVMe SSD或者NVMe快閃記憶體控制器是遠遠不夠的。
華為正是NVMe全快閃記憶體領域的頂尖高手,用「老司機」形容不為過。 作為存儲行業SSD碟片級專利最多的廠商之一,華為對於NVMe協議進行了長期深入研究,在業界唯一端到端開發了NVMe SSD盤,NVMe 快閃記憶體控制器和NVMe全快閃記憶體操作系統,並且在業內率先實現了全系列端到端NVMe全快閃記憶體。
華為是如何做到這些的?讓我們一探究竟。
華為之所以對於NVMe十分重視,是因為NVMe與快閃記憶體有著緊密聯系,可謂是快閃記憶體性能潛能釋放的關鍵所在。而華為早在2005年就開始對快閃記憶體進行研究,對於NVMe如何走向落地和價值如何實現有著深刻的洞察與實踐。
2010年,NVMe最初作為一種硬碟介面協議誕生,充分釋放出快閃記憶體性能。但要想真正釋放數據中心包括計算、存儲和網路的性能,NVMe作為硬碟介面協議是遠遠不夠的。因此,NVMe經過多年發展,逐漸發展到存儲網路領域,NVMe over RoCE技術孕育而生。
NVMe over RoCE(Non-Volatile Memory Express over Remote Direct Access Memory over Converged Ethernet)作為新一代高性能存儲技術,將NVMe協議和網路領域中RDMA技術結合,它的出現真正讓數據中心的數據高速公路成為一種統一的網路,擁有性能、組網便利性和方案成本等多種優勢。但是它也存在著鏈路故障感知時長、網路實驗穩定性、部署易用性等方面的挑戰。
為此,華為集合全公司重量級產品線力量,從存儲和網路兩個方面對標准NVMe over RoCE方案進行增強,推出了NOF+增強方案。
具體到產品方面,華為是業內唯一端到端開發了NVMe SSD盤、NVMe快閃記憶體控制器和NVMe全快閃記憶體操作系統,率先實現全系列端到端NVMe全閃的廠商。
比如,華為去年推出的全新OceanStor存儲Dorado系列,其性能高達2000萬IOPS、極致時延達到0.05ms,各項指標遠超市場上同類競品。
在華為OceanStor存儲Dorado系列全快閃記憶體中,同時提供32G FC-NVMe和NVMe Over 100G RDMA全IP組網設計,實現前端網路連接、後端硬碟框連接、scale-out的控制器互聯均採用同一種網路協議;OceanStor存儲Dorado系列全快閃記憶體還針對NVMe設計了一套IO調度機制,徹底取消原來IO路徑上的盤級互斥鎖,避免了IO下發時隊列鎖沖突,降低軟體開銷,實現最佳性能。
此外,華為OceanStor存儲Dorado系列全快閃記憶體在操作系統層面針對NVMe進行了優化,智能晶元、FlashLink智能演算法,充分發揮了多核優勢,並且通過智能學習統計IO規律,提升讀緩存命中率和縮短批處理時間,大幅提升了性能與效率。
為了讓數據的高速公路更加穩定與可靠,華為OceanStor存儲Dorado系列全快閃記憶體在組件層提供了充足的保障。
例如,為增加埠可靠性,華為自研SSD支持原生雙埠技術,而不是採用內部Switch實現雙埠的方式,埠獨立、互不影響,為整個全快閃記憶體提供了牢固的硬體基礎和可靠性;此外,華為通過PCI-E多年的技術積累,具備完善的PCI-E鏈路管理、異常處理、熱插拔技術,支持SSD盤在任何時間、任何方式拔出,並提供端到端PCI-E系統可靠性,保障單盤更換或發生故障時不擴散。
針對大容量SSD使用容易造成數據丟失的情況,華為OceanStor存儲Dorado系列全快閃記憶體採用創新的RAID-TP軟體技術,基於Erasure Code演算法,在3塊盤同時失效的情況下能夠容忍數據不丟失、業務不中斷。華為成為業界唯三可以同時容忍3塊盤失效的廠商,並且是三家廠商中唯一可以實現15分鍾/TB 高效重構,重構速度領先其他兩家廠商20倍。華為OceanStor存儲Dorado系列全快閃記憶體還擁有諸如快照、克隆、遠程復制等完備的數據保護技術。
當前, 華為通過十多年的技術積累,華為已經擁有1000多個NVMe全快閃記憶體成功案例,用戶涵蓋到金融、政府、製造、能源等多個領域。
例如,成立於1996年的南華期貨,是全國期貨公司Top 10,主要從事期貨經紀、資產管理、證券投資等業務。南華期貨在大交所、鄭商所、深交所、嘉興聯通、香港PCCW等行業數據中心和電信運營商處租用VIP機房和機櫃,就近部署交易系統。
這樣做的目的只有一個:「快人一步」。南華期貨的業務是典型的「時間就是金錢」,一點點時間差往往可能帶來利潤的大幅變動,這種交易型的業務決定了其對時延要求極低,通常需要小於1ms。南華期貨通過部署華為OceanStor存儲Dorado全快閃記憶體來承載綜合交易平台,不僅穩定可靠,性能還提升3倍,為投資者提供了極佳的用戶體驗。
可以說,華為存儲的「快人一步」讓用戶在業務中也「快人一步」。
十八年風雨兼程,華為存儲如今已經成長為全球Top 5、中國Top 1級別的廠商,在全球布局了12個研發中心,擁有超過4000名研發工程師、800多項存儲專利,服務了全球超過12000家涵蓋各個行業的用戶並且連續十九個季度位列中國市場第一,更是在全快閃記憶體領域連續多個季度實現全球增速第一。
在這十八年中,技術創新是華為存儲的信仰,技術創新的腳步永不停止讓華為在高端存儲架構、NVMe、智能存儲等多個領域不斷實現突破,逐漸從市場的跟隨者成長為業界當之無愧的技術領先者。去年,華為存儲更是首次針對數據基礎設施技術難題設置了「奧林帕斯獎」,鼓勵和獎勵全球在數據基礎設施領域取得突破性貢獻的科研工作者。
未來,隨著更多華為天才少年以及其他人才的不斷加入,華為存儲有望在舞台中央施展更多精彩。