亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
123下一頁
最近訪問板塊 發(fā)新帖
查看: 5487 | 回復: 21
打印 上一主題 下一主題

[算法] 無鎖( mutex)內(nèi)存數(shù)據(jù)庫的技術(shù)路線討論貼, 準備測試評估一下 [復制鏈接]

論壇徽章:
9
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-18 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-01 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-02 06:20:00每日論壇發(fā)貼之星
日期:2015-11-02 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-03 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-06 06:20:00數(shù)據(jù)庫技術(shù)版塊每周發(fā)帖之星
日期:2015-12-02 15:02:47數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2015-12-08 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-10-29 23:23 |只看該作者 |倒序瀏覽
我現(xiàn)在就在想, 數(shù)據(jù)庫中萬惡的鎖,

其實, 目前的多線程編程新技術(shù)已經(jīng)可以把內(nèi)存數(shù)據(jù)庫中的鎖徹底拋棄了,

但是市場中好像還沒有一款這樣的產(chǎn)品, 不知道是什么原因. 也許是我孤陋寡聞, 使用少吧.  如果有的話, 請告訴我.  

我的理解, 無鎖的內(nèi)存數(shù)據(jù)庫在普通4核心上并發(fā)可以輕松過百萬千萬, 應該瓶頸在網(wǎng)絡層, 內(nèi)存層沒有鎖, 就基本沒有消耗, 很少的代碼就可以存取到數(shù)據(jù),

如果市場上真的沒有這樣的產(chǎn)品, 就考慮自己來做一個這樣的產(chǎn)品吧, 網(wǎng)絡層的代碼調(diào)優(yōu)完畢, 我就開始做無鎖的內(nèi)存數(shù)據(jù)庫.   

只要實現(xiàn)了無鎖的內(nèi)存數(shù)據(jù)庫, 那么內(nèi)存數(shù)據(jù)庫的并發(fā)量就會隨著CPU內(nèi)核的增加而線性增加,

現(xiàn)在的技術(shù)路線上有好多種辦法,  我自己知道至少2種, 都可以實現(xiàn)無鎖.

初步計劃, 我先做初步代碼測試2個最簡單的技術(shù)路線,

1是內(nèi)存分區(qū), 然后按核分配內(nèi)存, 每個核管理自己的區(qū)域, 無沖突, 但是有可能單核心的壓力過大, 不平衡.  然后就是每個核心有一個隊列, 這個隊列是lock_free的, 這個技術(shù)路線, 是最簡單的技術(shù)路線, 用軟件讓數(shù)據(jù)對核心固定下來, cache也比較固定, 說白了, 這個技術(shù)路線是內(nèi)核操作無阻塞,單線程, 外圍解決沖突的問題.
外圍使用lock-free解決問題.  技術(shù)瓶頸在lock-free

2是讀寫沖突校驗法, 利用Intel的SSE指令實現(xiàn),  理論上可以達到內(nèi)存帶寬, 無瓶頸. 可以保證, 在任何情況下, 無論多少個并發(fā)讀寫同一片內(nèi)存區(qū)域, 至少有一個線程可以成功, 無鎖無阻塞無沖突, 全部內(nèi)存任意存取, 任意訪問, 很隨意.  技術(shù)瓶頸在SSE.

二種技術(shù)路線, 技術(shù)上都不復雜, 代碼也沒有多少, 初步估計, 大約靜下心來, 做一個簡單的數(shù)據(jù)庫核心,  

我準備明天開始先做測試代碼, 對技術(shù)路線進行性能分析評估,   然后根據(jù)測試報告評估來做最后的產(chǎn)品,  

想一想無鎖的數(shù)據(jù)庫, 是多么的美好啊.  想一想都覺得自己以前怎么就沒有用過這樣的無鎖的數(shù)據(jù)庫 產(chǎn)品呢?????

無鎖的世界是多么的美好.

呵呵呵呵呵呵.   

大家如果有無鎖內(nèi)存數(shù)據(jù)庫的新技術(shù)路線, 也可以在這個帖子中一起討論一下, 謝謝.  

畢竟我從來沒有接觸過這樣的產(chǎn)品, 我是第一次做.

論壇徽章:
44
15-16賽季CBA聯(lián)賽之浙江
日期:2021-10-11 02:03:59程序設(shè)計版塊每日發(fā)帖之星
日期:2016-07-02 06:20:0015-16賽季CBA聯(lián)賽之新疆
日期:2016-04-25 10:55:452016科比退役紀念章
日期:2016-04-23 00:51:2315-16賽季CBA聯(lián)賽之山東
日期:2016-04-17 12:00:2815-16賽季CBA聯(lián)賽之福建
日期:2016-04-12 15:21:2915-16賽季CBA聯(lián)賽之遼寧
日期:2016-03-24 21:38:2715-16賽季CBA聯(lián)賽之福建
日期:2016-03-18 12:13:4015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-05 00:55:2015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-04 21:11:3615-16賽季CBA聯(lián)賽之天津
日期:2016-11-02 00:33:1215-16賽季CBA聯(lián)賽之浙江
日期:2017-01-13 01:31:49
2 [報告]
發(fā)表于 2015-10-30 00:48 |只看該作者
你可以先試試實現(xiàn)一個lock free hash table,然后再來評估整個項目是否值得花太多功夫。

事先提醒你,著玩意兒的麻煩程度很可能超出你的預期。

PS: https://github.com/windoze/Argos ... common/hash_table.h 這個hash_table湊合著可以當lock free hash table用,雖然我知道里面有一些問題。

論壇徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52雙子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午馬
日期:2013-10-18 21:43:38
3 [報告]
發(fā)表于 2015-10-30 10:25 |只看該作者
信心爆棚的結(jié)果

論壇徽章:
9
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-18 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-01 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-02 06:20:00每日論壇發(fā)貼之星
日期:2015-11-02 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-03 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-06 06:20:00數(shù)據(jù)庫技術(shù)版塊每周發(fā)帖之星
日期:2015-12-02 15:02:47數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2015-12-08 06:20:00
4 [報告]
發(fā)表于 2015-10-30 10:53 |只看該作者
回復 3# hellioncu

好吧, 我一個無業(yè)游民, 只能做點代碼, 反正時間大把, 剛好自己做試驗, 做代碼, 沒有任何成本, 沒有上級領(lǐng)導, 放手自由去做一些自己過去想都不敢想, 連公司也都不可能去做的事情.

論壇徽章:
15
射手座
日期:2014-11-29 19:22:4915-16賽季CBA聯(lián)賽之青島
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16賽季CBA聯(lián)賽之四川
日期:2017-02-07 21:08:572015年亞冠紀念徽章
日期:2015-11-06 12:31:58每日論壇發(fā)貼之星
日期:2015-08-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-07-12 22:20:002015亞冠之浦和紅鉆
日期:2015-07-08 10:10:132015亞冠之大阪鋼巴
日期:2015-06-29 11:21:122015亞冠之廣州恒大
日期:2015-05-22 21:55:412015年亞洲杯之伊朗
日期:2015-04-10 16:28:25
5 [報告]
發(fā)表于 2015-10-30 13:01 |只看該作者
本帖最后由 yulihua49 于 2015-10-30 13:14 編輯
wlmqgzm 發(fā)表于 2015-10-29 23:23
我現(xiàn)在就在想, 數(shù)據(jù)庫中萬惡的鎖,

1是內(nèi)存分區(qū), 然后按核分配內(nèi)存, 每個核管理自己的區(qū)域, 無沖突,  ...

很多場合內(nèi)存數(shù)據(jù)庫是要各線程共享的,按核獨享?
本來我們的服務器是多進程的,為什么改成多線程?就是需要任務間共享同一個內(nèi)存數(shù)據(jù)庫。
一個線程(它可能占據(jù)任何一個核)修改了內(nèi)容,其他線程立刻就可以看到。而且,一個線程正在修改時,別的線程不能修改相同的數(shù)據(jù)。怎么能無鎖處理,我想不通。

所謂內(nèi)存數(shù)據(jù)庫,多用于存儲靜態(tài)數(shù)據(jù)。修改量比較少,也不頻繁。盡管如此,修改操作是必然存在的,不鎖,怎么玩?

論壇徽章:
9
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-18 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-01 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-02 06:20:00每日論壇發(fā)貼之星
日期:2015-11-02 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-03 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-06 06:20:00數(shù)據(jù)庫技術(shù)版塊每周發(fā)帖之星
日期:2015-12-02 15:02:47數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2015-12-08 06:20:00
6 [報告]
發(fā)表于 2015-10-30 13:05 |只看該作者
本帖最后由 wlmqgzm 于 2015-10-30 13:08 編輯

回復 5# yulihua49

對外是整體, 對內(nèi)要分片, 就是這樣,
一個數(shù)據(jù)庫在內(nèi)部分片成幾個單線程的數(shù)據(jù)庫, 就沒有鎖了, 幾個單庫并發(fā), 就可以提高對外的整體并發(fā)度, 提高性能.

   

論壇徽章:
15
射手座
日期:2014-11-29 19:22:4915-16賽季CBA聯(lián)賽之青島
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16賽季CBA聯(lián)賽之四川
日期:2017-02-07 21:08:572015年亞冠紀念徽章
日期:2015-11-06 12:31:58每日論壇發(fā)貼之星
日期:2015-08-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-07-12 22:20:002015亞冠之浦和紅鉆
日期:2015-07-08 10:10:132015亞冠之大阪鋼巴
日期:2015-06-29 11:21:122015亞冠之廣州恒大
日期:2015-05-22 21:55:412015年亞洲杯之伊朗
日期:2015-04-10 16:28:25
7 [報告]
發(fā)表于 2015-10-30 13:23 |只看該作者
wlmqgzm 發(fā)表于 2015-10-30 13:05
回復 5# yulihua49

對外是整體, 對內(nèi)要分片, 就是這樣,

每個分片只有一個線程能修改?

論壇徽章:
9
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-18 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-01 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-02 06:20:00每日論壇發(fā)貼之星
日期:2015-11-02 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-03 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-06 06:20:00數(shù)據(jù)庫技術(shù)版塊每周發(fā)帖之星
日期:2015-12-02 15:02:47數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2015-12-08 06:20:00
8 [報告]
發(fā)表于 2015-10-30 13:24 |只看該作者
本帖最后由 wlmqgzm 于 2015-10-30 13:27 編輯

回復 7# yulihua49

對, 具體內(nèi)容在我的" ASIO 無鎖, 高并發(fā),高可靠網(wǎng)絡架構(gòu),抗DOS,無鎖內(nèi)存數(shù)據(jù)庫, 奔騰雙核CPU32.5萬QPS ECHO "
里面有大量的討論.

論壇徽章:
15
射手座
日期:2014-11-29 19:22:4915-16賽季CBA聯(lián)賽之青島
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16賽季CBA聯(lián)賽之四川
日期:2017-02-07 21:08:572015年亞冠紀念徽章
日期:2015-11-06 12:31:58每日論壇發(fā)貼之星
日期:2015-08-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-04 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-07-12 22:20:002015亞冠之浦和紅鉆
日期:2015-07-08 10:10:132015亞冠之大阪鋼巴
日期:2015-06-29 11:21:122015亞冠之廣州恒大
日期:2015-05-22 21:55:412015年亞洲杯之伊朗
日期:2015-04-10 16:28:25
9 [報告]
發(fā)表于 2015-10-30 15:36 |只看該作者
本帖最后由 yulihua49 于 2015-10-30 15:37 編輯
wlmqgzm 發(fā)表于 2015-10-30 13:24
回復 7# yulihua49

對, 具體內(nèi)容在我的" ASIO 無鎖, 高并發(fā),高可靠網(wǎng)絡架構(gòu),抗DOS,無鎖內(nèi)存數(shù)據(jù)庫, 奔騰 ...

實際上我很難控制修改的任務交給哪個線程(核)。
任務的分派是隨機的,無法控制。

論壇徽章:
36
子鼠
日期:2013-08-28 22:23:29黃金圣斗士
日期:2015-12-01 11:37:51程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-14 06:20:00CU十四周年紀念徽章
日期:2015-12-22 16:50:40IT運維版塊每日發(fā)帖之星
日期:2016-01-25 06:20:0015-16賽季CBA聯(lián)賽之深圳
日期:2016-01-27 10:31:172016猴年福章徽章
日期:2016-02-18 15:30:3415-16賽季CBA聯(lián)賽之福建
日期:2016-04-07 11:25:2215-16賽季CBA聯(lián)賽之青島
日期:2016-04-29 18:02:5915-16賽季CBA聯(lián)賽之北控
日期:2016-06-20 17:38:50技術(shù)圖書徽章
日期:2016-07-19 13:54:03程序設(shè)計版塊每日發(fā)帖之星
日期:2016-08-21 06:20:00
10 [報告]
發(fā)表于 2015-10-31 09:45 |只看該作者
回復 6# wlmqgzm


    數(shù)據(jù)庫內(nèi)部分片,單硬件是瓶頸。要想做大,還得考慮集群,而集群,直接是功能服務器與數(shù)據(jù)服務器映射就好了,“外部分片”,靈活性擴展性大得多。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP