A. sql Server 伺服器組件都有哪些
SQL Server 2000的伺服器端組件:
1:SQL Server
SQL Server在操作系統中,以服務的形式實現,具體表現為:MS SQL Server Service,它是資料庫管理系統的核心資料庫引擎。該服務隨系統啟動運行;管理著整個SQL Server2000系統擁有的所有問題,是系統中唯一可以直接讀取和修改數據的組件。客戶對資料庫的所有請求,最終會體現成一組Transact-SQL命令。 MS SQL Server Service負責協調和安排這些服務請求的執行順序,然後逐步解釋和執行SQL命令,並遞交返回執行的結果。
2:SQL Server Agent
一直以來都不知道Agent用來干什麼,今天查看了一些資料,解釋如下:SQL Server Agent(SQL伺服器代理)在操作系統中以服務的形式運行,體現為:SQL Server Agent Service。SQL Server Agent為SQL Server提供調度服務,能夠自動執行資料庫管理員預先安排好的作業,監視SQL Server事件並根據事件觸發警報或運行實現安排好的程序。
通過配置和使用SQL Server Agent,可以實現資料庫系統的定時與自動管理。SQL Server Agent必須和SQL Server一同使用。
3:MS DTC(分布式事物協調器)
MS DTC也是以服務的形式存在和運行,MS DTC是一個事物管理器,它允許客戶的應用程序在一個事物中對分布在多個伺服器上的數據源進行操作。
4:Microsoft Search
Microsoft Search是一個全文搜索和查詢服務,是一個可選的組件,為資料庫系統提供強大的查詢能力,分為索引支持和查詢支持兩個功能。
SQL Server 2000客戶端組件
1:企業管理器
企業管理器是圖形化的集成管理工具,可以實現對SQL Server 2000伺服器的有效配置和管理。
2:查詢分析器
SQL Server 2000提供查詢分析器作為編寫Transact-SQL腳本程序的開發工具,通過彩色代碼編輯器和上下文敏感幫助提高了應用程序的可用性
3:SQL Server管理工具向導
4:SQL Server命令提示管理工具
B. sparkSQL和spark有什麼區別
Spark為結構化數據處理引入了一個稱為Spark SQL的編程模塊。簡而言之,sparkSQL是Spark的前身,是在Hadoop發展過程中,為了給熟悉RDBMS但又不理解MapRece的技術人員提供快速上手的工具。
sparkSQL提供了一個稱為DataFrame(數據框)的編程抽象,DF的底層仍然是RDD,並且可以充當分布式SQL查詢引擎。
SparkSql有哪些特點呢?
1)引入了新的RDD類型SchemaRDD,可以像傳統資料庫定義表一樣來定義SchemaRDD。
2)在應用程序中可以混合使用不同來源的數據,如可以將來自HiveQL的數據和來自SQL的數據進行Join操作。
3)內嵌了查詢優化框架,在把SQL解析成邏輯執行計劃之後,最後變成RDD的計算。
C. 客戶端pl/sql引擎和伺服器端pl/sql的區別
這個我都不太理解,感覺理解的人應該不多。Oracle數據體系結構dba方面的知識沒有提到這方面內容,PLSQL書上也很少有講這個。
PLSQL引擎是Oracle多種產品的一種特殊組件,用來處理PLSQL塊或者PLSQL子程序。服務端引擎和客戶端引擎應該沒什麼區別。
sql引擎必須在服務端,而plsql引擎可以在伺服器端也可以在客戶端.
plsql是Oracle資料庫系統和Oracle工具(如apex,oracle form,reports的一部分)的一部分,所以PLSQL可以駐留在PLSQL多層架構的任何層。
當PLSQL引擎在客戶端,如果PLSQL中不包含sql語句,那麼整個PLSQL語句都將在客戶端的PLSQL引擎中執行。
如果在sql中調用PLSQL,需要在兩種引擎之間切換,要使用到表函數,管道之類的。sql調用的PLSQL子程序必須在服務端。
純手打,只能講這么多了。
D. Mysql資料庫3種存儲引擎有什麼區別
MySQL常見的三種存儲引擎為InnoDB、MyISAM和MEMORY。其區別體現在事務安全、存儲限制、空間使用、內存使用、插入數據的速度和對外鍵的支持。具體如下:
1、事務安全:
InnoDB支持事務安全,MyISAM和MEMORY兩個不支持。
2、存儲限制:
InnoDB有64TB的存儲限制,MyISAM和MEMORY要是具體情況而定。
3、空間使用:
InnoDB對空間使用程度較高,MyISAM和MEMORY對空間使用程度較低。
4、內存使用:
InnoDB和MEMORY對內存使用程度較高,MyISAM對內存使用程度較低。
5、插入數據的速度:
InnoDB插入數據的速度較低,MyISAM和MEMORY插入數據的速度較高。
6、對外鍵的支持:
InnoDB對外鍵支持情況較好,MyISAM和MEMORY兩個不支持外鍵。
三種引擎特點如下:
1、InnoDB存儲引擎
InnoDB是事務型資料庫的首選引擎,支持事務安全表(ACID),其它存儲引擎都是非事務安全表,支持行鎖定和外鍵,MySQL5.5以後默認使用InnoDB存儲引擎。
InnoDB特點: 支持事務處理,支持外鍵,支持崩潰修復能力和並發控制。如果需要對事務的完整性要求比較高(比如銀行),要求實現並發控制(比如售票),那選擇InnoDB有很大的優勢。
如果需要頻繁的更新、刪除操作的資料庫,也可以選擇InnoDB,因為支持事務的提交(commit)和回滾(rollback)。
2、MyISAM存儲引擎
MyISAM基於ISAM存儲引擎,並對其進行擴展。它是在Web、數據倉儲和其他應用環境下最常使用的存儲引擎之一。MyISAM擁有較高的插入、查詢速度,但不支持事務,不支持外鍵。
MyISAM特點: 插入數據快,空間和內存使用比較低。如果表主要是用於插入新記錄和讀出記錄,那麼選擇MyISAM能實現處理高效率。如果應用的完整性、並發性要求比較低,也可以使用
3、MEMORY存儲引擎
MEMORY存儲引擎將表中的數據存儲到內存中,為查詢和引用其他表數據提供快速訪問。
MEMORY特點: 所有的數據都在內存中,數據的處理速度快,但是安全性不高。如果需要很快的讀寫速度,對數據的安全性要求較低,可以選擇MEMOEY。
它對表的大小有要求,不能建立太大的表。所以,這類資料庫只使用在相對較小的資料庫表。
(4)分布式sql引擎有幾種擴展閱讀:
mysql其餘不太常見的存儲引擎如下:
1、BDB: 源自Berkeley DB,事務型資料庫的另一種選擇,支持COMMIT和ROLLBACK等其他事務特性
2、Merge :將一定數量的MyISAM表聯合而成一個整體,在超大規模數據存儲時很有用
3、Archive :非常適合存儲大量的獨立的,作為歷史記錄的數據。因為它們不經常被讀取。Archive擁有高效的插入速度,但其對查詢的支持相對較差
4、Federated: 將不同的Mysql伺服器聯合起來,邏輯上組成一個完整的資料庫。非常適合分布式應用
5、Cluster/NDB :高冗餘的存儲引擎,用多台數據機器聯合提供服務以提高整體性能和安全性。適合數據量大,安全和性能要求高的應用
6、CSV: 邏輯上由逗號分割數據的存儲引擎。它會在資料庫子目錄里為每個數據表創建一個.CSV文件。這是一種普通文本文件,每個數據行佔用一個文本行。CSV存儲引擎不支持索引。
7、BlackHole :黑洞引擎,寫入的任何數據都會消失,一般用於記錄binlog做復制的中繼
E. sql有哪些系統存儲過程,各有什麼功能
打開sql2005--資料庫--系統資料庫---master--可編輯性--存儲過程--系統存儲過程。。裡面全是。。
具體都什麼功能 去幫助里 對應的找下。。呵呵。。
F. 阿里雲分布式資料庫服務DRDS誰使用過 簡單講講!
淘寶開源的TDDL和cobar的結合,放到了阿里雲上就是DRDS,是商品,服務,可以購買使用的。可以在阿里雲官網上注冊免費試用。
=====================================================
隨著互聯網時代的到來,計算機要管理的數據量呈指數級別地飛速上漲,而我們卻完全無法對用戶數做出准確預估。我們的系統所需要支持的用戶數,很可能在短短的一個月內突然爆發式地增長幾千倍,數據也很可能快速地從原來的幾百GB飛速上漲到了幾百個TB。如果在這爆發的關鍵時刻,系統不穩定或無法訪問,那麼對於業務將會是毀滅性的打擊。
伴隨著這種對於系統性能、成本以及擴展性的新需要,以HBase、MongoDB為代表的NoSQL資料庫和以阿里DRDS、VoltDB、ScaleBase為代表的分布式NewSQL資料庫如雨後春筍般不斷涌現出來。
本文將會介紹阿里DRDS的技術理念、發展歷程、技術特性等內容。
DRDS設計理念
從20世紀70年代關系資料庫創立開始,其實大家在資料庫上的追求就從未發生過變化:更快的存取數據,可以按需擴縮以承載更大的訪問量和更大的數據量,開發容易,硬體成本低,我們可以把這叫做資料庫領域的聖杯。
為了支撐更大的訪問量和數據量,我們必然需要分布式資料庫系統,然而分布式系統又必然會面對強一致性所帶來的延遲提高的問題,因為網路通信本身比單機內通信代價高很多,這種通信的代價就會直接增加系統單次提交的延遲。延遲提高會導致資料庫鎖持有時間變長,使得高沖突條件下分布式事務的性能不升反降(這個具體可以了解一下Amdahl定律),甚至性能距離單機資料庫都還有明顯的差距。
從上面的說明,我們可以發現,問題的關鍵並不是分布式事務做不出來,而是做出來了卻因為性能太差而沒有什麼卵用。資料庫領域的高手們努力了40年,但至今仍然沒有人能夠很好地解決這個問題,Google Spanner的開發負責人就經常在他的Blog上談論延遲的問題,相信也是飽受這個問題的困擾。
面對這個難題,傳統的關系資料庫選擇了放棄分布式的方案,因為在20世紀70~80年代,我們的資料庫主要被用來處理企業內的各類數據,面對的用戶不過幾千人,而數據量最多也就是TB級別。用單台機器來處理事務,用個磁碟陣列處理一下磁碟容量不夠的問題,基本上就能解決一切問題了。
然而,信息化和互聯網的浪潮改變了這一切,我們突然發現,我們服務的對象發生了根本性變化,從原來的幾千人,變成了現在的幾億人,數據量也從TB級別到了PB級別甚至更多。存在單點的單機系統無論如何努力,都會面對系統處理能力的天花板。原來的這條路,看起來是走不下去了,我們必須想辦法換一條路來走。
可是,分布式資料庫所面對的強一致性難題卻像一座高山,人們努力了無數個日日夜夜,但能翻越這座山的日子看來仍然遙遙無期。
於是,有一群人認為,強一致性這件事看來不怎麼靠譜,那徹底繞開這個問題是不是個更好的選擇?他們發現確實有那麼一些場景是不需要強一致事務的,甚至連SQL都可以不要,最典型的就是日誌流水的記錄與分析這類場景。而去掉了事務和SQL,介面簡單了,性能就更容易得到提升,擴展性也更容易實現,這就是NoSQL系統的起源。
雖然NoSQL解決了性能和擴展性問題,但這種繞開問題的方法給用戶帶來了很多困擾,系統的開發成本也大大提升。這時候就有另外一群人,他們覺得用戶需要SQL,覺得用戶也需要事務,問題的關鍵在於我們要努力地往聖杯的方向不斷前進。在保持系統的擴展性和性能的前提下,付出盡可能小的代價來滿足業務對資料庫的需要。這就是NewSQL這個理念的由來。
DRDS也是一個NewSQL的系統,它與ScaleBase、VoltDB等系統類似,都希望能夠找到一條既能保持系統的高擴展性和高性能,又能盡可能保持傳統資料庫的ACID事務和SQL特性的分布式資料庫系統。
DRDS發展歷程
在一開始,TDDL的主要功能就是做資料庫切分,一個或一組SQL請求提交到TDDL,TDDL進行規則運算後得知SQL應該被分發到哪個機器,直接將SQL轉發到對應機器即可(如圖1)。
圖1 TDDL資料庫切分
開始的時候,這種簡單的路由策略能夠滿足用戶的需要,我們開始的那些應用,就是通過這樣非常簡單的方式完成了他所有的應用請求。我們也認為,這種方案簡單可靠,已經足夠好用了。
然而,當我們服務的應用從十幾個增長到幾百個的時候,大量的中小應用加入,大家紛紛表示,原來的方案限制太大,很多應用其實只是希望做個讀寫分離,希望能有更好的SQL兼容性。
於是,我們做了第一次重大升級,在這次升級里,我們提出了一個重要的概念就是三層架構,Matrix對應資料庫切分場景,對SQL有一定限制,Group對應讀寫分離和高可用場景,對SQL幾乎沒有限制。如圖2所示。
圖2 資料庫升級為三層架構
這種做法立刻得到了大家的認可,TDDL所提供的讀寫分離、分庫分表等核心功能,也成為了阿里集團內資料庫領域的標配組件,在阿里的幾乎所有應用上都有應用。最為難得的是,這些功能從上線後,到現在已經經歷了多年雙11的嚴酷考驗,從未出現過嚴重故障(p0、p1級別故障屬於嚴重故障)。資料庫體系作為整個應用系統的重中之重,能做到這件事,真是非常不容易。
隨著核心功能的穩定,自2010年開始,我們集中全部精力開始關注TDDL後端運維系統的完善與改進性工作。在DBA團隊的給力配合下,圍繞著TDDL,我們成功做到了在線數據動態擴縮、非同步索引等關鍵特徵,同時也比較成功地構建了一整套分布式資料庫服務管控體系,用戶基本上可以完全自助地完成整套資料庫環境的搭建與初始化工作。
大概是2012年,我們在阿里雲團隊的支持下,開始嘗試將TDDL這套體系輸出到阿里雲上,也有了個新的名字:阿里分布式資料庫服務(DRDS),希望能夠用我們的技術服務好更多的人。
不過當我們滿懷自信地把自己的軟體拿到雲上的時候,卻發現我們的軟體距離用戶的要求差距很大。在內部因為有DBA的同學們幫助進行SQL review,所以SQL的復雜度都是可控的。然而到了雲上,看了各種渠道提過來的兼容性需求,我們經常是不自覺地發出這樣的感嘆:「啊?原來這種語法MySQL也是可以支持的?」
於是,我們又進行了架構升級,這次是以兼容性為核心目標的系統升級工作,希望能夠在分布式場景下支持各類復雜的SQL,同時也將阿里這么多年來在分布式事務上的積累都帶到了DRDS裡面。
這次架構升級,我們的投入史無前例,用了三年多才將整個系統落地完成。我們先在內部以我們自己的業務作為首批用戶上線,經過了內部幾百個應用的嚴酷考驗以後,我們才敢拿到雲上,給到我們的最終用戶使用。
目前,我們正在將TDDL中更多的積累輸出到雲上,同時也努力優化我們的用戶界面。PS:其實用戶界面優化對我們這種專注於高性能後端技術的團隊來說,才是最大的技術挑戰,連我也去學了AngularJS,參與了用戶UI編。
DRDS主要功能介紹
發展歷史看完了,下面就由我來介紹一下目前我們已經輸出到雲上的主要功能。
【分布式SQL執行引擎】
分布式SQL引擎主要的目的,就是實現與單機資料庫SQL引擎的完全兼容。目前我們的SQL引擎能夠做到與MySQL的SQL引擎全兼容,包括各類join和各類復雜函數等。他主要包含SQL解析、優化、執行和合並四個流程,如圖3中綠色部分。
圖3 SQL引擎實現的主要流程
雖然SQL是兼容的,但是分布式SQL執行演算法與單機SQL的執行演算法卻完全不同,原因也很簡單,網路通信的延遲比單機內通信的延遲大得多。舉個例子說明一下,我們有份文件要從一張紙A上謄寫到另外一張紙B上,單機系統就好比兩張紙都在同一個辦公室里,而分布式資料庫則就像是一張紙在北京,一張紙在杭州。
自然地,如果兩張紙在同一個辦公室,因為傳輸距離近,逐行謄寫的效率是可以接受的。而如果距離是北京到杭州,用逐行謄寫的方式,就立刻顯得代價太高了,我們總不能看一行,就打個「飛的」去杭州寫下來吧。在這種情況下,還是把紙A上的信息拍個照片,【一整批的】帶到杭州去處理,明顯更簡單一些。這就是分布式資料庫特別強調吞吐調優的原因,只要是涉及到跨機的所有查詢,都必須盡可能的積攢一批後一起發送,以減少系統延遲提高帶來的不良影響。
【按需資料庫集群平滑擴縮】
DRDS允許應用按需將新的單機存儲加入或移出集群,DRDS則能夠保證應用在遷移流程中實現不停機擴容縮容。
圖4 DRDS按需進行平滑擴縮
在內部的資料庫使用實踐中,這個功能的一個最重要應用場景就是雙11了。在雙11之前,我們會將大批的機器加入到我們的資料庫集群中,抗過了雙11,這批機器就會下線。
當DRDS來到雲上,我們發現雙11其實不僅僅隻影響阿里內部的系統。在下游的各類電商輔助性系統其實也面對巨大壓力。在雙11前5天,網聚寶的熊總就找到我說,擔心撐不過雙11的流量,怕系統掛。於是我們就給他介紹了這個自動擴容的功能怎麼用,他買了一個月的資料庫,掛接在DRDS上。資料庫能力立刻翻倍,輕松抗過了雙11,也算是我印象比較深刻的一個案例了。
因為我們完全無法預測在什麼時間點系統會有爆發性的增長,而如果在這時候系統因為技術原因不能使用,就會給整個業務帶來毀滅性的影響,風口一旦錯過,就追悔莫及了。我想這就是雲計算特別強調可擴展能力的原因吧。
【小表廣播】
小表廣播也是我們在分布式資料庫領域內最常用的工具之一,他的核心目的其實都是一個——盡可能讓查詢只發生在單機。
讓我們用一個例子來說明,小表廣播的一般使用場景。
圖5 小表廣播場景
圖5中,如果我想知道買家id等於0的用戶在商城裡面買了哪些商品,我們一般會先將這兩個表join起來,然後再用where平台名=」商城」 and buyerID = 0找到符合要求的數據。然而這種join的方式,會導致大量的針對左表的網路I/O。如果要取出的數據量比較大,系統延遲會明顯上升。
這時候,為了提升性能,我們就必須要減少跨機join的網路代價。我們比較推薦應用做如下處理,將左表復制到右表的每一個庫上。這樣,join操作就由分布式join一下變回到本地join,系統的性能就有很大的提升了,如圖6所示。
圖6
【分布式事務套件】
在阿里巴巴的業務體系中存在非常多需要事務類的場景,下單減庫存,賬務,都是事務場景最集中的部分。
而我們處理事務的方法卻和傳統應用處理事務的方案不大一樣,我們非常強調事務的最終一致性和非同步化。利用這種方式,能夠極大地降低分布式系統中鎖持有的時間,從而極大地提升系統性能。
圖7 DRDS分布式事務解決套件
這種處理機制,是我們分布式事務能夠以極低成本大量運行的最核心法門。在DRDS平台內,我們將這些方案產品化,為了DRDS的分布式事務解決套件。
利用他們,能夠讓你以比較低的成本,實現低延遲,高吞吐的分布式事務場景。
DRDS的未來
阿里分布式資料庫服務DRDS上線至今,大家對這款產品的熱情超出了我們的預期,短短半年內已經有幾千個申請。
盡管還在公測期,但是大家就已經把關繫到身家性命的寶貴在線數據業務放到了DRDS上,我能夠感受到這份沉甸甸的信賴,也不想辜負這份信賴。
經過阿里內部幾千個應用的不斷歷練,DRDS已經積累出一套強大的分布式SQL執行引擎和和一整套分布式事務套件。
我也相信,這些積累能夠讓用戶在基本保持單機資料庫的使用習慣的前提下,享受到分布式資料庫高性能可擴展的好處。
在平時的DRDS支持過程中,我面對最多的問題就是,DRDS能不能夠在不改變任何原有業務邏輯和代碼的前提下,實現可自由伸縮和擴展呢?十分可惜的是,關系資料庫發展至今,還沒有找到既能保留傳統資料庫一切特性,又能實現高性能可擴展資料庫的方法。
然而,雖不能至,吾心嚮往之!我們會以「可擴展,高性能」為產品核心,堅定地走在追尋聖杯的路上,並堅信最終我們一定能夠找尋到它神聖的所在。
作者簡介:王晶昱,花名沈詢,阿里巴巴資深技術專家。目前主要負責阿里的分布式資料庫DRDS(TDDL)和阿里的分布式消息服務ONS(RocketMQ/Notify)兩個系統。
G. 大數據運算的三種引擎是什麼有什麼區別
現在流行的開源引擎可不止三個,先羅列5個給你:
1)Hive,披著SQL外衣的Map-Rece。Hive是為方便用戶使用Map-Rece而在外面封裝了一層SQL,由於Hive採用了SQL,它的問題域比Map-Rece更窄,因為很多問題,SQL表達不出來,比如一些數據挖掘演算法,推薦演算法、圖像識別演算法等,這些仍只能通過編寫Map-Rece完成。
2) Impala:Google Dremel的開源實現(Apache Drill類似),因為互動式實時計算需求,Cloudera推出了Impala系統,該系統適用於互動式實時處理場景,要求最後產生的數據量一定要少。
3)Shark/Spark:為了提高Map-Rece的計算效率,Berkeley的AMPLab實驗室開發了Spark,Spark可看做基於內存的Map-Rece實現,此外,伯克利還在Spark基礎上封裝了一層SQL,產生了一個新的類似Hive的系統Shark。
4) Stinger Initiative(Tez optimized Hive):Hortonworks開源了一個DAG計算框架Tez,Tez可以理解為Google Pregel的開源實現,該框架可以像Map-Rece一樣,可以用來設計DAG應用程序,但需要注意的是,Tez只能運行在YARN上。Tez的一個重要應用是優化Hive和PIG這種典型的DAG應用場景,它通過減少數據讀寫IO,優化DAG流程使得Hive速度提供了很多倍。
5)Presto:FaceBook於2013年11月份開源了Presto,一個分布式SQL查詢引擎,它被設計為用來專門進行高速、實時的數據分析。它支持標準的ANSI SQL,包括復雜查詢、聚合(aggregation)、連接(join)和窗口函數(window functions)。Presto設計了一個簡單的數據存儲的抽象層,來滿足在不同數據存儲系統(包括HBase、HDFS、Scribe等)之上都可以使用SQL進行查詢。
H. 分布式資料庫和nosql區別嗎
互聯網公司常用的基本集中在以下幾種,每種只舉一個比較常見或者應用比較成功的例子吧。
1. In-Memory KV Store : Redis
in memory key-value store,同時提供了更加豐富的數據結構和運算的能力,成功用法是替代memcached,通過checkpoint和commit log提供了快速的宕機恢復,同時支持replication提供讀可擴展和高可用。
2. Disk-Based KV Store: Leveldb
真正基於磁碟的key-value storage, 模型單一簡單,數據量不受限於內存大小,數據落盤高可靠,Google的幾位大神出品的精品,LSM模型天然寫優化,順序寫盤的方式對於新硬體ssd再適合不過了,不足是僅提供了一個庫,需要自己封裝server端。
3. Document Store: Mongodb
分布式nosql,具備了區別mysql的最大亮點:可擴展性。mongodb 最新引人的莫過於提供了sql介面,是目前nosql里最像mysql的,只是沒有ACID的特性,發展很快,支持了索引等特性,上手容易,對於數據量遠超內存限制的場景來說,還需要慎重。
4. Column Table Store: HBase
這個富二代似乎不用贅述了,最大的優勢是開源,對於普通的scan和基於行的get等基本查詢,性能完全不是問題,只是只提供裸的api,易用性上是短板,可擴展性方面是最強的,其次坐上了Hadoop的快車,社區發展很快,各種基於其上的開源產品不少,來解決諸如join、聚集運算等復雜查詢。
I. 大數據的分布式資料庫的發展趨勢如何
現在大數據是一個十分火熱的技術,這也使得很多人都開始關注大數據的任何動態,因為大數據在某種程度上來說能夠影響我們的生活。在這篇文章中我們就給大家介紹一下大數據的分布式資料庫的發展趨勢,希望這篇文章能夠幫助大家更好理解大數據的分布式資料庫的發展趨勢。
其實不論是Hadoop還是分布式資料庫,技術體繫上兩者都已經向著計算存儲層分離的方式演進。對於Hadoop來說這一趨勢非常明顯,HDFS存儲與YARN調度計算的分離,使得計算與存儲均可以按需橫向擴展。而分布式資料庫近年來也在遵循類似的趨勢,很多資料庫已經將底層存儲與上層的SQL引擎進行剝離。傳統的XML資料庫、OO資料庫、與pre-RDBMS正在消亡;新興領域文檔類資料庫、圖資料庫、Table-Style資料庫與Multi-Model資料庫正在擴大自身影響;傳統關系型資料庫、列存儲資料庫、內存分析型資料庫正在考慮轉型。可以看到,從技術完整性與成熟度來看,Hadoop確實還處於相對早期的形態。直到今天,很多技術在很多企業應用中需要大量的手工調優才能夠勉強運行。同時,Hadoop的主要應用場景一直以來面向批處理分析型業務,傳統資料庫在線聯機處理部分不是其主要的發展方向。同時Hadoop技術由於開源生態體系過於龐大,同時參與改造的廠商太多,使得用戶很難完全熟悉整個體系,這一方面大大增加了開發的復雜度,提升了用戶使用的難度,另一方面則是各個廠商之間維護不同版本,使得產品的發展方向可能與開源版本差別逐漸加大。
而分布式資料庫領域經歷了幾十年的磨練,傳統RDBMS的MPP技術早已經爐火純青,在分類眾多的分布式資料庫中,其主要發展方向基本可以分為「分布式聯機資料庫」與「分布式分析型資料庫」兩種。對比Hadoop與分布式資料庫可以看出,Hadoop的產品發展方向定位,與分布式資料庫中列存儲資料庫相當重疊而在高並發聯機交易場景,在Hadoop中除了HBase能夠勉強沾邊以外,分布式資料庫則占據絕對的優勢。目前,從Hadoop行業的發展來看,很多廠商而是將其定位改變為數據科學與機器學習服務商。因此,從商業模式上看以Hadoop分銷的商業模式基本已經宣告結束,用戶已經體驗到維護整個Hadoop平台的困難而不願被強迫購買整個平台。大量用戶更願意把原來Hadoop的部件拆開靈活使用,為使用場景和結果買單,而非平台本身買單。另外一個細分市場——非結構化小文件存儲,一直以來都是對象存儲、塊存儲,與分布式文件系統的主戰場。如今,一些新一代資料庫也開始進入該領域,可以預見在未來的幾年中,小型非結構化文件存儲也可能成為具備多模數據處理能力的分布式資料庫的戰場之一。
我們在這篇文章中給大家介紹了很多有關大數據分布資料庫的發展前景,通過這篇文章我們不難發現資料庫的發展是一個極其重要的內容,只有搭建分布式資料庫,大數據才能夠更好地為我們服務。