MongoDB是我想要的儲存麼?

來源:互聯網
上載者:User

最近一直在思考底層資料模型對整個產品的影響,底層實現直接影響到上層的效能及開發效率,又要滿足快速迭代及快速產品擴充的需求,就考慮到了NOSQL資料庫了,通過對比就選擇了MongoDB,打算通過他好好的瞭解下NOSQL,記得幾個月前看了javaeye老大寫的哪篇NOSQL的文章還沒有深入去思考,現在是工作上需要用到了,就想深入瞭解下,對於資料庫,MySQL一直是我的唯一選擇,但是現在MySQL的各種問題都暴露出來的了,在很多情境下其實有更好的做法去替代,不管從節約機器上,還是從效能上來說都是有益的,所以就花時間深入瞭解下MongoDB了。

先貼點資料吧:

MongoDB的官方網站 http://www.mongodb.org

不周山部落格上的MongoDB的總結 http://www.wentrue.net/blog/?p=772

超群的MongoDB in Action http://www.fuchaoqun.com/2010/01/mongodb-in-action/  

PPT地址:http://www.fuchaoqun.com/2010/01/mongodb-in-action/

MongoDB的安裝地址:http://www.tbdata.org/archives/410

PHP安裝MongoDB驅動 http://cn.php.net/manual/en/mongo.installation.php#mongo.installation.nix

官方文檔 http://www.mongodb.org/pages/viewpage.action?pageId=5079170

http://www.mongodb.org/display/DOCS/Schema+Design

INFOQ上的介紹 http://www.infoq.com/cn/news/2010/04/mongodb

PHP上的支援文檔 http://php.net/manual/en/book.mongo.php

接下來秀下自己的安裝的結果,算是對今晚工作的一個記錄了,先讓自己的環境跑起來了,真的去用了,去體驗了才感覺到它的強大

安裝成功,我是在Ubuntu下直接使用了Synaptic Packages Manager 來安裝的 ^_^ 沒有任何的計算含量了,無奈機器不支援虛擬機器的64位安裝

 

接下來要做的是PHP下使用MongoDB的具體步驟了.....

1.安裝PHP mongo 支援 (這裡如果報phpize錯誤,請安裝php5-dev  ,  sudo apt-get install php5-dev

2.安裝完了mongo後如果無法啟動請連結 ln - s /usr/lib/xulrunner-1.9.2.12/libmozjs.so /usr/lib/libmozjs.so 連結後就可以啟動了

3.啟動成功之後的

4. 安裝PHP支援後的

5.安裝成功後 new Mongo() 取得執行個體後列印出來的結果

6.分享下超群同學寫的mongodb類。。。。。。

貼出超群寫的MongoDB下的PHP的操作類Cola_COM_Mongo一看就知道如何操作了,具體動作陳述式見超群的PPT了

 

<?phpClass Cola_Com_Mongo{    protected $_mongo, $_db;    /**     * Constructor     *     * @param array $config     */    public function __construct($config = array())    {        $config = (array)$config + array('server' => 'mongodb://localhost:27017', 'options' => array('connect' => true));        extract($config);        $this->_mongo = new Mongo($server, $options);        if (isset($database)) $this->db($database);        if (isset($user) && isset($password)) $this->auth($user, $password);    }    /**     * Authenticate     *     * @param string $user     * @param string $password     */    public function auth($user, $password)    {        $result = $this->_db->authenticate($user, $password);        if (1 == $result['ok']) {            return true;        }        throw new Cola_Exception('Mongo Auth Failed: bad user or password.');    }    /**     * Select Database     *     * @param string $db     * @return MongoDB     */    public function db($database = null)    {        if ($database) {            $this->_db = $this->_mongo->selectDB($database);        }        return $this->_db;    }    /**     * Select Collection     *     * @param string $collection     * @return MogoCollection     */    public function collection($collection)    {        return $this->_db->selectCollection($collection);    }    /**     * MongoId     *     * @param string $id     * @return MongoId     */    public static function id($id = null)    {        return new MongoId($id);    }    /**     * MongoTimestamp     *     * @param int $sec     * @param int $inc     * @return MongoTimestamp     */    public static function Timestamp($sec = null, $inc = 0)    {        if (empty($sec)) $sec = time();        return new MongoTimestamp($sec, $inc);    }    /**     * GridFS     *     * @return MongoGridFS     */    public function gridFS($prefix = 'fs')    {        return $this->_db->getGridFS($prefix);    }}

 

MongoDB下的資料庫設計工具

對比了幾個管理工具之後選擇了開源的rockmongo很不錯的管理工具類似PHPMYADMIN 

: http://code.google.com/p/rock-php/wiki/rock_mongo_zh

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.