青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

戰魂小筑

討論群:309800774 知乎關注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

   :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

數據庫選擇歷程

我們的項目一直使用MySQL作為數據庫. 無論是從C++的服務器, 還是到Golang服務器. 當年搞服務器時, 看大部分人都是用SQL(MySQL/SQLServer), 而Mongo感覺像邪教一樣, 再加上服務器還是Linux比較正統, 所以果斷選了MySQL.

剛開始感覺,游戲服務器的數據存儲其實應該是蠻神圣的過程. 那么多的數據, 需要按照MySQL一樣分表, 分字段存儲, 為了查詢, 還要乖乖的學一下SQL的語法

就這么折騰了幾年. 在云DB的蒙蔽下, 一直認為MySQL就是做游戲服務器存儲的專業技術. 分布式和存儲壓力一定交給云DB來做. 直到真正試了下NoSQL在游戲服務器開發里的思路.

用了Golang, 才發現同步寫邏輯是多么的優雅.

用了NoSQL系列的數據庫, 才意識到: 游戲服務器的數據存儲和游戲服務器的存盤兩個概念差異其實蠻大的.

MySQL中, 背包其實跟角色完全沒有關系, 只是通過1個角色id映射過去, 人為的割裂了數據的關聯性. 還硬生生的整出個概念叫結構化查詢讓你學

NoSQL中, 只是把數據庫當成是存儲點, 每個角色的數據是完整的一塊. 里面怎么存隨你便. 每個角色通過id來查詢, 其他都沒有了

于是乎, 游戲開發變得異常簡單. MySQL角色進門查詢4~5次才能搞定要的數據.而NoSQL一口氣全查出來, 存盤也無需增量, 直接存盤就可以了

所以現在覺得, NoSQL的思路對于游戲服務器存儲來說簡直是完美的!

轉載請注明: 戰魂小筑http://m.shnenglu.com/sunicdavy

 

NoSQL數據庫方案對比

NoSQL下實現方案很多, 游戲常用的就這么3家: mongo, redis, memcached

下面說下優缺點

mongo

磁盤映射內存數據庫

value為document類型, 基于BSON的value序列化

應用場景:

適合多寫少讀, 例如日志和備份

轉載請注明: 戰魂小筑http://m.shnenglu.com/sunicdavy

 

redis

內存數據庫

單核

value限制512M

多種value類型, 游戲用途使用私有的序列化協議(例如protobuf)

支持落地(bgsave)

用戶: 新浪, 淘寶, Flickr, Github

應用場景: 適合讀寫都很高, 數據處理復雜等

轉載請注明: 戰魂小筑http://m.shnenglu.com/sunicdavy

 

memcached

內存數據庫

多核

value限制1M

不支持落地(持久化)

用戶: LiveJournal、hatena、Facebook、Vox

應用場景: 動態系統中的緩沖, 適合多讀少寫

轉載請注明: 戰魂小筑http://m.shnenglu.com/sunicdavy

個人評價

memcached 適合網頁緩沖, 游戲里很少有使用. 目前只有騰訊云支持云memcached

redis非常適合游戲的內存數據庫, 但是落地策略會比較復雜, 需要具體分析, 可以參考后面的鏈接看下云風怎么處理這個問題

mongo數據庫在早期還是非常不錯的NoSQL的數據庫. 工具比較方便, 可視化. 但是隨著近年來游戲的并發度越來越高, 所以為了一次到位, 很多人還是選擇了redis

下圖參考自知乎問題. 鏈接在后面有提示, 若侵權請聯系刪除

轉載請注明: 戰魂小筑http://m.shnenglu.com/sunicdavy

image

參考鏈接:

    談談陌陌爭霸在數據庫方面踩過的坑( Redis 篇)

http://blog.codingnow.com/2014/03/mmzb_redis.html

轉載請注明: 戰魂小筑http://m.shnenglu.com/sunicdavy

Memcache,Redis,MongoDB(數據緩存系統)方案對比與分析

http://blog.csdn.net/suifeng3051/article/details/23739295

 

http://www.zhihu.com/question/31417262

posted on 2015-06-19 16:23 戰魂小筑 閱讀(6749) 評論(5)  編輯 收藏 引用 所屬分類: 游戲開發技術網絡 服務器技術

評論

# re: 游戲數據庫選型mysql,mongo, redis, memcached[未登錄] 2015-07-12 02:11 楊粼波
有redis就用redis,沒有就用memcached,memcached是redis的子集,也可以稱之為memcached的升級版。redis的查詢語句要豐富得多,當然,也是要復雜的多。

mongoDB雖然也是NoSQL數據庫,但是與以上兩者有很大的區別。首先,它是磁盤數據庫,而不是內存數據庫,雖然也可以搞成內存數據庫,但是那是歪門邪道。而且,該數據庫的穩定性有待改進,對于數據庫而言,穩定性是我們首要考慮的,服務不能出問題,數據不能出問題。而mysql這樣發展了許多年的數據庫就是我們的首選了,通常將其作為熱備數據庫。

redis的熱備份看起來很美好,但其實不好用,還有損性能。通常都會被關閉掉。

以前新浪是用的memcached,現在不知道了,他們還好像自己改進了,當然,主要是做分布式。

淘寶也有基于memcached開發的Tair,不過據說現在他們自己也慢慢開始放棄了,主要也是在分布式上作了點文章。http://code.taobao.org/p/tair/src/

對于游戲這樣的應用而言,只要不是騰訊那樣的用戶量級,都不需要考慮分布式的問題。只需要省心便可,用redis功能多,自然是首選。  回復  更多評論
  

# re: 游戲數據庫選型mysql,mongo, redis, memcached[未登錄] 2015-07-12 02:27 楊粼波
再啰嗦幾句。

阿里云也支持memcached的,當然也支持redis,
騰訊云太挫了,我對它印象不好,有用過,redis是今年才支持的,要不是因為不支持redis,我也就不會選擇memcached了,很多功能本可以用redis里面很簡單一條命令搞定的,不過話說回來,至少也沒有它搞不定的事情。

memcached有個最郁悶的事情就是沒有什么稱手的工具,只有一個php的memAdmin以及http://www.cnblogs.com/xffy1028/archive/2013/02/01/2861706.html

而Redis有一個http://www.oschina.net/p/redisdesktop,這個很好用。

內存數據庫相對于磁盤數據庫而言,不要抱有太大期望。只不過是說,磁盤數據庫隨著數據量增大,它的性能會呈指數級降低。而內存數據庫基本上是沒有太大的影響,僅此而已。磁盤數據庫數據量少的時候,可能跟內存數據庫的性能差不多哦。  回復  更多評論
  

# re: 游戲數據庫選型mysql,mongo, redis, memcached 2015-07-13 09:24 戰魂小筑
@楊粼波
感謝楊大大專業級回答  回復  更多評論
  

# re: 游戲數據庫選型mysql,mongo, redis, memcached[未登錄] 2015-07-14 12:50 楊粼波
@戰魂小筑
專業倒稱不上,因為做過,這些都比較了解了,只能說是過來人罷了。我那個數量級,簡直要笑掉大牙的。要專家級,起碼得經歷過大用戶量的沖擊才行啊。  回復  更多評論
  

# re: 游戲數據庫選型mysql,mongo, redis, memcached 2015-07-20 20:29 T
mongo號稱程序員的最愛,運維的噩夢。
過了開發期的甜蜜時光,后面就有的痛苦了。  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产伦精品一区二区三区四区免费| 久久久久久高潮国产精品视| 亚洲黄色在线| 亚洲看片一区| 午夜久久资源| 欧美成年人视频| 国产午夜精品一区二区三区欧美 | 国产精品一区二区三区四区五区| 精品动漫3d一区二区三区免费版 | 亚洲精品黄色| 亚洲一区欧美一区| 亚洲成人在线视频网站| 午夜久久久久久久久久一区二区| 欧美日本成人| 日韩午夜激情av| 欧美成人69| 欧美在线3区| 国产精品人人做人人爽人人添| 99国产精品久久久久久久成人热| 久久一区二区三区四区五区| 亚洲深夜激情| 国产精品xxxav免费视频| 日韩亚洲欧美一区| 欧美国产视频日韩| 亚洲永久精品国产| 欧美性事免费在线观看| 亚洲最新色图| 亚洲精品中文字| 欧美激情小视频| 亚洲精品在线观| 亚洲国产视频一区| 你懂的网址国产 欧美| 亚洲福利一区| 亚洲国产精品va| 欧美伊人久久大香线蕉综合69| 国产精品日韩久久久| 亚洲欧美欧美一区二区三区| 亚洲精品一区二区三区福利| 欧美交受高潮1| 在线一区免费观看| 亚洲丝袜av一区| 国产美女精品一区二区三区| 午夜免费日韩视频| 国产综合一区二区| 亚洲人成网站999久久久综合| 日韩视频久久| 午夜宅男久久久| 亚洲第一精品电影| 亚洲欧美日韩精品久久奇米色影视 | 欧美精品久久久久久久免费观看| 国产精品成人观看视频免费| 国产亚洲一级| 一区二区三区在线免费播放| 亚洲网站视频| 欧美69wwwcom| 校园激情久久| 欧美视频在线观看| 国产热re99久久6国产精品| 日韩视频久久| 欧美成人免费全部| 久久综合中文| 国内精品国语自产拍在线观看| 亚洲一区中文字幕在线观看| 欧美黄色网络| 亚洲欧美日本视频在线观看| 欧美日韩国产一区二区三区地区 | 亚洲欧美日韩直播| 欧美日本国产在线| 国产精品呻吟| 亚洲最新视频在线| 亚洲伦理在线免费看| 欧美日韩一区免费| 午夜视频在线观看一区二区三区 | 欧美一区精品| 久久久成人精品| 亚洲全部视频| 99精品国产高清一区二区| 国产精品高清网站| 久久综合影视| 欧美日韩不卡一区| 久久av在线| 久久夜色精品国产欧美乱极品| 亚洲电影免费在线| 亚洲美女区一区| 国产一区二区激情| 亚洲国产精品一区二区www在线| 欧美日本在线观看| 羞羞色国产精品| 久久这里有精品15一区二区三区| 亚洲理伦在线| 欧美亚洲综合久久| 亚洲精品免费在线| 亚洲欧美影音先锋| 亚洲综合三区| 亚洲二区三区四区| 欧美亚洲第一页| 久久av老司机精品网站导航| 久久最新视频| 欧美一区二区三区四区在线观看地址 | 亚洲美女在线一区| 午夜视频久久久| 一区二区三区免费在线观看| 久久精品99国产精品日本| 日韩视频免费观看高清完整版| 欧美亚洲免费电影| 亚洲性图久久| 欧美高清你懂得| 久久精品中文| 国产精品美女主播| 亚洲激情黄色| 一区视频在线看| 亚洲免费在线看| 一区二区三区国产盗摄| 久久资源av| 久久亚洲高清| 国产日韩欧美不卡| 亚洲一区二区3| 一区二区三区视频在线观看| 久久亚洲综合色一区二区三区| 亚洲男女自偷自拍图片另类| 欧美大片一区二区三区| 免费黄网站欧美| 伊人春色精品| 久久精品亚洲精品国产欧美kt∨| 欧美一级播放| 国产精品嫩草99av在线| 日韩亚洲国产欧美| 亚洲视频精品在线| 欧美日韩成人综合| 亚洲欧洲综合另类| 亚洲乱码国产乱码精品精可以看| 久久亚洲一区二区三区四区| 久久久99久久精品女同性| 国产亚洲亚洲| 久久久久久久波多野高潮日日| 久久九九精品| 一区在线视频| 久久尤物视频| 欧美激情综合| av成人黄色| 国产精品成人在线观看| 99热这里只有精品8| 亚洲一区影音先锋| 国产精品看片资源| 欧美一区二区三区日韩视频| 久久精品成人欧美大片古装| 精品成人一区二区三区| 久久深夜福利| 亚洲激情中文1区| 午夜精品一区二区三区四区| 国产视频亚洲精品| 久久综合狠狠综合久久综合88| 欧美黑人国产人伦爽爽爽| 亚洲蜜桃精久久久久久久| 欧美网站大全在线观看| 亚洲欧美福利一区二区| 久久伊伊香蕉| 日韩一级黄色av| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 久久www免费人成看片高清| 久久久噜噜噜久久狠狠50岁| 在线观看亚洲一区| 欧美日韩成人综合在线一区二区 | 亚洲国产精品一区二区www在线 | 亚洲大片av| 欧美午夜电影网| 久久精品一级爱片| 日韩视频免费在线| 久久久久久91香蕉国产| 亚洲理伦电影| 含羞草久久爱69一区| 欧美久久九九| 久久精品国产91精品亚洲| 亚洲欧洲日韩综合二区| 久久精品亚洲乱码伦伦中文| 亚洲美女淫视频| 国内伊人久久久久久网站视频 | 久久精品首页| 亚洲视频在线观看网站| 免费成人小视频| 亚洲欧美日本伦理| 亚洲日本国产| 精品成人在线视频| 国产精品视频观看| 欧美日韩色综合| 巨乳诱惑日韩免费av| 亚洲永久在线观看| 亚洲精品护士| 欧美不卡视频一区| 久久久久久9| 亚洲欧美日韩另类| 日韩网站在线观看| 亚洲电影av| 精品1区2区| 国产一区二区三区黄| 国产精品美女久久福利网站| 欧美精品九九| 欧美国产精品久久| 免费观看在线综合色| 久久中文欧美|