NoSQL - 維基百科,自由的百科全書

文章推薦指數: 80 %
投票人數:10人

... 系統儲存,而其他資料允許使用NOSQL系統儲存。

其數據儲存可以不需要固定的表格模式以及元數據(metadata),也經常會避免使用SQL的JOIN操作,一般有水平可擴展性( ... NoSQL 維基百科,自由的百科全書 跳至導覽 跳至搜尋 NoSQL(最初表示Non-SQL[1],後來有人轉解為NotonlySQL[2][3]),是對不同於傳統的關聯式資料庫的數據庫管理系統的統稱。

允許部分資料使用SQL系統儲存,而其他資料允許使用NOSQL系統儲存。

其數據儲存可以不需要固定的表格模式以及元數據(metadata),也經常會避免使用SQL的JOIN操作,一般有水平可擴展性(英語:Database_scalability)的特徵。

目次 1發展歷史 2特點 3分類 3.1文檔存儲 3.2圖數據庫 3.3鍵-值(key‐value)儲存 3.3.1最終一致性的鍵-值儲存 3.3.2架構性鍵-值儲存 3.4主機式服務 3.4.1Key/value硬盤存儲 3.4.2Key/valueRAM存儲 3.4.3Key-value基於Paxos算法的存儲 3.5多數據庫 3.6時序型數據庫 3.7對象數據庫 3.8列存儲 4參考文獻 5外部連結 6參見 發展歷史[編輯] NOSQL一詞最早出現於1998年,是CarloStrozzi開發的一個輕量、開源、不提供SQL功能的關係數據庫[4]。

2009年,Last.fm的JohanOskarsson發起了一次關於分布式開源數據庫的討論[5],來自Rackspace的EricEvans再次提出了NOSQL的概念,這時的NOSQL主要指非關係型、分布式、不提供ACID的數據庫設計模式。

2009年在亞特蘭大舉行的"no:sql(east)"討論會是一個里程碑,其口號是"selectfun,profitfromreal_worldwhererelational=false;"。

因此,對NOSQL最普遍的解釋是「非關聯型的」,強調鍵-值存儲和面向文檔數據庫的優點,而不是單純的反對RDBMS。

基於2014年的收入,NOSQL市場領先企業是MarkLogic(英語:MarkLogic),MongoDB和Datastax(英語:DataStax)[6]。

基於2015年的人氣排名,最受歡迎的NOSQL數據庫是MongoDB,ApacheCassandra和Redis[7]。

特點[編輯] 當代典型的關聯式資料庫在一些數據敏感的應用中表現了糟糕的性能,例如為巨量文檔建立索引、高流量網站的網頁服務,以及發送流式媒體[8]。

關係型數據庫的典型實現主要被調整用於執行規模小而讀寫頻繁,或者大批量讀而極少寫訪問的事務。

NOSQL的結構通常提供弱一致性的保證,如最終一致性,或交易僅限於單個的數據項。

不過,有些系統,提供完整的ACID保證在某些情況下,增加了補充中間件層(例如:CloudTPS)[9]。

有兩個成熟的系統有提供快照隔離的列存儲:像是Google基於過濾器系統的BigTable[10],和滑鐵盧大學開發的HBase[11]。

這些系統,自主開發,使用類似的概念來實現多行(multi-row)分散式ACID交易的快照隔離(snapshotisolation)保證為基礎列儲存,無需額外的資料管理開銷,中間件系統部署或維護,減少了中間件層。

少數NOSQL系統部署了分布式結構,通常使用分散式雜湊表(DHT)將數據以冗餘方式保存在多台服務器上。

依此,擴充系統時候添加服務器更容易,並且擴大了對服務器失效的承受能程度。

[12] 分類[編輯] 文檔存儲[編輯] 名稱 語言 BaseX XQuery,Java CouchDB Erlang eXist XQuery iBoxDB Java,C# Jackrabbit Java LotusNotes LotusScript,Java等 MarkLogicServer XQuery MongoDB C++ RethinkDB C++ OrientDB Java SimpleDB Erlang Terrastore Java ElasticSearch Java No2DB C# 圖數據庫[編輯] 名稱 語言 AllegroGraph SPARQL Sparksee Java,C# Neo4j Java FlockDB Scala JanusGraph Java 鍵-值(key‐value)儲存[編輯] 最終一致性的鍵-值儲存[編輯] Cassandra Dynamo(英語:Dynamo) Hibari(英語:Hibari) ProjectVoldemort(英語:ProjectVoldemort) Riak(英語:Riak)[13] 架構性鍵-值儲存[編輯] GT.M(英語:GT.M) InterSystemGlobals[14] 主機式服務[編輯] Key/value硬盤存儲[編輯] BigTable MemcacheDB(英語:MemcacheDB) LevelDB TokyoCabinet(英語:TokyoCabinet) Tuplespace(英語:Tuplespace) TreapDB(英語:TreapDB) Key/valueRAM存儲[編輯] OracleCoherence(英語:OracleCoherence) memcached Citrusleafdatabase Velocity(memorycache)(英語:Velocity(memorycache)) Redis Tuplespace(英語:Tuplespace) Key-value基於Paxos算法的存儲[編輯] Keyspace(datastore)(英語:Keyspace(datastore)) 多數據庫[編輯] OpenQM RocketU2 RevelationSoftware'sOpenInsight ExtensibleStorageEngine(ESE/NT) 時序型數據庫[編輯] 名稱 語言 Graphite Python InfluxDB Go InformixTimeSeries Erlang OpenTSDB Java RRDtool C IoTDB Java 對象數據庫[編輯] VersantObjectDatabase db4o GemStone/S InterSystemsCaché JADE Objectivity/DB ZODB ObjectStore 列存儲[編輯] Cassandra HBase Hypertable 參考文獻[編輯] ^http://nosql-database.org/"NoSQLDEFINITION:NextGenerationDatabasesmostlyaddressingsomeofthepoints :beingnon-relational,distributed,open-sourceandhorizontallyscalable". ^NoSQL(NotOnlySQL).NoSQLdatabase,alsocalledNotOnlySQL  ^Fowler,Martin.NosqlDefinition.manyadvocatesofNoSQLsaythatitdoesnotmeana"no"toSQL,ratheritmeansNotOnlySQL  ^ Lith,Adam;JakobMattson.Investigatingstoragesolutionsforlargedata:Acomparisonofwellperformingandscalabledatastoragesolutionsforrealtimeextractionandbatchinsertionofdata(PDF).Göteborg:DepartmentofComputerScienceandEngineering,ChalmersUniversityofTechnology:15,70.2010[2011-05-12].CarloStrozzifirstusedthetermNOSQLin1998asanameforhisopensourcerelationaldatabasethatdidnotofferaSQLinterface[...] 引文使用過時參數coauthors(幫助) ^NOSQL2009.Blog.sym-link.com.2009-05-12[2010-03-29].(原始內容存檔於2011-07-16).  ^Hadoop-NoSQL-rankings.[2015-11-17].  ^DB-EnginesRanking.[2015-07-31].(原始內容存檔於2020-02-21).  ^Agrawal,Rakesh等.TheClaremontreportondatabaseresearch(PDF).SIGMODRecord(計算機協會).2008,37(3):9–19.ISSN 0163-5808.doi:10.1145/1462571.1462573. 引文格式1維護:顯式使用等標籤(link) ^CloudTPS:ScalableTransactionsforWebApplicationsintheCloud.Globule.org.[2010-03-29].  ^Large-scaleIncrementalProcessingUsingDistributedTransactionsandNotifications(PDF).The9thUSENIXSymposiumonOperatingSystemsDesignandImplementation(OSDI2010),Oct4–6,2010,Vancouver,BC,Canada.[2010-10-15].  ^SupportingMulti-rowDistributedTransactionswithGlobalSnapshotIsolationUsingBare-bonesHBase(PDF).The11thACM/IEEEInternationalConferenceonGridComputing(Grid2010),Oct25-29,2010,Brussels,Belgium.[2010-10-15].(原始內容(PDF)存檔於2011-06-29).  ^Cassandra:StructuredStorageSystemoveraP2PNetwork(PDF).[2010-03-29].  ^Riak:AnOpenSourceScalableDataStore.2010-11-28[2010-11-28].(原始內容存檔於2010年12月31日).  ^http://nosql.mypopescu.com/post/5633789299/intersystems-globals-and-gt-m-compared 外部連結[編輯] NoSQL非關係數據庫簡介 Amazon數據庫論文 在互聯網上擁有NoSQL相關鏈接最多的網站。

NoSQL數據庫筆談 CassandravsMongoDBvsCouchDBvsRedisvsRiakvsHBasevsMembasevsNeo4jcomparison 參見[編輯] 最終一致性(BASE——基本可用、弱狀態、最終一致性——的其中一個組成要求,與關係數據庫的Acid相對) CAP 閱論編NoSQL鍵值存儲最終一致性鍵值存儲Cassandra ·Dynamo(英語:Dynamo) ·Riak(英語:Riak) ·Hibari(英語:Hibari) ·Virtuoso(英語:Virtuoso) ·Voldemort(英語:Voldemort_(distributed_data_store))內存鍵值存儲Memcached ·Redis ·OracleCoherence(英語:OracleCoherence) ·NCache(英語:NCache) ·Hazelcast(英語:Hazelcast) ·Tuplespace(英語:Tuplespace) ·Velocity(英語:Velocity_(memory_cache))持久化鍵值存儲BigTable ·LevelDB ·TokyoCabinet(英語:TokyoCabinet) ·Tarantool ·TreapDB(英語:TreapDB) ·Tuplespace(英語:Tuplespace)文檔存儲MongoDB ·CouchDB ·SimpleDB ·Terrastore ·BaseX(英語:BaseX) ·Clusterpoint(英語:Clusterpoint) ·Riak(英語:Riak) ·No2DB圖存儲FlockDB(英語:FlockDB) ·DEX ·Neo4J(英語:Neo4J) ·AllegroGraph(英語:AllegroGraph) ·InfiniteGraph(英語:InfiniteGraph) ·OrientDB(英語:OrientDB) ·PregelNoSQL理論分佈式系統 ·CAP定理 ·弱一致性 ·強一致性 ·最終一致性 ·MapReduce ·BASENoSQL數據庫比較 閱論編數據庫管理系統(DBMS)概念 數據庫 理論 數據模型 數據庫存儲結構(英語:Databasestoragestructures) 關係(數據庫) 關係模型 分布式數據庫 ACID 原子性(英語:Atomicity(databasesystems)) 一致性 隔離性 持久性(英語:Durability(databasesystems)) Null值 關係模型 數據庫規範化 數據庫完整性 實體完整性 參照完整性(英語:Referentialintegrity) 關係數據庫管理系統 主鍵 外鍵 代理鍵 超鍵 候選鍵 事務處理 數據庫組件 觸發器 視圖 數據庫表 行 列 指標 事務日誌(英語:Transactionlog) 數據庫事務 Savepoint 並發控制 樂觀鎖 悲觀鎖 數據庫索引 存儲程序 資料庫分割(英語:Partition(database)) SQL分類 數據查詢語言(DQL) 資料定義語言(DDL) 資料操縱語言(DML) 資料控制語言(DCL) 指令 SELECT INSERT UPDATE MERGE DELETE JOIN UNION(英語:Union(SQL)) CREATE DROP Beginwork COMMIT ROLLBACK TRUNCATE ALTER 安全 SQL資料隱碼攻擊 參數化查詢 實現類型 關係數據庫 面向文檔的數據庫 平面檔案式資料庫(英語:Flatfiledatabase) Deductive(英語:Deductivedatabase) 維度化資料庫 階層式 圖數據庫 NoSQL NewSQL 對象數據庫 物件關聯式資料庫(英語:Object-relationaldatabase) Temporal XML資料庫(英語:XMLdatabase) 數據庫產品 對象型 對比 關係型 對比 數據庫組件 數據查詢語言 查詢最佳化器(英語:Queryoptimizer) 查詢計畫(英語:Queryplan) 嵌入式SQL ORM LINQ 資料關聯層(英語:Dataaccesslayer) ODBC OLEDB ADO ADO.NET JDBC PDO 取自「https://zh.wikipedia.org/w/index.php?title=NoSQL&oldid=66226710」 分類:NoSQL隱藏分類:含有過時參數的引用的頁面引文格式1維護:顯式使用等標籤 導覽選單 個人工具 尚未登入討論貢獻建立帳號登入 命名空間 條目討論 繁體 已展開 已摺疊 不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體 視圖 閱讀編輯檢視歷史 更多 已展開 已摺疊 搜尋 導覽 首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科 說明 說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科 工具 連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目 列印/匯出 下載為PDF可列印版 其他專案 維基共享資源 其他語言 العربيةAzərbaycancaБългарскиCatalàČeštinaDeutschEnglishEsperantoEspañolEestiEuskaraفارسیSuomiFrançaisעבריתMagyarBahasaIndonesiaÍslenskaItaliano日本語한국어LatinaമലയാളംМонголNederlandsPolskiPortuguêsРусскийSimpleEnglishSvenskaதமிழ்TürkçeУкраїнськаاردوTiếngViệt 編輯連結



請為這篇文章評分?