雲計算如何影響NoSQL資料庫的發展

2021-07-06 03:02:38 字數 3433 閱讀 8937

摘要:很多人把nosql當作下一代資料庫的典範,這一點連guy harrison也不例外。這位dba大師就非關係型資料庫的相關領域及雲計算的推動作用回答了記者的提問。

guy harrison是quest軟體研發經理和資料庫大師,最近他談及了在quest雲計算新產品toad和下一代稱之為「nosql」的非關係型資料庫中所做的工作,並就非關係型資料庫的相關領域及雲計算的推動作用回答了記者的提問。以下為訪談記錄:

quest software's chief officer, guy harrison

問:什麼推動了新型非關係型資料庫的出現?是否是如今數量驚人的資料?

guy harrison:那是整個爭論的焦點所在。將資料儲存在硬體中,然後使用乙個不怎麼合適且能力有限的引擎;或者支付一定的費用將資料儲存在某些設施中,並在真正使用之前鎖存起來。如果你去看看hadoop目前已初具規模的資料倉儲市場,它幾乎是乙個不斷發生衝突、碰撞的過程。

oracle正致力於海量資料、大規模並行處理、優化i/o、cpu和i/o之間的超高速通道等工作,並試圖通過相同的處理途徑和安全的檔案格式在大量資料中進行相關操作,這就意味著你無需在資料庫中處理資料,你能夠將資料庫指向別處並清楚其結構,但是它仍然儲存在它初次出現的地方。

那距離目前hadoop的成就並不遙遠。雖然兩種技術之間還存在著一定的差距,但是兩者趨同性趨勢已相當明顯,他們將會變得幾乎完全一致。

問:那麼目前nosql資料庫又存在著哪些缺點呢?它能否提供乙個全面的解決方案?

guy harrison:它在很多方面都有具體的任務,同時還支援非常大型的應用實現。但是其中充斥著顯而易見的差距需要進一步彌補,這也反應了其成熟度水平。

我認為任何在這個行業中工作過一段時間的人,特別是如果他從企業的角度出發,都會理解資料不在資料庫中只是出於應用的原因。並不僅僅限於插入、更新和刪除等操作,還要進行挖掘和分析,以便用於決策和趨勢分析。擁有更詳盡的資料,在決策時就能擁有更精細準確的資料支援。但大多數nosql資料庫並沒有為之提供解決方案。

問:能否提供區別關係型資料庫和非關係型資料庫的實際示例?

guy harrison:你可以想象下諸如hbase沒有真正一致範圍的情況,如果你需要在hbase**中完成類似select count *的功能,那麼你基本上就需要開始讀取所有的標籤來計數行數,因為沒有現成的api可以告訴你**中有多少行,而唯一可行的方法就是把它們都讀取出來。

如果與此同時,某人又在執行插入操作,那麼就沒有辦法真正確保你查詢到所有資料,因此你就有可能遭遇到count *操作永遠無法執行完畢的窘境。所以,我們就必須拿出些能夠解決問題的舉措出來,要麼設定超時預設值並發出諸如「無法執行該任務,查詢時間過長」的提示,要麼就應當試圖估算其大小。那是乙個在任何關係型資料庫中都能夠順利執行的簡單關係型查詢例子,同時這也是在非關係型資料庫中一般不予以支援的應用。

問:那麼它們的用途何在?

guy harrison:讓我們看看目前的景象,在乙個直接使用nosql的組織中hadoop以及hive如何運用,乙個在hadoop基礎上使用類sql介面的產品,你就能了解這兩種nosql的使用情況。一種用於具有無限可擴充套件性和相對簡單資料模型的高速oltp,而另一種由hadoop提供的是如同正在使用sql層資料倉儲的使用體驗。

問:企業為什麼對nosql如此地感興趣?

guy harrison:我們已經看到了最大型企業資料庫的容量已呈平穩的指數增長的趨勢,而資料倉儲技術大體上直到最近才能夠跟上這種增長趨勢的腳步。而目前該指數型增長已經剛剛超出了最大型資料庫的能力範圍。oracle和teradata為此苦苦支撐,但是hadoop的出現為此提供了乙個更為經濟的方案。

目前,也許我們的許多客戶並不願意採用nosql,但是有許多客戶將在未來一年左右的時間內選擇採用hadoop。與oracle公司的exadata相比,處理建立海量資料倉儲的大量記錄資料的經濟性將更具成本效益。

問:似乎雲計算和這些非關係型資料處理模型有著齊頭並進的發展趨勢,為什麼會這樣?

guy harrison:首先,所有的雲計算平台必須提供一些彈性儲存模型,否則其經濟模式將受到損害。使用的應用程式越來越多,我希望能夠根據我實際使用情況來計算我在資料庫方面的費用,然後我希望根據實際使用情況來計算我消耗的資源,事實上這是很難使用關係型資料庫來實現的。從理論上來說,oracle公司的rac可以做到這一點,但是你無法自動分享mysql。分享它的人必須要投入龐大的手動工作量,並規劃各種東西。現實中這是難以實現的。

因此amazon的******db和微軟公司的azure table都是一種非關係型資料庫。google公司也擁有類似的產品。

問:那是**商端的狀況,但是企業客戶是否正在使用這些技術和產品呢?

guy harrison:netflix是******db的大客戶,此外,我們還未能看到許多令人鼓舞的案例。如果身處雲中,那麼你很可能更想嘗試nosql解決方案,並希望以這種方法調整規模和支付費用,而傳統的關係型資料庫則會顯得無能為力。

這又推動了nosql資料庫託管機制。rackspace公司正在研究提供cassandra,******db也同樣在努力中。業界正在努力推動 hadoop以及其他型別適用於雲計算的大型資料分析應用。amazon提供了乙個相當成熟的hadoop實現,你可以按執行小時付費,可在開啟成千上萬節點完成短期處理之後再次全部關閉。而如果你在自有集群中進行這樣的操作,效率是非常低的,但是如果你希望以極具成本效益的方法來處理大量資料時,這又不失為乙個好的解決方案。目前,已有多個成功的公司實施案例。

問:那麼對於期待廉價資料處理的企業來說,這應當是乙個最佳的資料處理方案?

此外,對於某些企業來說,資料外遷還可能存在技術問題,事實上將資料置於外部的資料中心往往會引發所有權等各種各樣的問題,這樣的做法可能是違法的。在許多情況下,公司必須按照法律或公司政策而放棄這樣的方案。從我個人來看,我信任amazon,但是我並不確定我是否願意拿我的業務去打賭,他們是否能夠保護資料,不會丟失等等。

問:展望未來,nosql是否會取代關係型資料庫?

guy harrison:我當然不認為關係型資料庫會退出市場,它仍然將佔據主導地位。但是關係型資料庫處理所有的資料面臨的限制是它的薄弱之處。但是,我們寄希望於新型資料庫,除少數幾個非常特殊地點外我們幾乎沒有現實世界的範例。

你已經擁有了用於twitter和facebook的cassandra,但是它們是世界上最大**之一,並不能夠代表企業客戶,或代表一般**。關係型資料庫提供了這麼多的功能,有這麼多知道如何使用的專業人士,它還是如此的可靠和安全,因此它可能將是95%資料處理需求的最佳選擇。儘管如此,專業的 nosql資料庫還是有可能成為最合適的選擇。

作者簡介:guy harrison是quest軟體公司的研發董事,他在資料庫設計、開發、管理和優化方面擁有者20年的工作經驗。guy是一位oracle ace,是《oracle效能生存指南》(prentice hall出版社,2009)和《mysql儲存過程程式設計》(o』reilly和steven feuerstein)以及其他資料庫技術書籍、文章、演講的作者。guy是quest公司spotlight系列產品的架構師,並領導開發了quest 公司的雲資料庫產品toad

Nosql資料庫概述

nosql資料庫簡稱非關係型資料庫,not only sql 那麼nosql資料庫有什麼特點呢?1.易擴充套件 nosql資料庫種類很多,但是有乙個共同的特點是都去掉了關係型資料庫的關係型特性 資料之間無關係,這樣就很容易擴充套件,也在架構的層面帶來了可擴充套件的能力 2.大資料量高效能 nosql...

NoSQL資料庫筆談

序 思想篇cap 最終一致性 變體base 其他i o的五分鐘法則 不要刪除資料 ram是硬碟,硬碟是磁帶 amdahl定律和gustafson定律 萬兆乙太網 手段篇一致性雜湊 亞馬遜的現狀 演算法的選擇 quorum nrw vector clock virtual node gossip go...

NoSQL資料庫簡介

一 簡介 nosql not only sql 泛指非關係型的資料庫。隨著網際網路web2.0 的興起,傳統的關聯式資料庫在應付web2.0 特別是超大規模和高併發的sns型別的web2.0純動態 已經顯得力不從心,暴露了很多難以克服的問題,而非關係型的資料庫則由於其本身的特點得到了非常迅速的發展。...