昨天安装了nginx,感觉各种配置文件挺复杂的,也没时间去仔细研究。今天下载了mongodb,看着pdf教程使用了一下。
安装应该算是比较简单的,只是我在用pip安装的时候,不知道为什么就是找不到mongoengien。这中间折腾了不少时间。当时我怀疑是名字上没有匹配对, 于是就自己写了一个抓取网页的程序,将网页上的所有index全部都抓下来,并且分析出来。还想着是不是可以增加一个根据编辑距离检索的功能。 最后发现自己之前学的动态规划一时间还真的捡不起来了。还是作罢了,去官方网站下了一个源码包,然后用easy_install安装了,然后就是下载mongodb 的安装包,官方网站直接提供。令我惊讶的是直接解压后,里面有一个bin目录,bin目录里面都是可执行文件,直接运行里面的mongod可执行文件, 就算启动mongodb数据库服务程序了。这种安装方式在linux下面还是第一次碰到,感觉特别的简单明了。虽然之前也知道所谓的安装程序,就是把各种配置文件和 可执行程序按照一定规则放在一定的目录下。但是这么简单明了的运行方法。可以让我花更多的时间在mongodb本身上面。
装玩数据库后,要建立一个默认的数据库路径,/data/db
,并且加上写权限。mongodb自身带了一个client
。也是在刚才说的bin目录下面。直接启动就可以了。
这种运行模式和mysql是一样的。
mongodb是一种非关系型数据库,因此就没有那些sql语句。它主要分成三个层次。数据库,集合,文档。文档里面是key:value这样的键值对。和python中的字典很像 一个文档可以有多个键值对,一个集合可以有多个文档,同样一个数据库可以有多个集合。另外还可以设置权限等。它比关系型数据库最大的不同就是它可以实现分布式 存储,并且没有关系数据库那种表结构的限制。但是在数据库事物方面相对比较弱。具体使用方法我也是参照文档看,基本上一边看,一边就可以操作。
在python中,通过pymongo这个包可以链接到mongodb,通常文件开头使用这样一条语句便可以进行链接操作了
from pymongo import Connection
因为安装文件的简单,所以让我感觉使用起来还是很舒服的。另外,像google这样的公司也是使用bigtable这样的分布式数据库。Nosql在互联网应用上还是有很大的优势的。