【譯】SQL數據庫集成NoSQL類特性

【源文】https://www.datanami.com/2017/09/25/sql-databases-integrating-nosql-like-features
【譯文】
過去的幾十年間,關系型數據庫(SQL)在全世界幾乎應用到所有類型的業務。其技術可靠,標準穩定,整體成熟已超過20多年。


非關系型數據庫(NoSQL)的概念實際早于關系型數據庫,但他們只是在10年前變成切實可行。然而,在他們開始做后,主要在兩類業務中快速被推廣應用。第一類是大型數字經濟公司,他們需要前所未有的擴展,第二類是技術初創公司,他們尋找廉價易用的數據庫解決方案,以滿足其擴展要求。

鑒于NoSQL功能流行度的提升,SQL數據庫廠商開始注意,并在其數據庫架構中實現類NoSQL類的功能。

在我們深入討論之前,有必要先更好的理解為什么NoSQL會取得現在的地位。

NoSQL的誘惑力

NoSQL數據庫主要的亮點體現在兩個方面:擴展性和彈性。


在基礎設施和擴展性方面,幾十年間隨著業務的增長,數據量也同步增長,傳統的手段是垂直擴展,即升級至更強的數據庫服務器。然而,基于云計算、商業服務器,企業現在可以實現水平擴展解決性能和高可用需求,即分布式部署NoSQL數據庫,跨數據中心復制數據(如果必要,跨全球也可實現)。

管理關系型數據庫是一項有技巧、成本高的運維工作,既是是使用開源產品,這就阻礙了其在初創企業的應用。使用NoSQL數據庫將大幅削減對DBA角色對需求,尤其是當使用云服務時,該角色甚至消失。

在數據架構中,彈性已成為關鍵。傳統做法是,遵循范式規則創建數據模型,該方法成型的年代,存儲設備非常昂貴,人們盡力避免數據冗余。但范式規則對改進產生了巨大對束縛。對于數據庫模式做的任何變更都意味著繁重的操作和高成本的協調,既是是為了改進應用,這限制了企業的靈活性。除了上面提到的基礎設施的革新,NoSQL的真正革命性的方面是其彈性,可以快速適應業務改變的需求。NoSQL數據庫這方面被錯誤的稱之為“無模式”。

這個詞一方面有效的抓住了人們的注意力,但也傳遞了錯誤但印象,即開發者不需要思考待存數據但結構。事實上,在使用NoSQL數據庫時,數據建模甚至比之前更家重要。為了表達持續的彈性,更好的術語可能是“動態模式”。

NoSQL降低了總體擁有成本

感謝上面的兩個特性,應用的總體擁有成本(TCO)得到了大幅降低,因為企業開發變得更加靈活,IT部門可以更加快速的響應競爭環境的變化。

NoSQL易入門、擴展性好、可靠性高、彈性好,且靈活,這些因素導致只需更少成本的程序就能滿足業務需求。這可能不足以證明翻寫已有的應用,但對于任何新項目,采用NoSQL就有意義了,它可以阻止技術債的增長和創造高成本的資產。

選擇關系型數據庫的常見論點是,它們的一致性、引用完整性以及能基于兩階段提交來處理事務。的確如此,當今這些功能技術對于大型、本地復雜應用依然有用。然而,在以異步、無狀態WEB服務組成的相互連接的世界中,這種優勢正在快速消失,這這種應用環境中要求應用能容忍事務處理的失敗。基于NoSQL數據庫,大部分業務可以接受和實現最終一致性,尤其是這能讓網站用戶保持耐心。

JSON的影響

對于特定的應用有許多不同的方式來設計關系型數據庫,范式規則和引用完整性提供來一種防護措施來應對各種設計問題。對于NoSQL文檔數據庫,JSON的特點是靈活性和功能強大,它給新用戶一種錯誤的安全感。相比關系型數據庫,對于NoSQL數據庫而言,數據建模變得更加重要,它使用戶創建不同的What-if腳本。

NoSQL數據庫開始成為主流后,SQL數據庫廠商感受到一些影響。對于傳統數據庫廠商最簡單的事情是增加對JSON文檔對支持。這種方式對應了NoSQL文檔數據庫對靈活性的優點。需要小心的是,每個廠商本地檢索復雜對象的能力是否與這種新能力匹配。同時,每個廠商擴展策略仍然沒有太多改變。這就意味著你不能自然的使用NoSQL技術來真正的實現水平擴展。

盡管如此,也很少發現在SQL數據庫中實際存儲JSON數據的用戶。廠商們或許不知道這個比例,但依然好不猶豫的采取防御措施,嘗試將NoSQL數據庫排除在企業IT部門之外。無論如何,在SQL數據庫中增加JSON存儲似乎只是一種附加物,而NoSQL文檔數據庫則明顯是有意內置的。同時,我們也觀察到一些大的SQL數據庫廠商收購了一些NoSQL數據庫,這也反應了NoSQL市場的增長。有人會認為這是產品經理忙于將不同的產品打包至一個解決方案中。

幾乎每個月都有一款新NoSQL產品發布,但這難以持續下去。面對快速發展的每個細分市場,我們可能更關注改組、強化、合并。已確立的運動員會防衛他們的場地,以捍衛現有的得分,另一面挑戰者會出創新牌。一些挑戰者會壯大,而另一些挑戰者會被收購、兼并。讓我們期待最好的技術能勝出,而不是最好的市場推廣能力。

NoSQL數據庫廠商的回應

當然,NoSQL廠商并不會坐而待斃。首先,他們從單一功能,轉變為多模型方法。而且,在宣稱NoSQL數據庫為“非關系型”后,人們意識到關系存在于數據語義學中,無論數據庫是否支持外鍵約束。結果,用戶要求NoSQL數據庫廠商增加關系特征,例如,MongoDB引入了跨多集合的lookup功能和只讀視圖,以應對執行用戶的請求,還有增加ACID能力來應對缺乏事務支持對非議。另外,一些增加了類似SQL對查詢句法來幫助開發者過渡。

最后一個需要考慮的是,如果你從沒有強制規范化過,那么使用JSON來進行數據建模會很自然,但是習慣的力量是頑固的,尤其你是SQL老手。結果,如果你從事過關系數據庫,使用JSON建模則需要換思路,不論是在傳統數據庫中內置JSON組件,還是NoSQL文檔數據庫。你需要取挑戰那些不可改變的原則,那些范式和事務原子性。

為了合理的利用NoSQL的優勢,你需要強迫自己忘記第三范式,而從如何訪問數據的角度來思考。你想要寫數據庫是連接數據,所以你要做的是當你讀取時將其存儲在一起。這種思想轉變很難,尤其是在同樣的數據庫里,你可能暫時需要能以傳統規范的方式存儲數據。

NoSQL玩家持續增加特性以幫助該技術的成熟,NoSQL數據庫會占據一席之地,最終會成為主流,走入企業IT的視線。同時,SQL廠商可能會說服已安裝的數據庫保持現狀。標準化一份老的技術也許會很安全,IT部門也不會使自己喪失新技術帶來的益處。他們會實驗和判斷,以選擇合適的的工具來完成各自的業務需求。

關于作者 Pascal Desmarets

Pascal Desmarets為Hackolade創始人、CEO,他帶領團隊打造來一系列可視化工具,以幫助NoSQL技術在IT架構中應用推廣。Hackolade軟件讓NoSQL文檔數據庫的數據建模更加舒適和易用。pascal.desmarets@hackolade.com.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,491評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,708評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,186評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,409評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,939評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,774評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,976評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,650評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,958評論 2 373

推薦閱讀更多精彩內容