NoSQL有時也被認為是Not Only SQL的簡寫,是對不同於傳統的關係型資料庫的資料庫管理系統的統稱。兩者存在許多顯著的不同點,其中最重要的是NoSQL不使用SQL作為查詢語言。
資料存儲可以不需要固定的表格模式,也經常會避免使用SQL的JOIN操作,一般有水平可擴展性的特徵。
一般大家所熟悉與使用的資料庫都是使用SQL語法的關聯式資料庫,為何會出現NoSQL呢? 主要 在網路應用程式規模日益龐大,盛行了好多年的關聯式資料庫主要的優點也變為缺點
傳統的 SQL 資料庫遇到的主要問題如下:
1.無分散式系統的版本,主要是因為 join 語法造成難以實作分散式系統。
2.嚴謹的欄位規則降低讀寫效能。
Google 和 Facebook 這兩家公司,為了處理它們的天量資料量和使用量,他們都分別的使用自己開發的 NoSQL 資料庫,Google BigTable、Facebook Cassandra、Amazon S3 Dynamo資料庫,或是微軟Azure平臺儲存資料的方式均不使用SQL以換取高執行效能與應付大量使用者。
簡單的說這些不是用 SQL 操作的資料庫都泛稱為 NoSQL 資料庫。 另外早期的 NoSQL 資料庫以 Document Stroe 和 Key Value 的架構為主,不過,目前的 NoSQL 的發展已隨著不同的應用發展有不同的變化了。
參考資料:
NoSQL wiki:http://zh.wikipedia.org/wiki/NoSQL
NoSQL Databases:http://nosql-database.org/
沒有留言:
張貼留言