天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

NoSQL架構實踐(二)——以NoSQL為主

  前面一篇《NoSQL架構實踐(一)——以NoSQL為輔》主要介紹了以NoSQL為輔助的架構,這種架構實施起來比較簡單,易于理解,由于其中也使用了傳統的關系數據庫,讓開發者更容易控制NoSQL帶來的風險。接下來我們繼續深入下去,換另外一個角度,“以NoSQL為主”來架構系統。

  (三)純NoSQL架構

  只使用NoSQL作為數據存儲

圖 4-純NoSQL架構

  在一些數據結構、查詢關系非常簡單的系統中,我們可以只使用NoSQL即可以解決存儲問題。這樣不但可以提高性能,還非常易于擴展。手機鳳凰網的前端展示系統就使用了這種方案。

  在一些數據庫結構經常變化,數據結構不定的系統中,就非常適合使用NoSQL來存儲。比如監控系統中的監控信息的存儲,可能每種類型的監控信息都不太一樣。這樣可以避免經常對MySQL進行表結構調整,增加字段帶來的性能問題。

  這種架構的缺點就是數據直接存儲在NoSQL中,不能做關系數據庫的復雜查詢,如果由于需求變更,需要進行某些查詢,可能無法滿足,所以采用這種架構的時候需要確認未來是否會進行復雜關系查詢以及如何應對。

  非常幸運的是,有些NoSQL數據庫已經具有部分關系數據庫的關系查詢特性,他們的功能介于key-value和關系數據庫之間,卻具有key-value數據庫的性能,基本能滿足絕大部分web 2.0網站的查詢需求。比如:

  MongoDB就帶有關系查詢的功能,能解決常用的關系查詢,所以也是一種非常不錯的選擇。下面是一些MongoDB的資料:

  雖然Foursquare使用MongoDB的宕機事件的出現使人對MongoDB的自動Shard提出了質疑,但是毫無疑問,MongoDB在NoSQL中,是一個優秀的數據庫,其單機性能和功能確實是非常吸引人的。由于上面的例子有詳細的介紹,本文就不做MongoDB的使用介紹。

  Tokyo Tyrant數據庫帶有一個名為table的存儲類型,可以對存儲的數據進行關系查詢和檢索。一個table庫類似于MySQL中的一個表。下面我們看一個小演示:

  我們要存儲一批用戶信息,用戶信息包含用戶名(name),年齡(age),email,最后訪問時間(lastvisit),地區(area)。下面為寫入的演示代碼:

<?php 
$tt = new TokyoTyrantTable ( "127.0.0.1", 1978 );
$tt->vanish ();//清空
$id = $tt->genUid ();//獲取一個自增id
//put方法提供數據寫入。 put ( string $key , array $columns );

$tt->put ( $id, array ("id" => $id, "name" => "zhangsan", "age" => 27, "email" => "zhangsan@gmail.com", "lastvisit" =>strtotime ( "2011-3-5 12:30:00" ), "area" => "北京" ) );
$id = $tt->genUid ();
$tt->put ( $id, array ("id" => $id, "name" => "lisi", "age" => 25, "email" => "lisi@126.com", "lastvisit" => strtotime( "2011-3-3 14:40:44" ), "area" => "北京" ) );
$id = $tt->genUid ();
$tt->put ( $id, array ("id" => $id, "name" => "laowang", "age" => 37, "email" => "laowang@yahoo.com", "lastvisit" =>strtotime ( "2011-3-5 08:30:12" ), "area" => "成都" ) );
$id = $tt->genUid ();
$tt->put ( $id, array ("id" => $id, "name" => "tom", "age" => 21, "email" => "tom@hotmail.com", "lastvisit" =>strtotime ( "2010-12-10 13:12:13" ), "area" => "天津" ) );
$id = $tt->genUid ();
$tt->put ( $id, array ("id" => $id, "name" => "jack", "age" => 21, "email" => "jack@gmail.com", "lastvisit" =>strtotime ( "2011-02-24 20:12:55" ), "area" => "天津" ) );
//循環打印數據庫的所有數據庫
$it = $tt->getIterator ();
foreach ( $it as $k => $v ) {
print_r ( $v );
}
?>

it知識庫NoSQL架構實踐(二)——以NoSQL為主,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久偷拍免费2017 | 亚洲男女羞羞无遮挡久久丫 | 亚洲成 人a影院青久在线观看 | 日韩精品久久日日躁夜夜躁影视 | 日产亚洲一区二区三区 | 凤楼app | a级全黄试频试看30分钟 | 日韩精品一区二区中文 | 99re热视频这里只有精品 | 97欧美精品大香伊蕉在人线 | 蜜芽亚洲欧美一区二区电影 | 麻豆精品国产剧情观看 | 杨幂视频1分11未删减在线观看 | 黄页免费观看 | 爱情岛论坛免费在线观看 | 欧美日韩久久久精品A片 | 啦啦啦影院视频在线看高清... | 91欧洲在线视精品在亚洲 | 天天躁躁水汪汪人碰人 | 国产久久亚洲美女久久 | 爱豆剧果冻传媒在线播放 | 美女网站免费看 | 啦啦啦影院视频在线看高清... | 九九色精品国偷自产视频 | 亚洲精品中文字幕一二三四区 | 偷窥国产亚洲免费视频 | 亚洲.欧美.中文字幕在线观看 | 亚洲福利视频导航 | 鲁一鲁亚洲无线码 | AV精品爆乳纯肉H漫网站 | 少妇高潮A片特黄久久精品网 | 亚洲 日韩 欧美 另类 蜜桃 | 色妞色视频一区二区三区四区 | 丝瓜视频樱桃视频在线观看免费 | 国产成人免费 | 亚洲欧美日本国产在线观18 | 亚洲 日韩 在线 国产 精品 | 永久免费毛片 | videossexo乌克兰 | 99久久久无码国产精品免费人妻 | 播色屋97超碰在人人 |