nosql有時也稱作not only sql的縮寫,是對不同於傳統的關係型資料庫的資料庫管理系統的統稱。
兩者存在許多顯著的不同點,其中最重要的是nosql不使用sql作為查詢語言。其資料儲存可以不需要固定的**模式,也經常會避免使用sql的join操作,一般有水平可擴充套件性的特徵。nosql的實現具有二個特徵:使用硬碟,或者把隨機儲存器作儲存載體。
nosql一詞最早出現於2023年,是carlo strozzi開發的乙個輕量、開源、不提供sql功能的關聯式資料庫[1]
。2023年,last.fm的johan oskarsson發起了一次關於分布式開源資料庫的討論[2]
,來自rackspace的eric evans再次提出了nosql的概念,這時的nosql主要指非關係型、分布式、不提供acid的資料庫設計模式。
2023年在亞特蘭大舉行的"no:sql(east)"討論會是乙個里程碑,其口號是"select fun, profit from real_world where relational=false;"。因此,對nosql最普遍的解釋是「非關聯型的」,強調key-value stores和文件資料庫的優點,而不是單純的反對rdbms。
當代典型的關係型資料庫在一些資料敏感的應用中表現了糟糕的效能,例如為巨量文件建立索引、高流量**的網頁服務,以及傳送流式**。[3]
關係型資料庫的典型實現主要被調整用於執行規模小而讀寫頻繁,或者大批量極少寫訪問的事務。
nosql的結構通常提供弱一致性的保證,如最終一致性,或交易僅限於單個的資料項。不過,有些系統,提供完整的acid保證在某些情況下,增加了補充中介軟體層(例如,cloudtps)[4]
。有兩個成熟的系統有提供快照隔離的列儲存:像是google基於過濾器系統的bigtable
[5],和滑鐵盧大學發展的hbase
[6]。這些系統,自主開發,使用類似的概念來實現多行(multi-row)分布式acid交易的快照隔離(snapshot isolation)保證為基礎列儲存,無需額外的資料管理開銷,中介軟體系統部署或維護,減少了中介軟體層。
少數nosql系統部署了分布式結構,通常使用分布式雜湊表(dht)將資料以冗餘方式儲存在多台伺服器上。依此,擴充系統時候新增伺服器更容易,並且擴大了對伺服器失效的承受能程度。[7]
WIKI 維基百科
今天.我又了解了乙個新的東東.wiki.wiki一詞源自夏威夷語的 wee kee wee kee 本是 快點快點 之意。在這裡wiki指的是一種超文字系統,系支援那些面向社群的協作式寫作,同時也包括一組支援這種寫作的輔助工具。有人認為,wiki系統屬於一種人類知識的網路系統,我們可以在web的基礎...
DevOps 維基百科
3 月,跳不動了?devops development和operations的組合詞 是一種重視 軟體開發人員 dev 和 it運維技術人員 ops 之間溝通合作的文化 運動或慣例。透過自動化 軟體交付 和 架構變更 的流程,來使得構建 測試 發布軟體能夠更加地快捷 頻繁和可靠。1 可以把devop...
維基百科 MediaWiki API 解析
使用開放的 api 做乙個自己的小專案,是乙個很好的學習方法。但好像開放的 api 選擇並不多。這裡給大家多乙個選擇,簡單介紹一下維基百科使用的 mediawiki api。先簡單介紹幾個容易混淆的概念。wiki 是一種在網路上開放且可供多人協同創作的超文字系統。wiki 站點可以由多人維護,不同人...