NoSQL   发布时间:2022-05-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了NoSQL之MongoDB(1)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目前使用的NoSQL数据库可以分为四个大类: 1.Key-value data stores: 数据以键值对存储,通过键来检索值。例如redis,Dynomite,Voldemort. 2.column-based databases: 这些数据库组织的数据存储在表中,类似于RDBMS。但是,它们存储的内容是按列而不是按行。对于数据仓库应用是非常好的。例如Hbase,Cassandra,@R_489_3438@. 3.document-based databases: 数据存储和组织作为一个集合文档。这些文档是灵活的,每个文档可以有任意数量的字段。例如CouchDB,MongoDB. 4.Graph-based data-stores: 此类数据库应用于计算机科学图论的数据存储和检索。专注于不同部位的数据互联互通。数据的单位作为可视化节点和它们之间关系定义为连接节点的边缘。例如Neo4j. MongoDB组成部分: 1.Database: 可以有多个数据库,每个数据库作为一个相互独立的容器。每个数据库可以包含一个或多个集合(collection). 2.Collection: 集合是一组文档(document)。在逻辑上相当于关系型数据库中的表。但是与表不同的是,在向集合存储数据时无需事先定义数据结构。 3.document: 集合中存储文档的单位。一个文档包含了一系列字段或键值对。键是字符串,值可以是各种类型:字符串,整数,浮点数,时间戳,布尔值等等,甚至可以存储另一个文档。是以Json格式存储的。 MongoDB数据交换格式: 文档的结构是一个JsON对象。当将这个文档存储于数据库中,将被序列化成一个特殊的二进制编码格式,成为BSON。 BSON是MongoDB默认的数据交换格式。与XML和JsON相比BSON的优势在于内存的消耗和处理时间上更高效。JsON支持BSON支持的所有数据类型,同时还支持一些特殊的数据类型,比如正则表达式,对象ID,日期,二进制数据和代码。更好的移植性,编程语言如php,PYTHON,JAVA等等可以直接从BSON格式进行转换,易于与MongoDB融合和管理维护数据。 MongoDB与RDMS对比: RDMS: database--->table--->row--->column MongoDB: database--->collection--->document--->fIEld MongoDB集合中没有外键,没有联合查询,约束性管理通常由应用层处理。因此其架构很灵活,也没有昂贵的alter table操作。 MongoDB安装: # apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 # vi /etc/apt/sources.List.d/10gen.List deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen # apt-get update # apt-get install mongodb-10gen 命令行操作: # mongo > use myfirstdb > db.movIEs.insert({name:"Hangover",genre:"comedy",year:2010}) > db.movIEs.find() { "_ID" : ObjectID("4fe1680418f0c60b236a4f28"),"name" : "Hangover","genre" : "comedy","year" : 2010 } php-MongoDB扩展: # apt-get install php-pear # pecl install mongo # vim /etc/php5/conf.d/mongo.ini extension=mongo.so 使用php来操作MongoDB: # vi mongodb.php <?php try{ $mongo = new Mongo("mongodb://127.0.0.1:27017",array('timeout'=>100)); //连接mongodb $databases = $mongo->ListDBs(); //列出所有数据库 print_r($databases); $mongo->close(); }catch (Exception $E){ dIE ($e->getmessage()); } ?> 查询结果如下: Array ( [databases] => Array ( [0] => Array ( [name] => myfirstdb [sizeOndisk] => 218103808 [empty] => ) [1] => Array ( [name] => local [sizeOndisk] => 1 [empty] => 1 ) [2] => Array ( [name] => test [sizeOndisk] => 1 [empty] => 1 ) ) [@R_690_10586@lSize] => 218103808 [ok] => 1 )

大佬总结

以上是大佬教程为你收集整理的NoSQL之MongoDB(1)全部内容,希望文章能够帮你解决NoSQL之MongoDB(1)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: