NoSQL

今天來介紹一個最近的技術趨勢,針對企業IT不一定用的上,但開會討論的時候聽到,如果對他有些瞭解,總讓人感覺比較跟的上潮流、比較厲害一些,不是嗎?

關連式資料庫從Oracle在1980左右根據Codd在IBM的研究論文作出第一個商業化的關連式資料庫以來,幾乎已經成為資料庫的代名詞,也成為幾乎所有企業必備的資料管理工具。但是在Web如此風行的今天,是什麼事情讓有些人不想用繼續關連式資料庫呢?

關連式資料庫之所以強大,在於他可以支援非常複雜的資料表結構,以及利用SQL語言能作出的各式各樣查詢。這樣的功能,對於資料庫工程師來說是非常方便而好用的。另外,關連式資料庫也作出了各種機制,以確保資料庫在任何時候,都不會因為太多人同時修改,而造成資料的錯誤。

但是這樣的強大功能,也是有他的代價的。在沒有Web的時候,很少資料庫系統會像是今天的Google或是Facebook,有這麼大量的使用者同 時使用。而這樣的使用量,已經遠超過了傳統關連式資料庫使用方式能負荷的。因此各大型網站都必須設計非常多層的快取、Replication等機制,來減 輕、分散他們資料庫的負擔,SQL資料庫已經成為許多網站系統的擴充能力重要瓶頸。

這時候我們就會回頭想到,對於很多大型網站,其實根本用不到關連式資料庫和SQL裡面提到這麼多強大的功能,其實我們需要的只是他裡面一點點把簡單 資料存進去的功能。像是Twitter, Plurk等,他們根本不需要複雜的SQL查詢,而資料如果有時候暫時出了一點點錯誤,也不是這麼的要緊。我們是不是能夠放棄一些關連式資料庫裡面的功 能,來換取更高效率,更適合分散處理大量使用者的資料庫功能呢?

因此在這個NoSQL的潮流中,就跑出了像是Google的BigTable、Facebook的Cassandra等等為了能更快速處理更多使用 者,而放棄了關連式資料庫裡面像是SQL等功能的新型態資料庫。他們沒辦法下SQL,但是速度飛快,又適合利用多台電腦一起執行,來服務成千上萬的使用 者。

這樣的潮流,目前對一般的企業有什麼影響呢?我們的看法是:沒有影響。一般企業的資料庫的使用者數量通常沒有必要利用這樣的技術來處理。所以各位朋友稍微瞭解一下這樣的潮流就可以啦!

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>