Contenu connexe
Similaire à Mongo db 簡介 (20)
Mongo db 簡介
- 2. What is NoSQL?Why NoSQL
MongoDB Introduction
MongoDB HA
MongoDB C# Driver
MongoDB Install & Setup
- 3. What is NoSQL?Why NoSQL
MongoDB Introduction
MongoDB HA
MongoDB C# Driver
MongoDB Install & Setup
- 11. NoSQL(3/6)
儲存類型
NoSQL DB
Doucument MongoDB(10 gen)
CouchDB(Apache)
特性
使用JSON格式來儲存,內容為Document
型,因此可以對某些屬性建立索引,來
實現一些RDB的功能
Row
Hbase(Hadoop)
使用row方式來儲存,最大特性是方便儲
Cassandra(Facebook) 存結構化和半結構化數據,方便做數據
Hypertable
壓縮,針對一列或某幾列的查詢有很大
的IO優勢
Key-Value
Redis(VMware)
Flare(green.jp)
SimpleDB(Amazon)
可透過鍵值快速找的值,對值的內容格
式不加以限制
Graph
Neo4J
FlockDB(Twitter)
方便用來儲存大量的圖片數據
- 17. What is NoSQL?Why NoSQL
MongoDB Introduction
MongoDB HA
MongoDB C# Driver
MongoDB Install & Setup
- 19. MongoDB(2/3)
0 支援索引的建立
0 支援動態查詢
0 支援replica與Sharding
0 使用高效的二進位資料存儲,包括大型物件(如影
片)
0 BSON格式的資料(文檔)存儲有尺寸限制,最大為16M
0 MongoDB可運行在Linux、Windows或OS X平台,
支援32位和64位應用,默認埠為27017。推薦運行在
64位平台,因為MongoDB在32位元模式運行時支援
的最大檔尺寸為2GB
- 30. 基本操作(3/6)
> a={"name":"caida"} { "name" : "caida" }
> b={"age":24}
{ "age" : 24 }
> db.users.insert(a);
> db.users.save(b);
> db.users.find()
{ "_id" : 1, "name" : "mongo" }
{ "_id" : ObjectId("4eb2a192bf10550b2177b6f7"), "name" : "caida" }
{ "_id" : ObjectId("4eb2a199bf10550b2177b6f8"), "age" : 24 }
- 33. 基本操作(6/6)
> db.users.find()
{ "_id" : 1, "name" : "nosql" }
{ "_id" : ObjectId("4eb2a199bf10550b2177b6f8"), "age" : 24 }
> db.users.find({"name":"nosql"})
{ "_id" : 1, "name" : "nosql" }
0 db.collname.find({條件})(不寫條件查詢所有的資
料)
- 35. What is NoSQL?Why NoSQL
MongoDB Introduction
MongoDB HA
MongoDB C# Driver
MongoDB Install & Setup
- 37. Replica Set(2/2)
0 利用Replica Set即可完成簡單的failover與load
balance功能
0 最小instance數是兩台,但如果只有兩個instance,
當其中一個instance掛掉只剩一台時,MongoDB為了
避免新寫入的資料會丟失,所以會將整個服務變成唯
讀
0 只有Primary可以寫入資料,Secondary只能讀取資料,
當Primary被寫入資料時,會立即同步至Secondary,
若Primary Node掛掉時,則會由其他Node立即選出
新的Primary
- 41. Sharding(4/7)
0 Config
0 config 節點存儲了中繼資料,包括資料的位置,即哪些
資料位於哪些節點,以及集群配置信息
0 config 節點也是普通的 mongod
0 這 3 個 config 節點並非是一個 replica set。它們的資
料同步是由 mongos 執行兩階段提交來保證的
0 config 節點一定程度上實現了高可用。在一個或兩個節
點發生故障時,config 集群會變成唯讀。但此時,整個
sharding 集群仍然可以正常讀寫資料。只是無法進行
資料移轉和自動均衡而已
- 42. Sharding(5/7)
0 Shard
0 實際存放資料的資料節點。
0 每個 shard 節點可以是單個 mongod 實例,也可以是
一個 replica set
0 通常在使用 sharding 的時候,都會同時使用 replica
set 來實現高可用,避免單點故障的時候影響服務,及
數據丟失
0 對於每個開啟 sharding 的 db 來說,都會有一個 預設
shard 。初始時,第一個 chunk 就會在那裡建立。新資
料也就會先插入到那個 shard 節點中去。
- 45. What is NoSQL?Why NoSQL
MongoDB Introduction
MongoDB HA
MongoDB C# Driver
MongoDB Install & Setup
- 46. MongoDB C# / .NET Driver
0 http://docs.mongodb.org/ecosystem/drivers/csharp/
0 IDE
0 Visual Studio 2010
0 Visual Studio 2012
0 .NET Versions
0 .NET 3.5
0 .NET 4.0
0 .NET 4.5
0 支援LINQ操作
- 58. What is NoSQL?Why NoSQL
MongoDB Introduction
MongoDB HA
MongoDB C# Driver
MongoDB Install & Setup
- 62. 安裝服務
0 在每一台的命令提示字元下,執行以下命令
cd C:mongodb-win32-x86_64-2008plus-2.4.5bin
mongod.exe -dbpath "C:mongodb-win32-x86_64-2008plus-2.4.5data" -logpath "C:mongodb-win32-x86_64-2008plus-2.4.5logsmongod.txt" -auth --install --replSet crm2 --keyFile "C:mongodb-win32-x86_642008plus-2.4.5keykey.txt" --rest
net start MongoDB
0 --dbpath是指定db目錄
0 --logpath指定log位置
0 --auth是指定之後連線必須經過認證過程
0 --install則是將服務安裝為windows service形式
0 -replSet crm2則是指定複本集的名稱為crm2
0 --keyFile指定key位置
0 --rest是指打開內建監控網站的rest api