【杭州網站設計】SQL or NoSQL——云計算環(huán)境中該選擇誰?
分享 2011.07.19 瀏覽次數(shù):6962次
NoSQL和SQL之間真正的差異是什么?實質上,是因為不同的訪問模式導致了NoSQL和SQL可擴展性和性能上的不同。
NoSQL只允許數(shù)據在受限的預定義模式訪問。例如DHT (Distributed Hash Table)通過hashtable API訪問。其他NoSQL數(shù)據服務訪問模式同樣受限。因此可擴展性和性能結構是可預測和可靠的。
而在SQL中,訪問模式預先是不知道的,SQL是一種通用語言,允許數(shù)據以各種方式訪問,程序員也對SQL語句的執(zhí)行能力控制有限。
換句話說,在SQL中,數(shù)據模型不執(zhí)行特定的工作方式與數(shù)據。強調建立數(shù)據完整性、簡潔性、標準化和抽象化。這對于所有大型復雜的應用極為重要。
為什么是NoSQL
NoSQL提供的方法對于SQL數(shù)據庫來說有巨大的優(yōu)勢。因為它允許應用程序擴展的新的水平。新的數(shù)據服務基于真正可擴展的結構和體系構建云、構建分布式。這對于應用開發(fā)來說是非常有吸引力的。無需DBA,無需復雜的SQL查詢。
這是不小的問題,一個好程序員自由選擇一個數(shù)據模型,使用熟悉的工具寫應用程序,減少對他人的依賴于,并測試和優(yōu)化的代碼,而不做猜測或一個黑盒(DB)的計數(shù)。
這些都是NoSQL運動的所有主要優(yōu)勢,但NoSQL也非萬能,具體而言,數(shù)據模型的選擇、接口規(guī)范以及當前面臨的新業(yè)務比如移動業(yè)務數(shù)據的處理問題,都是NoSQL無法回避的。
NoSQL絕非萬能
數(shù)據模型
如果沒有一個統(tǒng)一的、定義良好的數(shù)據模型,無論采用何種技術都有缺陷。
SQL的數(shù)據模型定義了高度結構化的數(shù)據結構,以及對這些結構之間關系的嚴格定義。在這樣的數(shù)據模型上執(zhí)行的查詢操作會比較局限,而且可能會導致復雜的數(shù)據遍歷操作。但是數(shù)據結構的復雜性及查詢的復雜性,會導致系統(tǒng)產生如下的一些限制:比如當數(shù)據量增長到一臺機器已經不能容納,我們需要將不同的數(shù)據表分布到不同的機器;如果你的結構化數(shù)據并沒有那么強,或者對每一行數(shù)據的要求比較靈活,那可能關系型的數(shù)據模型就太過嚴格了;再有,使用簡單的查詢語言可能會導致應用層的邏輯更復雜,但是這樣可以將存儲系統(tǒng)的工作簡單化,讓它只需要響應一些簡單的請求。
此外,NoSQL數(shù)據庫并非是唯一適合存儲大量數(shù)據或大型數(shù)據,顯然,通過良好的分區(qū)設計,SQL數(shù)據庫也可以獲得極好的擴展性。
接口和互操作問題
不可否認,NoSQL的數(shù)據服務接口還有待規(guī)范。比如DHT,這是一個簡單的接口,但仍舊沒有標準的語義。每個DHT服務都使用其自己的一套接口。另一個大問題是不同的數(shù)據結構,如 DHT和binary tree,只是作為一個例子,共享數(shù)據對象。所有這些服務中,指針沒有內在的語義。事實上,這些服務中,處理互操作性是開發(fā)者的職責,這一點很很重要,尤其是當需要數(shù)據被多個服務訪問時。一個簡單的例子:后臺工作由Java實現(xiàn),Web服務類工作由PHP實現(xiàn),數(shù)據可以被輕易地從兩個域訪問數(shù)據嗎?顯然,人們可以使用Web服務作為前端數(shù)據訪問層,但是,NoSQL有可能讓事情變得更復雜,并降低了業(yè)務敏捷性,靈活性和性能,同時增加了開發(fā)工作量。
移動業(yè)務
在移動業(yè)務領域,需要一套工具,這套工具不僅要有可擴展性,而且還易于管理并且穩(wěn)定,并在云上有一個固定的設置服務器。當系統(tǒng)出現(xiàn)問題的時候,可以不需要通過判斷整個系統(tǒng)或開發(fā)平臺來診斷問題,而是通過遠程訪問——這正是運維經理們所要面對的問題,但是在目前NoSQL所能提供的服務功能來看,很難實現(xiàn),即便是Amazon的托管環(huán)境。
SQL和NoSQL如何結合?
總而言之,在NoSQL和SQL的選擇上,需要了解到以下內容:
數(shù)據模型及操作模型:你的應用層數(shù)據模型是行、對象還是文檔型的呢?這個系統(tǒng)是否能支持你進行一些統(tǒng)計工作呢?
可靠性:當你更新數(shù)據時,新的數(shù)據是否立刻寫到持久化存儲中去了?新的數(shù)據是否同步到多臺機器上了?
擴展性:你的數(shù)據量有多大,單機是否能容下?你的讀寫量求單機是否能支持?
分區(qū)策略:考慮到你對擴展性,可用性或者持久性的要求,你是否需要一份數(shù)據被存在多臺機器上?你是否需要知道數(shù)據在哪臺機器上,以及你能否知道。
一致性:你的數(shù)據是否被復制到了多臺機器上,這些分布在不同點的數(shù)據如何保證一致性?
事務機制:你的業(yè)務是否需要ACID的事務機制?
單機性能:如果你打算持久化的將數(shù)據存在磁盤上,哪種數(shù)據結構能滿足你的需求(你的需求是讀多還是寫多)?寫操作是否會成為磁盤瓶頸?
負載可評估:對于一個讀多寫少的應用,諸如響應用戶請求的web應用,我們總會花很多精力來關注負載情況。你可能需要進行數(shù)據規(guī)模的監(jiān)控,對多個用戶的數(shù)據進行匯總統(tǒng)計。你的應用場景是否需要這樣的功能呢?
使用NoSQL架構實現(xiàn)SQL數(shù)據庫?
使用NoSQL的基礎架構實現(xiàn)SQL數(shù)據庫是一個很好的解決方案。一個SQL數(shù)據庫是可擴展、易管理,云就緒、高度可用的,完全建立在NoSQL的基礎結構(分布式)上,但仍然提供SQL數(shù)據庫的所有優(yōu)勢,如互操作性,定義良好的語義以及更多。
這種混合結構也許不如純粹的NoSQL的服務,但足以滿足需要更穩(wěn)定系統(tǒng)、可擴展性和云服務的80%的市場需求。
這種解決辦法還允許很容易地遷移現(xiàn)有的應用到云環(huán)境,從而保護相關組織在這些應用上所付出的巨大的投資。
在我看來,構建于NoSQL基礎之上的SQL數(shù)據庫,可以為那些在其成長期間期望靈活、高效的客戶提供最高的價值。
原文鏈接:http://cloud.dzone.com/news/sql-vs-nosql-cloud-which
- 標簽:
杭州網站設計公司 杭州網站建設公司 杭州網站制作公司 杭州網站設計 杭州網站建設 杭州網站制作 杭州精品網站制作 杭州精典網站制作 杭州精品網站設計
-
杭州網站設計公司:品牌網站開發(fā)助力企業(yè)成長
日期:2024-12-20瀏覽次數(shù):867次
-
杭州網站建設公司:商城網站建設的六大關鍵步驟
日期:2024-12-18瀏覽次數(shù):898次
-
杭州網站制作:醫(yī)院網站設計與域名備案的復雜性探討
日期:2024-12-18瀏覽次數(shù):896次
-
杭州網站制作公司:打造安全可靠的醫(yī)院網站
日期:2024-12-11瀏覽次數(shù):1065次
-
杭州網站設計公司:數(shù)據庫在高端網站制作中的關鍵作用
日期:2024-12-11瀏覽次數(shù):1033次
相關新聞
整合同類新聞,相關新聞一手掌握
-
直播類保定app開發(fā),你了解了嗎
日期:2021-02-25瀏覽次數(shù):1992次
-
保定app開發(fā):淺談Web App、原生App、混合App
日期:2021-02-25瀏覽次數(shù):2005次
-
保定做網站的聚焦點到底應該是什么?
日期:2020-10-15瀏覽次數(shù):2041次
-
保定網站制作:淺析簡易傻瓜式商務型網站制作
日期:2020-10-15瀏覽次數(shù):2260次
最新新聞
與互聯(lián)網同行,實時掌握網建行業(yè)最新動態(tài)
-
【杭州網站設計】騰訊無線搜搜將推生活地圖搜索
日期:2010-12-24瀏覽次數(shù):8377次
-
【杭州網站設計】軟件定價的藝術
日期:2011-06-22瀏覽次數(shù):7155次
-
論杭州小程序開發(fā)與運營
日期:2021-01-07瀏覽次數(shù):4489次
-
杭州app開發(fā),怎樣的app能讓用戶喜愛?
日期:2021-08-12瀏覽次數(shù):4355次
-
怎樣做杭州網站制作更加科學?
日期:2021-08-20瀏覽次數(shù):3879次
隨機新聞
新聞新動態(tài),您需要的新聞管家
洞悉市場趨勢演變讓傳播回歸社會
免費獲取網站建設與網絡推廣方案報價
-
關于我們
杭州帷拓科技有限公司,是一家新型的全案網絡開發(fā)公司,作為以互聯(lián)網高端網站建設、APP開發(fā)、小程序開發(fā)為核心的專業(yè)網絡技術服務供應商,帷拓科技致力于全面分析市場環(huán)境、衡量與預測市場需求、整合區(qū)別于行業(yè)競爭對手的絕對優(yōu)勢,結合品牌理念深度挖掘項目優(yōu)勢和產品價值,提升客戶品牌認知、認可度。
-
我們的客戶
帷拓科技歷經十年沉淀,與國內外上千家客戶達成合作關系,其中穩(wěn)定合作的公司有:浙江華為、浙江移動、浙江5G產業(yè)聯(lián)盟、浙江省社科院、綠城足球俱樂部、娃哈哈雙語學校、健康中國杭州峰會、科雷機電等,帷拓科技始終堅持“帷有專業(yè),才能拓展無限”的服務理念,堅持“認真堅持細節(jié)”的優(yōu)質服務理念,不斷完善自身,成就企業(yè),最終實現(xiàn)共贏。
-
我們的業(yè)務
帷拓科技主營業(yè)務范圍包含互聯(lián)網高端網站建設、APP開發(fā)、小程序開發(fā)、商城網站建設、公眾號運營以及數(shù)字營銷等,涵蓋了服務、房產、數(shù)碼、服裝、物流貿易等行業(yè),根據品牌現(xiàn)狀,為每個客戶量身定制項目整體服務方案,以敏銳的市場洞察力、創(chuàng)新的市場策劃能力,全面把握市場變化,為客戶實現(xiàn)從企業(yè)到消費者的價值轉換。