NoSQL依賴的不只是大數據 還有應用程序架構的改變
Matt Asay —— 現任10gen公司策略副總監,自2005年起于多家公司擔任過類似職務。出名的開源提倡者,前OSI董事會成員。
以下為譯文
因為在其用處上開發者和架構師很難達成共識,NoSQL數據庫已經成為爭論的熱點。有些開發者甚至認為NoSQL只是填補一時所需的產物:他們堅信NoSQL數據庫將受制于特殊用途的應用程序,而SQL也將恢復其統治性地位。然而這種觀點明顯忽略了應用程序設計原因及方式的根本性改變。出于多種原因,NoSQL必將存活。
可擴展性和大數據
GB級數據時代已經成為過去,當下的應用程序即使再控制都需要應對TB或者PB級的數據,并且大多數的還呈持續性增長。隨著數據負載的增加,IT機構需要的是低成本下進行靈活擴展,而不是那種需要幾十萬美元才可以構建的單服務器方案,并且隨著規模的增加變的愈加昂貴。
NoSQL數據庫很容易滿足擴展需求,因為它們就是為了橫向擴展而生的——而非傳統數據庫的縱向擴展。通過運行在廉價的商用服務器或云計算實例上,NoSQL數據庫在增加或減少站點性能的時可帶來成本效益——即使你沒有很多的預算也可以擁有一個較高的性能。
更因為NoSQL數據庫上更少的擴展限制,它們能使新時代應用程序在應對巨體積數據時更得心應手。因為數據體積只會越來越多,所以我們對可以應對其增長的數據庫需求是永恒的。
系統架構的改變
隨著云計算的出現,系統的建立方式也發生了徹底的改變;當然隨著新類型服務器和技術的出現,它們肯定會繼續的變化。數據庫實例必須可以輕松的在節點間進行傳播,這些節點可能建立在世界各地并且同時服務于分散在世界各地的客戶。
NoSQL的特性更適合于新時代的架構,它們可以擴展到無限數量的服務器上;即使添加和刪除節點它們都會保持正常的運行,這一點會顯著的減少服務器管理的開銷和時間。許多NoSQL數據庫還具備定位功能,根據地理位置信息可以顯著增加用戶數據傳輸的速度。
易于使用
因為NoSQL數據庫的弱模式化,它們使用起來更加方便。不需要考慮將數據遷移到新數據結構模式(隨著應用程序的變化)所用的時間,你可以快速的進行編碼。此外面向文檔的數據庫更省略了將面向對象的代碼轉換成SQL查詢,然后再把SQL查詢結果返回到對象繼續應用程序邏輯。
雖然NoSQL不會很快的取代SQL,但是NoSQL提供的特性恰是新時代應用程序所需要的。