彩票控山西快乐十分钟 http://www.psiuzv.icu 中文社區 Tue, 31 Dec 2019 15:15:18 +0000 zh-CN hourly 1 http://wordpress.org/?v=3.9.1 2020.01.04|2019年MongoDB中文社區年終盛會約你來深圳 http://www.psiuzv.icu/meetup2019?utm_source=rss&utm_medium=rss&utm_campaign=2019%25e5%25b9%25b4mongodb%25e4%25b8%25ad%25e6%2596%2587%25e7%25a4%25be%25e5%258c%25ba%25e5%25b9%25b4%25e7%25bb%2588%25e7%259b%259b%25e4%25bc%259a%25e6%25ad%25a3%25e5%25bc%258f%25e5%25bc%2580%25e5%2590%25af%25e6%258a%25a5%25e5%2590%258d http://www.psiuzv.icu/meetup2019#comments Fri, 13 Dec 2019 07:08:15 +0000 http://mongoing.com/?p=29766 2019年終盛會 (2)

2019年MongoDB中文社區年終盛會將于2020年1月4日(星期六)在深圳福田區車公廟附近召開。來現場,您將收獲3大專場經驗加持:

云服務專場

如果你正在考慮是否上云,或者在糾結是否在云里自建MongoDB還是采用某個云廠商的托管服務,你不能錯過這個盛宴:MongoDB官方在AWS, Azure, GCP上的云托管服務,阿里云的MongoDB、騰訊云和華為云的文檔數據庫服務,都將紛紛登場。

生態技術專場

MongoDB的成功離不開開發者,最大的使用者也是開發者群體。這次我們走出MongoDB,特別邀請了一些生態技術專家,如PostgreSQL社區靈魂人物德哥, Node.js語言大牛陳杰文及Java語言的性能專家劉超等,為大家帶來全棧式的技術套餐。

MongoDB專場

原廠的內核工程師周思遠專程從紐約趕赴深圳為社區助力,分享MongoDB最近在TPCC測試上的成果;

字節跳動基礎架構深圳負責人將為我們分享MongoDB在字節跳動的應用及挑戰,未來的一些優化方向;

來自香港的周生生技術經理林志遠為大家分享如何構建MongoDB數據中臺來顯著改進企業數據構建能力;

網易的鄭良櫸為大家分享MongoDB如何輕松支持千萬級DAU游戲場景。

大會速遞

時間:2020年1月4日 星期六

地點:深圳市福田區深南大道7028號時代大廈東座6層海逸廳

大會名額:200名

報名鏈接:https://www.huodongxing.com/event/6522100602600

9.9元票:請添加工作人員微信(ID:cyqcyl)領取

大會嘉賓

大會嘉賓

大會議程

年終大會議程

報名優惠

9.9元票:寫一段推薦語,分享本篇大會邀請函至朋友圈,將截圖發至公眾號后臺或者工作人員微信(ID:cyqcyl),領取優惠碼,9.9元即可購票

標準票:土豪直購票渠道,120元/張

報名鏈接:http://hdxu.cn/NW5EG

大會禮品:請關注我們后續發布

議題先知道

云服務專場

演講嘉賓:葉翔

阿里云NoSQL技術總監,資深技術專家 在阿里集團持續深耕NoSQL技術研發十余載。目前擔任阿里云資深技術專家,負責阿里云NoSQL產品技術團隊。曾研發分布式緩存TAIR,為歷年雙11保駕護航。此后主導研發推出了Redis,MongoDB等NoSQL熱門產品,為用戶提供高質量的阿里云數據庫解決方案;同時,團隊內也培養出眾多開源社區骨干,積極回饋社區和貢獻源碼。

分享議題:《阿里云MongoDB技術實現》

MongoDB作為NoSQL數據庫的代表,集成于阿里云服務體系內,現已服務客戶多年,并且獨家支持MongoDB 4.2版本。產品技術能力逐步升級迭代,追求為用戶提供極致的MongoDB服務體驗。在這次演講里,帶領大家深入阿里云MongoDB技術原理,一起探索MongoDB云服務體系架構和內核優勢與原理。

演講嘉賓:胡達

華為云NoSQL架構師 華為云NoSQL數據庫負責人,十五年分布式數據庫研發經驗,曾負責通信設備中的核心用戶數據庫的設計與實現,對數據庫的高可用、一致性、彈性、性能調優等關鍵技術方案擁有豐富的經驗。

分享議題:《云原生時代的MongoDB》 - 云上MongoDB的發展與技術趨勢; - 幾大公有云廠商MongoDB數據庫服務對比與選擇。

演講嘉賓:楊林

騰訊TEG云架構平臺部高級工程師,CMongo團隊技術負責人,專注于分布式和數據庫領域的研究,對MongoDB源碼有深入研究。

分享議題:《基于MongoDB的彈性文檔服務》 隨著Serverless架構的興起,開發者越來越關注業務本身邏輯,不用關心后端基礎設施的問題。本次分享主要介紹基于騰訊內部的CMongo平臺,如何構建一套彈性文檔服務,為云上開發者提供高效、穩定、完全托管的彈性文檔數據庫,從而快速構建自己的應用。

演講嘉賓:張春立 MongoDB高級咨詢顧問 張春立擔任MongoDB中國區高級咨詢顧問,負責為中國區的MongoDB客戶提供技術咨詢與服務。具有十多年的企業應用開發和IT咨詢經驗,在數據庫、云計算、內容管理、數字營銷、電商等領域具備豐富的經驗。目前致力于幫助MongoDB中國區客戶打造智能化數據操作平臺,加速企業實現數字化轉型。

分享議題:《云時代的MongoDB Atlas》 MongoDB Atlas是為云時代而生的數據庫即服務平臺。在眾多競爭對手中它具備哪些特色和優勢?本講座將帶您了解Atlas的方方面面。

生態技術專場

演講嘉賓:digoal(德哥)

阿里云數據庫首席專家團隊成員, 中國開源軟件推進聯盟PostgreSQL分會特聘資深領域專家。現任職于阿里云數據庫團隊,負責阿里云PostgreSQL系列產品線。自2008年開始,堅持開源PostgreSQL數據庫的布道,負責PostgreSQL數據庫在中國的技術落地與推廣、人才培養。

分享議題:《PG與mongo搭配幫助企業替換Oracle》 從開發者,管理員視角分享Oracle與PG在架構,SQL語法,存儲過程,安全,高可用,備份恢復,優化,排錯等方面的異同。結合mongo與pg在替換oracle上的互補。幫助用戶順滑替換oracle。

演講嘉賓:陳杰文

騰訊視頻前端工程師 畢業于中山大學軟件工程專業,后一直專注前端開發。2018年加入騰訊,主要負責騰訊視頻草場地商城等桌面及移動端開發工作。自研的無極配置系統,基于Node.js&mongodb,服務于公司內大量業務,以靈活通用的操作方式解決日常運營工作中多變的數據配置需求。

分享議題:《一條數據的一生 —— 基于Node.js&MongoDB的配置管理系統》

配置時代,每天都在產生新的運營數據、程序配置、資料庫等,如何更好的去管理這些數據的產生、存儲、消費?又如何去更好的進行業務與配置的整合,從而提升生產效率?無極配置系統或許就是你追尋的答案。

演講嘉賓:劉超

現任金山軟件西山居技術經理,極客時間《Java性能優化實戰》作者,主導游戲道具商城、支付系統、云游戲的研發工作,帶領技術團隊轉型微服務架構。曾就職多家一線互聯網公司,負責過電商、物流、支付系統的搭建工作,主攻后端架構研發,在高并發業務系統方面,具有豐富的實戰經驗。

分享議題:《金山西山居后端服務架構升級優化實踐》

分享異構場景下的服務化實踐,包括RPC通信,分表分庫,分布式事務等基礎組件的實現。以及分享超大日志場景下的日志平臺優化實踐。

MongoDB專場

演講嘉賓:張雷

字節跳動基礎架構深圳負責人 10+分布式存儲與數據庫設計與研發經驗,目前負責字節跳動數據庫領域/對象存儲領域相關的研發團隊,支撐字節跳動全系產品的超大規模數據存儲與治理。

分享議題:《MongoDB在字節跳動的應用及挑戰》

張雷將為我們介紹MongoDB在字節跳動的若干應用場景及挑戰,以及未來的一些優化方向。

演講嘉賓:林志遠

周生生集團國際有限公司系統經理 2012年加入周生生集團,研究領域包括開發框架,微服務細化組裝管理和集團數據應用。面對DevOps持續優化,應用效能調優,敏捷開發方案及分布式業務落地有深度積累及經驗。目前主導分布性數據優化,模型重建重構,協助團隊快速業務場景交付。

分享議題:《從孤島模式到中臺模式的開發效率提升 —— 奢侈品牌商在數據中臺上的實踐》

隨著企業數據積累,開發難度越來越高,打造有共同、共用屬性的數據資源勢在必行。本次會以銷售面向分享架構、計劃及實行時遇到的問題及經驗,怎樣利用數據復制轉移,搭建數據中臺,減少業務需求開發時間及提升效率。

演講嘉賓:鄭良櫸

網易游戲數據庫專家,主要負責網易游戲內部MongoDB數據庫相關業務,致力于為游戲提供一個安全穩定可靠的數據庫環境。

分享議題:《MongoDB 助力千萬級 DAU 游戲騰飛》 MongoDB作為當前主流的文檔型數據庫,本次分享主要介紹MongoDB在游戲領域的應用以及如何借助MongoDB實現大用戶量的需求。

演講嘉賓:周思遠

Lead Engineer, Server Replication @ MongoDB 加入 MongoDB 六年多,一直從事核心數據庫開發。曾負責地理位置索引與查詢;參與開發基于 Raft 的 MongoDB 一致性協議。帶領團隊完善復制集數據一致性相關功能,改進使用體驗。參與、設計或領導多個項目開發 MongoDB 4.0 事務與 MongoDB 4.2 分布式事務。

分享議題:《MongoDB 事務性能基準測試:MongoDB 遇上 TPC-C》

我們將討論TPC-C工作負載如何圍繞索引,架構設計和其他修改適應MongoDB最佳實踐,以及這些更改對性能產生的影響。

關于征文

請點擊鏈接:https://www.huodongxing.com/event/2521842914900

MongoDB征文海報封面版30號

我和MongoDB的故事

征文時間:2019年12月5日-30日

獲獎參賽者將有機會到大會現場進行演講(不限分享經驗),還有大禮等你拿!

主辦方

MONGOING

MONGODB

JINMU

贊助方

TAPDATA

媒體合作方

媒體合作方

合作伙伴

合作伙伴

]]>
2019年終盛會 (2)

2019年MongoDB中文社區年終盛會將于2020年1月4日(星期六)在深圳福田區車公廟附近召開。來現場,您將收獲3大專場經驗加持:

云服務專場

如果你正在考慮是否上云,或者在糾結是否在云里自建MongoDB還是采用某個云廠商的托管服務,你不能錯過這個盛宴:MongoDB官方在AWS, Azure, GCP上的云托管服務,阿里云的MongoDB、騰訊云和華為云的文檔數據庫服務,都將紛紛登場。

生態技術專場

MongoDB的成功離不開開發者,最大的使用者也是開發者群體。這次我們走出MongoDB,特別邀請了一些生態技術專家,如PostgreSQL社區靈魂人物德哥, Node.js語言大牛陳杰文及Java語言的性能專家劉超等,為大家帶來全棧式的技術套餐。

MongoDB專場

原廠的內核工程師周思遠專程從紐約趕赴深圳為社區助力,分享MongoDB最近在TPCC測試上的成果;

字節跳動基礎架構深圳負責人將為我們分享MongoDB在字節跳動的應用及挑戰,未來的一些優化方向;

來自香港的周生生技術經理林志遠為大家分享如何構建MongoDB數據中臺來顯著改進企業數據構建能力;

網易的鄭良櫸為大家分享MongoDB如何輕松支持千萬級DAU游戲場景。

大會速遞

時間:2020年1月4日 星期六

地點:深圳市福田區深南大道7028號時代大廈東座6層海逸廳

大會名額:200名

報名鏈接:https://www.huodongxing.com/event/6522100602600

9.9元票:請添加工作人員微信(ID:cyqcyl)領取

大會嘉賓

大會嘉賓

大會議程

年終大會議程

報名優惠

9.9元票:寫一段推薦語,分享本篇大會邀請函至朋友圈,將截圖發至公眾號后臺或者工作人員微信(ID:cyqcyl),領取優惠碼,9.9元即可購票

標準票:土豪直購票渠道,120元/張

報名鏈接:http://hdxu.cn/NW5EG

大會禮品:請關注我們后續發布

議題先知道

云服務專場

演講嘉賓:葉翔

阿里云NoSQL技術總監,資深技術專家
在阿里集團持續深耕NoSQL技術研發十余載。目前擔任阿里云資深技術專家,負責阿里云NoSQL產品技術團隊。曾研發分布式緩存TAIR,為歷年雙11保駕護航。此后主導研發推出了Redis,MongoDB等NoSQL熱門產品,為用戶提供高質量的阿里云數據庫解決方案;同時,團隊內也培養出眾多開源社區骨干,積極回饋社區和貢獻源碼。

分享議題:《阿里云MongoDB技術實現》

MongoDB作為NoSQL數據庫的代表,集成于阿里云服務體系內,現已服務客戶多年,并且獨家支持MongoDB 4.2版本。產品技術能力逐步升級迭代,追求為用戶提供極致的MongoDB服務體驗。在這次演講里,帶領大家深入阿里云MongoDB技術原理,一起探索MongoDB云服務體系架構和內核優勢與原理。

演講嘉賓:胡達

華為云NoSQL架構師
華為云NoSQL數據庫負責人,十五年分布式數據庫研發經驗,曾負責通信設備中的核心用戶數據庫的設計與實現,對數據庫的高可用、一致性、彈性、性能調優等關鍵技術方案擁有豐富的經驗。

分享議題:《云原生時代的MongoDB》
- 云上MongoDB的發展與技術趨勢;
- 幾大公有云廠商MongoDB數據庫服務對比與選擇。

演講嘉賓:楊林

騰訊TEG云架構平臺部高級工程師,CMongo團隊技術負責人,專注于分布式和數據庫領域的研究,對MongoDB源碼有深入研究。

分享議題:《基于MongoDB的彈性文檔服務》
隨著Serverless架構的興起,開發者越來越關注業務本身邏輯,不用關心后端基礎設施的問題。本次分享主要介紹基于騰訊內部的CMongo平臺,如何構建一套彈性文檔服務,為云上開發者提供高效、穩定、完全托管的彈性文檔數據庫,從而快速構建自己的應用。

演講嘉賓:張春立
MongoDB高級咨詢顧問
張春立擔任MongoDB中國區高級咨詢顧問,負責為中國區的MongoDB客戶提供技術咨詢與服務。具有十多年的企業應用開發和IT咨詢經驗,在數據庫、云計算、內容管理、數字營銷、電商等領域具備豐富的經驗。目前致力于幫助MongoDB中國區客戶打造智能化數據操作平臺,加速企業實現數字化轉型。

分享議題:《云時代的MongoDB Atlas》
MongoDB Atlas是為云時代而生的數據庫即服務平臺。在眾多競爭對手中它具備哪些特色和優勢?本講座將帶您了解Atlas的方方面面。

生態技術專場

演講嘉賓:digoal(德哥)

阿里云數據庫首席專家團隊成員, 中國開源軟件推進聯盟PostgreSQL分會特聘資深領域專家。現任職于阿里云數據庫團隊,負責阿里云PostgreSQL系列產品線。自2008年開始,堅持開源PostgreSQL數據庫的布道,負責PostgreSQL數據庫在中國的技術落地與推廣、人才培養。

分享議題:《PG與mongo搭配幫助企業替換Oracle》
從開發者,管理員視角分享Oracle與PG在架構,SQL語法,存儲過程,安全,高可用,備份恢復,優化,排錯等方面的異同。結合mongo與pg在替換oracle上的互補。幫助用戶順滑替換oracle。

演講嘉賓:陳杰文

騰訊視頻前端工程師 畢業于中山大學軟件工程專業,后一直專注前端開發。2018年加入騰訊,主要負責騰訊視頻草場地商城等桌面及移動端開發工作。自研的無極配置系統,基于Node.js&mongodb,服務于公司內大量業務,以靈活通用的操作方式解決日常運營工作中多變的數據配置需求。

分享議題:《一條數據的一生 —— 基于Node.js&MongoDB的配置管理系統》

配置時代,每天都在產生新的運營數據、程序配置、資料庫等,如何更好的去管理這些數據的產生、存儲、消費?又如何去更好的進行業務與配置的整合,從而提升生產效率?無極配置系統或許就是你追尋的答案。

演講嘉賓:劉超

現任金山軟件西山居技術經理,極客時間《Java性能優化實戰》作者,主導游戲道具商城、支付系統、云游戲的研發工作,帶領技術團隊轉型微服務架構。曾就職多家一線互聯網公司,負責過電商、物流、支付系統的搭建工作,主攻后端架構研發,在高并發業務系統方面,具有豐富的實戰經驗。

分享議題:《金山西山居后端服務架構升級優化實踐》

分享異構場景下的服務化實踐,包括RPC通信,分表分庫,分布式事務等基礎組件的實現。以及分享超大日志場景下的日志平臺優化實踐。

MongoDB專場

演講嘉賓:張雷

字節跳動基礎架構深圳負責人
10+分布式存儲與數據庫設計與研發經驗,目前負責字節跳動數據庫領域/對象存儲領域相關的研發團隊,支撐字節跳動全系產品的超大規模數據存儲與治理。

分享議題:《MongoDB在字節跳動的應用及挑戰》

張雷將為我們介紹MongoDB在字節跳動的若干應用場景及挑戰,以及未來的一些優化方向。

演講嘉賓:林志遠

周生生集團國際有限公司系統經理
2012年加入周生生集團,研究領域包括開發框架,微服務細化組裝管理和集團數據應用。面對DevOps持續優化,應用效能調優,敏捷開發方案及分布式業務落地有深度積累及經驗。目前主導分布性數據優化,模型重建重構,協助團隊快速業務場景交付。

分享議題:《從孤島模式到中臺模式的開發效率提升 —— 奢侈品牌商在數據中臺上的實踐》

隨著企業數據積累,開發難度越來越高,打造有共同、共用屬性的數據資源勢在必行。本次會以銷售面向分享架構、計劃及實行時遇到的問題及經驗,怎樣利用數據復制轉移,搭建數據中臺,減少業務需求開發時間及提升效率。

演講嘉賓:鄭良櫸

網易游戲數據庫專家,主要負責網易游戲內部MongoDB數據庫相關業務,致力于為游戲提供一個安全穩定可靠的數據庫環境。

分享議題:《MongoDB 助力千萬級 DAU 游戲騰飛》
MongoDB作為當前主流的文檔型數據庫,本次分享主要介紹MongoDB在游戲領域的應用以及如何借助MongoDB實現大用戶量的需求。

演講嘉賓:周思遠

Lead Engineer, Server Replication @ MongoDB
加入 MongoDB 六年多,一直從事核心數據庫開發。曾負責地理位置索引與查詢;參與開發基于 Raft 的 MongoDB 一致性協議。帶領團隊完善復制集數據一致性相關功能,改進使用體驗。參與、設計或領導多個項目開發 MongoDB 4.0 事務與 MongoDB 4.2 分布式事務。

分享議題:《MongoDB 事務性能基準測試:MongoDB 遇上 TPC-C》

我們將討論TPC-C工作負載如何圍繞索引,架構設計和其他修改適應MongoDB最佳實踐,以及這些更改對性能產生的影響。

關于征文

請點擊鏈接:https://www.huodongxing.com/event/2521842914900

MongoDB征文海報封面版30號

我和MongoDB的故事

征文時間:2019年12月5日-30日

獲獎參賽者將有機會到大會現場進行演講(不限分享經驗),還有大禮等你拿!

主辦方

MONGOING

MONGODB

JINMU

贊助方

TAPDATA

媒體合作方

媒體合作方

合作伙伴

合作伙伴

]]>
http://www.psiuzv.icu/meetup2019/feed 0
MongoDB征文 | 不會寫文章的程序員不是好程序員 http://www.psiuzv.icu/blogcontest?utm_source=rss&utm_medium=rss&utm_campaign=mongodb%25e5%25be%2581%25e6%2596%2587-%25e4%25b8%258d%25e4%25bc%259a%25e5%2586%2599%25e6%2596%2587%25e7%25ab%25a0%25e7%259a%2584%25e7%25a8%258b%25e5%25ba%258f%25e5%2591%2598%25e4%25b8%258d%25e6%2598%25af%25e5%25a5%25bd%25e7%25a8%258b%25e5%25ba%258f%25e5%2591%2598 http://www.psiuzv.icu/blogcontest#comments Fri, 13 Dec 2019 04:50:59 +0000 http://www.psiuzv.icu/?p=29742 MongoDB征文海報封面版30號

不少程序員從入門之日起,就在心里埋了一顆編程的種子,認為程序員就是“碼農”,程序就是程序員的全部。

程序員

入了代碼的門,發揮創造力的時候到了。萬丈高樓代碼起,簡直不要太酷!

從白天到黑夜,忙忙碌碌一天又一天,直到寫完一個程序簡直感覺走上人生巔峰啊!

成功

然而現實還是給這群單純的coder加了個任務:寫文檔。從格式到內容要求,從搜集資料、表格說明到各種流程圖、示意圖、關系圖…這群程序猿開始憤怒了,寫東西這種事為什么還需要我們猿類來寫呢?!但是,解鈴還須系鈴人,你建的迷宮,不給個說明不是讓人進去打轉嗎?!高手們早已認識到了文檔的價值,除了文檔,他們認識到另一種創造價值的方式:博客。

夢想

我們先來想一想你心目中大神的模樣:高段位,邏輯清晰,洞察本質,具有強烈的自我驅動力和行動力,專注,堅持……

計算

這些品質并非與生俱來,而是長期訓練的結果。寫博客,就是復盤自身學習與實踐成果,加強學習,訓練思維邏輯與表達的最佳方式之一。一個能堅持寫好技術博客的程序員,我們除了看到他對技術的熱情,同時也會驚嘆于他的毅力。所以,是什么讓這些博客主堅持下來的呢?

閃閃發光

一、在技術圈建立個人品牌。通過博客分享你的知識經驗,一方面讓你的編程能力得以體現,另一方面你良好的書寫表達能力得到認可,由此獲得更多的關注。

二、主動學習能力與邏輯能力的提升。在寫博客過程中,你會發現要將一個知識點說清楚講明白, 首先自己需要了然于心,于是對于模棱兩可的問題,你主動去查閱資料、試錯,甚至掏腰包去聽課,從一開始寫到數十百篇,你會發現原來老半天說不清道不明的東西,后來可以如此順暢有邏輯地寫出來,并讓讀者輕易讀懂。這就是質變的過程。

籃球

三、從長遠來看,寫博客是為未來的你構建一個牢固的底層能力。處于越高級別的工程師在關鍵項目中解決越棘手的問題,彰顯技術領導力的時候到了,干什么呢?寫作、演講和指導。這些無一不是需要良好的溝通表達能力。記住,你不是就為了寫程序而生,你是為了創造業務價值與人生價值而來。溝通能力對于任何人都重要,對于程序員,溝通能力更加體現了你技術的功底。

上場

寫博客的諸多好處,我們不在此贅述了,但有這么一個平臺可以讓你在寫博客的同時,還可以快速分享、獲得認可,難道還不動心嗎?

MongoDB中文社區從成立以來就認識到博客的價值,專注于建設國內最大的MongoDB技術交流平臺,社區成員堅持建設自己的博客網站(mongoing.com),也建設了自媒體矩陣,希望有更多mongoers一起分享自己的MongoDB學習心得和實踐經驗,在交流學習中提升自己,也建立自身在MongoDB技術圈的個人品牌。

厲害-蔡康永

2019年MongoDB年終盛會將于1月4日在深圳召開,本次年終盛會召開前,我們開展MongoDB征文比賽,鼓勵更多mongoers寫博客,寫好博客。

優秀的獲獎者,還有機會受邀到大會現場演講,建立你的個人品牌。

下面,我們來了解一下究竟是怎樣的一個Blog Contest!

文章題材

a 熱點內容:MongoDB案例分享(使用場景,為何選用,實現價值) b MongoDB性能優化實踐 c MongoDB開發技巧或最佳實踐 d MongoDB運維管理最佳實踐 e MongoDB壓力測試 f MongoDB與周邊生態技術(如Spark / Kafka / Hadoop 等)

文章形式

文章(800字以上)、漫畫均可。

內容要求

? 內容不違反法律法規,規章及規范性文件;

? 內容必須和MongoDB相關;

? 內容必須為原創,嚴禁抄襲或洗稿;

? 內容有創意、清晰易懂、信息詳實準確、有深度;

? 投稿篇數不限,但雷同內容不能重復投稿,投稿內容未發表過;

? 內容可以授權MongoDB中文社區渠道進行發布與宣傳。

比賽流程

  1. 參賽者報名;

  2. 投稿時間:12月5-30日;

  3. MongoDB中文社區組委會評分;

  4. 選出獲獎者,大會現場頒獎;

  5. 邀請參加大會演講;

  6. 參賽者優秀文章在中文社區網站,MongoDB官方和中文社區公眾號上發表。

活動獎勵

征文獎品

曝光渠道

社區網站+MongoDB官方和社區自媒體+社區社群+大會現場

聯系我們

  1. 微信公眾號:Mongoing中文社區(mongoing-mongoing)

? 不知道怎么寫?寫了一半想放棄?想得到文章修改意見?為此我們建了個交流群

? 來征文群聊一聊,保證激發你的靈感,還有隨機抽獎給你寫作動力。

blogcontest00

征文參賽者請加入MongoDB征文大賽微信群(掃描上方群二維碼,或者添加工作人員微信(ID:cyqcyl)入群)

分享有禮

微信轉發本文到朋友圈,集贊滿30,截圖私發微信號cyqcyl,即可預約領取周邊禮包(僅限前50,送完即止)。

主辦方

MONGOING

官方

錦木信息

贊助方

TAPDATA

合作方

合作伙伴大圖

]]>
MongoDB征文海報封面版30號

不少程序員從入門之日起,就在心里埋了一顆編程的種子,認為程序員就是“碼農”,程序就是程序員的全部。

程序員

入了代碼的門,發揮創造力的時候到了。萬丈高樓代碼起,簡直不要太酷!

從白天到黑夜,忙忙碌碌一天又一天,直到寫完一個程序簡直感覺走上人生巔峰啊!

成功

然而現實還是給這群單純的coder加了個任務:寫文檔。從格式到內容要求,從搜集資料、表格說明到各種流程圖、示意圖、關系圖…這群程序猿開始憤怒了,寫東西這種事為什么還需要我們猿類來寫呢?!但是,解鈴還須系鈴人,你建的迷宮,不給個說明不是讓人進去打轉嗎?!高手們早已認識到了文檔的價值,除了文檔,他們認識到另一種創造價值的方式:博客。

夢想

我們先來想一想你心目中大神的模樣:高段位,邏輯清晰,洞察本質,具有強烈的自我驅動力和行動力,專注,堅持……

計算

這些品質并非與生俱來,而是長期訓練的結果。寫博客,就是復盤自身學習與實踐成果,加強學習,訓練思維邏輯與表達的最佳方式之一。一個能堅持寫好技術博客的程序員,我們除了看到他對技術的熱情,同時也會驚嘆于他的毅力。所以,是什么讓這些博客主堅持下來的呢?

閃閃發光

一、在技術圈建立個人品牌。通過博客分享你的知識經驗,一方面讓你的編程能力得以體現,另一方面你良好的書寫表達能力得到認可,由此獲得更多的關注。

二、主動學習能力與邏輯能力的提升。在寫博客過程中,你會發現要將一個知識點說清楚講明白, 首先自己需要了然于心,于是對于模棱兩可的問題,你主動去查閱資料、試錯,甚至掏腰包去聽課,從一開始寫到數十百篇,你會發現原來老半天說不清道不明的東西,后來可以如此順暢有邏輯地寫出來,并讓讀者輕易讀懂。這就是質變的過程。

籃球

三、從長遠來看,寫博客是為未來的你構建一個牢固的底層能力。處于越高級別的工程師在關鍵項目中解決越棘手的問題,彰顯技術領導力的時候到了,干什么呢?寫作、演講和指導。這些無一不是需要良好的溝通表達能力。記住,你不是就為了寫程序而生,你是為了創造業務價值與人生價值而來。溝通能力對于任何人都重要,對于程序員,溝通能力更加體現了你技術的功底。

上場

寫博客的諸多好處,我們不在此贅述了,但有這么一個平臺可以讓你在寫博客的同時,還可以快速分享、獲得認可,難道還不動心嗎?

MongoDB中文社區從成立以來就認識到博客的價值,專注于建設國內最大的MongoDB技術交流平臺,社區成員堅持建設自己的博客網站(mongoing.com),也建設了自媒體矩陣,希望有更多mongoers一起分享自己的MongoDB學習心得和實踐經驗,在交流學習中提升自己,也建立自身在MongoDB技術圈的個人品牌。

厲害-蔡康永

2019年MongoDB年終盛會將于1月4日在深圳召開,本次年終盛會召開前,我們開展MongoDB征文比賽,鼓勵更多mongoers寫博客,寫好博客。

優秀的獲獎者,還有機會受邀到大會現場演講,建立你的個人品牌。

下面,我們來了解一下究竟是怎樣的一個Blog Contest!

文章題材

a 熱點內容:MongoDB案例分享(使用場景,為何選用,實現價值)
b MongoDB性能優化實踐
c MongoDB開發技巧或最佳實踐
d MongoDB運維管理最佳實踐
e MongoDB壓力測試
f MongoDB與周邊生態技術(如Spark / Kafka / Hadoop 等)

文章形式

文章(800字以上)、漫畫均可。

內容要求

? 內容不違反法律法規,規章及規范性文件;

? 內容必須和MongoDB相關;

? 內容必須為原創,嚴禁抄襲或洗稿;

? 內容有創意、清晰易懂、信息詳實準確、有深度;

? 投稿篇數不限,但雷同內容不能重復投稿,投稿內容未發表過;

? 內容可以授權MongoDB中文社區渠道進行發布與宣傳。

比賽流程

  1. 參賽者報名;

  2. 投稿時間:12月5-30日;

  3. MongoDB中文社區組委會評分;

  4. 選出獲獎者,大會現場頒獎;

  5. 邀請參加大會演講;

  6. 參賽者優秀文章在中文社區網站,MongoDB官方和中文社區公眾號上發表。

活動獎勵

征文獎品

曝光渠道

社區網站+MongoDB官方和社區自媒體+社區社群+大會現場

聯系我們

  1. 微信公眾號:Mongoing中文社區(mongoing-mongoing)

? 不知道怎么寫?寫了一半想放棄?想得到文章修改意見?為此我們建了個交流群

? 來征文群聊一聊,保證激發你的靈感,還有隨機抽獎給你寫作動力。

blogcontest00

征文參賽者請加入MongoDB征文大賽微信群(掃描上方群二維碼,或者添加工作人員微信(ID:cyqcyl)入群)

分享有禮

微信轉發本文到朋友圈,集贊滿30,截圖私發微信號cyqcyl,即可預約領取周邊禮包(僅限前50,送完即止)。

主辦方

MONGOING

官方

錦木信息

贊助方

TAPDATA

合作方

合作伙伴大圖

]]>
http://www.psiuzv.icu/blogcontest/feed 0
2019年MongoDB中文社區 上海大會 開啟報名啦! http://www.psiuzv.icu/archives/29586?utm_source=rss&utm_medium=rss&utm_campaign=2019%25e5%25b9%25b4mongodb%25e4%25b8%25ad%25e6%2596%2587%25e7%25a4%25be%25e5%258c%25ba-%25e4%25b8%258a%25e6%25b5%25b7%25e5%25a4%25a7%25e4%25bc%259a-%25e5%25bc%2580%25e5%2590%25af%25e6%258a%25a5%25e5%2590%258d%25e5%2595%25a6%25ef%25bc%2581 http://www.psiuzv.icu/archives/29586#comments Fri, 29 Nov 2019 04:21:42 +0000 http://www.psiuzv.icu/?p=29586 12月13日,我們將在魔都上海舉辦年終盛會前最后一場大會,將MongoDB最新資訊和一手干貨帶給大家!

上海大會封面圖_畫板 1

大會速遞

時間:2019年12月13日(周五)8:30 - 17:30 地點:上海市浦東新區祖沖之路1136號 長榮桂冠酒店2樓桂冠1廳 名額:100人 報名方式:點擊鏈接https://mp.weixin.qq.com/s/wPJyqatQa6dTUfDTMfEFdg

大會議程

培訓

  • MongoDB 索引
  • MongoDB 數據庫安全指南
  • MongoDB 問題診斷

大會

  • MongoDB 4.2 新功能
  • MongoDB高級應用場景及技術特點
  • 攜程機票緩存MongoDB應用
  • 基于MongoDB的百億級實時金融交易系統處理平臺案例分享

更多精彩議題正在路上...

嘉賓及議題

25

嘉賓講師介紹—唐峰 錦木信息技術總監; MongoDB中文社區聯席主席; 12年數據庫行業經驗,致力于為企業用戶提供MongoDB技術咨詢服務。

議題介紹:MongoDB高級應用場景及技術特點 隨著移動互聯網的接入、全渠道營銷的推進,為企業帶來更多用戶與差異化數據,對傳統關系型數據庫架構帶來極大挑戰。 本次分享介紹MongoDB的靈活模式、彈性擴展、高性能的技術特點以及國內各行業的企業用戶在數字化轉型場景下的MongoDB成功案例。

嚴冶君

講師介紹—嚴冶君 錦木信息DBA工程師; MongoDB Certified Professional ; 曾參與航空、保險證券、消費品行業用戶的MongoDB數據平臺項目的開發與支持。

張春立

嘉賓介紹—張春立 MongoDB高級咨詢顧問 張春立擔任MongoDB中國區高級咨詢顧問,負責為中國區的MongoDB客戶提供技術咨詢與服務。具有十多年的企業應用開發和IT咨詢經驗,在數據庫、云計算、內容管理、數字營銷、電商等領域具備豐富的經驗。目前致力于幫助MongoDB中國區客戶打造智能化數據操作平臺,加速企業實現數字化轉型。

議題介紹:MongoDB 4.2 新功能 MongoDB 一直致力于為各種現代應用程序搭建最好的數據平臺,近期,MongoDB發布了MongoDB 4.2版本,可以更好地為您的生產環境部署保駕護航。本次分享中,MongoDB中國高級咨詢顧問張春立將與您共同探討 MongoDB 4.2 的最新特征與亮點功能。

劉興平

嘉賓介紹—劉興平 攜程國際機票后臺高級研發經理。曾就職于Google Assistant,Amazon。主要關注于數據驅動方法在業務中的工程化應用。

議題介紹:攜程機票緩存MongoDB應用 淺談攜程國際機票數據查詢緩存系統,緩存數百億條國際機票查詢記錄,并做到實時高并發的增刪改查,數據準確度提高了20%,速度提高80%。

神秘嘉賓

中國銀行神秘嘉賓 中國銀行大數據部門技術經理,致力于大數據部門技術架構和研發一線,提高用戶體驗度和產品的質量; 大數據實時計算專家,流批融合技術的開拓者,MongoDB相關框架工具的設計和研發的主導者; 百億級實時交易分類系統處理平臺的技術架構和設計者,擔任此系統的核心代碼的研發。

議題介紹:基于MongoDB的百億級實時金融交易系統處理平臺案例分享 MongoDB在金融銀行交易系統的應用--- 1. 在線實時計算系統的構建,百億級實時交易處理系統的模型設計案例; 2. 離線批量補錄系統的構建,交易查缺補漏的模型設計案例; 3. 大數據量查詢系統的構建,實時交易查詢系統的模型設計案例。

大會獎品

上海大會禮品 還有UCloud社區友情獎哦!

大會報名

【全天票】 用戶組大會,費用:100元。 【優享票】免費獲得全天票 —— 添加工作人員微信(微信ID: cyqcyl ),獲取免費碼

精彩回顧

2

12

主辦方介紹

JINMU

MONGODB

MONGOING

合作社區

DBAPLUS

DEVOPS

ELASTIC

視頻合作方

IT

]]>
12月13日,我們將在魔都上海舉辦年終盛會前最后一場大會,將MongoDB最新資訊和一手干貨帶給大家!

上海大會封面圖_畫板 1

大會速遞

時間:2019年12月13日(周五)8:30 – 17:30
地點:上海市浦東新區祖沖之路1136號 長榮桂冠酒店2樓桂冠1廳
名額:100人
報名方式:點擊鏈接https://mp.weixin.qq.com/s/wPJyqatQa6dTUfDTMfEFdg

大會議程

培訓

  • MongoDB 索引
  • MongoDB 數據庫安全指南
  • MongoDB 問題診斷

大會

  • MongoDB 4.2 新功能
  • MongoDB高級應用場景及技術特點
  • 攜程機票緩存MongoDB應用
  • 基于MongoDB的百億級實時金融交易系統處理平臺案例分享

更多精彩議題正在路上…

嘉賓及議題

25

嘉賓講師介紹—唐峰
錦木信息技術總監;
MongoDB中文社區聯席主席;
12年數據庫行業經驗,致力于為企業用戶提供MongoDB技術咨詢服務。

議題介紹:MongoDB高級應用場景及技術特點
隨著移動互聯網的接入、全渠道營銷的推進,為企業帶來更多用戶與差異化數據,對傳統關系型數據庫架構帶來極大挑戰。
本次分享介紹MongoDB的靈活模式、彈性擴展、高性能的技術特點以及國內各行業的企業用戶在數字化轉型場景下的MongoDB成功案例。

嚴冶君

講師介紹—嚴冶君
錦木信息DBA工程師;
MongoDB Certified Professional ;
曾參與航空、保險證券、消費品行業用戶的MongoDB數據平臺項目的開發與支持。

張春立

嘉賓介紹—張春立
MongoDB高級咨詢顧問
張春立擔任MongoDB中國區高級咨詢顧問,負責為中國區的MongoDB客戶提供技術咨詢與服務。具有十多年的企業應用開發和IT咨詢經驗,在數據庫、云計算、內容管理、數字營銷、電商等領域具備豐富的經驗。目前致力于幫助MongoDB中國區客戶打造智能化數據操作平臺,加速企業實現數字化轉型。

議題介紹:MongoDB 4.2 新功能
MongoDB 一直致力于為各種現代應用程序搭建最好的數據平臺,近期,MongoDB發布了MongoDB 4.2版本,可以更好地為您的生產環境部署保駕護航。本次分享中,MongoDB中國高級咨詢顧問張春立將與您共同探討 MongoDB 4.2 的最新特征與亮點功能。

劉興平

嘉賓介紹—劉興平
攜程國際機票后臺高級研發經理。曾就職于Google Assistant,Amazon。主要關注于數據驅動方法在業務中的工程化應用。

議題介紹:攜程機票緩存MongoDB應用
淺談攜程國際機票數據查詢緩存系統,緩存數百億條國際機票查詢記錄,并做到實時高并發的增刪改查,數據準確度提高了20%,速度提高80%。

神秘嘉賓

中國銀行神秘嘉賓
中國銀行大數據部門技術經理,致力于大數據部門技術架構和研發一線,提高用戶體驗度和產品的質量;
大數據實時計算專家,流批融合技術的開拓者,MongoDB相關框架工具的設計和研發的主導者;
百億級實時交易分類系統處理平臺的技術架構和設計者,擔任此系統的核心代碼的研發。

議題介紹:基于MongoDB的百億級實時金融交易系統處理平臺案例分享
MongoDB在金融銀行交易系統的應用—
1. 在線實時計算系統的構建,百億級實時交易處理系統的模型設計案例;
2. 離線批量補錄系統的構建,交易查缺補漏的模型設計案例;
3. 大數據量查詢系統的構建,實時交易查詢系統的模型設計案例。

大會獎品

上海大會禮品
還有UCloud社區友情獎哦!

大會報名

【全天票】 用戶組大會,費用:100元。
【優享票】免費獲得全天票 —— 添加工作人員微信(微信ID: cyqcyl ),獲取免費碼

精彩回顧

2

12

主辦方介紹

JINMU

MONGODB

MONGOING

合作社區

DBAPLUS

DEVOPS

ELASTIC

視頻合作方

IT

]]>
http://www.psiuzv.icu/archives/29586/feed 0
2019年MongoDB中文社區廣州大會 http://www.psiuzv.icu/archives/29285?utm_source=rss&utm_medium=rss&utm_campaign=2019%25e5%25b9%25b4mongodb%25e4%25b8%25ad%25e6%2596%2587%25e7%25a4%25be%25e5%258c%25ba%25e5%25b9%25bf%25e5%25b7%259e%25e5%25a4%25a7%25e4%25bc%259a http://www.psiuzv.icu/archives/29285#comments Tue, 12 Nov 2019 09:45:41 +0000 http://www.psiuzv.icu/?p=29285 MongoDB發展迅猛,今年8月份已正式上線4.2版本,獨立研究機構評論其為數據庫即服務領導者,也是近幾年Stack Overflow等開發者社區最受歡迎的數據庫之一。MongoDB中文社區攜手錦木信息4月份在長沙,而后在南京、臺北和北京陸續舉辦大會。南方的朋友期盼已久,大會11月下旬即將在廣州舉辦,我們將一如既往地把MongoDB一手干貨和實踐分享帶給大家!

大會速遞

時間:2019年11月23日(周六)下午1:00 - 6:00 地點:廣州市天河區天河北路5號 希爾頓歡朋酒店 名額:120人 報名方式:點擊此處,免費票請關注文末介紹

大會議程

廣州活動議程表

嘉賓及議題

林根 主持介紹—林根

北京海量數據華南區技術總監 MongoDB中文社區廣州分會主席 專注數據庫行業技術服務工作,曾負責多個運營商、銀行企業級開源數據庫運維體系架構設計;多個運營商的核心應用系統升級遷移、故障診斷、性能調優等項目。

張春立 嘉賓介紹—張春立

MongoDB高級咨詢顧問 張春立擔任MongoDB中國區高級咨詢顧問,負責為中國區的MongoDB客戶提供技術咨詢與服務。具有十多年的企業應用開發和IT咨詢經驗,在數據庫、云計算、內容管理、數字營銷、電商等領域具備豐富的經驗。目前致力于幫助MongoDB中國區客戶打造智能化數據操作平臺,加速企業實現數字化轉型。

議題介紹:MongoDB 4.2 新功能

MongoDB 一直致力于為各種現代應用程序搭建最好的數據平臺,近期,MongoDB發布了MongoDB 4.2版本,可以更好地為您的生產環境部署保駕護航。本次分享中,MongoDB 中國高級咨詢顧問張春立將與您共同探討 MongoDB 4.2 的最新特征與亮點功能。

郭遠威小圖 嘉賓介紹—郭遠威

資深大數據架構師; MongoDB中文社區聯席主席; 著有《大數據存儲MongoDB實戰指南》一書; 通信行業業務架構與數據遷移專家,先后在華為,中興工作十余年。

議題介紹:MongoDB事務介紹與在通信行業的實踐

  • 事務發展路徑,事務邏輯流程等內容介紹;
  • MongoDB在通信行業實時營銷場景,異地雙活部署等實踐內容分享。

馮璟 嘉賓介紹—馮璟

北京海量數據 MongoDB數據庫高級顧問,專注數據庫行業技術服務,多年MongoDB、ORACLE運維實踐經驗,現負責華南區MongoDB系統架構設計與技術支撐。

議題介紹:MongoDB的災難恢復

MongoDB一直以完善、可靠的、自動的容災機制聞名,且深受廣大IT從業員的喜愛。可一旦數據庫服務異常且備份不可用的情況下,我們還有沒有辦法最大限度挽回數據呢?本次分享,將會和大家探討如何實現這個目標。

鄭涔小圖 嘉賓介紹—鄭涔

鄭涔,花名明儼,阿里云數據庫產品事業部高級技術專家,主要關注分布式存儲、NoSQL數據庫等技術領域,目前主要參與MongoDB云數據庫的研發,致力于讓開發者用上最好的MongoDB云服務。

布偉光 嘉賓介紹—布偉光

曾在網易工作,目前是阿里互娛員工游戲開發工程師。

議題介紹:阿里云MongoDB游戲行業解決方案

主要介紹阿里云MongoDB在游戲行業的解決方案,包括架構選型、數據建模和運營支撐等核心場景的最佳實踐。

鄧建坤 嘉賓介紹—鄧建坤

騰訊TEG云架構平臺部研發工程師,專注于開源數據庫MongoDB等相關技術領域的研究與開發。

議題介紹:騰訊MongoDB最佳實踐

主要介紹騰訊CMONGO平臺在騰訊云和內部云進行的內核和運營支撐系統方面實踐優化的相關內容,解決云上用戶的實際問題。

揭光發 嘉賓介紹—揭光發(Jeff Kit)

深圳杰明信息科技創始人兼CEO,前珠三角技術沙龍組委主席。Django Girl首個中國引入者。 全棧架構師,擁15年+前后端技術經驗、大型應用架構設計經驗,多次在公開的技術會議做技術分享,是四屆PyCon中國的講師。 資深企業內訓講師,服務過數十家國內外大型企業。

議題介紹:如何打造一個后端低代碼開發平臺

低代碼,一個程序員既熟悉又陌生的話題,也是目前炙手可熱的技術方向及資本投資熱點之一。 Jeff將從什么是低代碼出發,給大家分析低代碼的本質,同時提供一種實現服務端低代碼平臺的開發思路。

大會獎品

廣州大會禮品

還有UCloud社區友情獎哦!

大會報名

【大會票】 用戶組大會,費用:60元。 【優享票】免費獲得大會票 —— 在公眾號本篇文章末尾點“在看”,并寫一段推薦語分享到朋友圈,截圖發至公眾號后臺或者添加工作人員微信 ,將截圖發至工作人員微信上(微信ID: cyqcyl ),獲取免費碼

報名方式:https://www.huodongxing.com/event/1517945971400

報名有禮: 1. 將本活動微信推文轉發至朋友圈,或者點“在看”,憑手機分享鏈接在會場簽到處領取定制版精美T恤1件。【數量有限,先到先得】 2. 更多大禮盡在MongoDB中文社區廣州大會活動現場等你來拿!

精彩回顧

2 12

主辦方介紹

Mongoing中文社區Mongoing.com)成立于2014年,是大中華區獲得官方認可的中文社區,為廣大 MongoDB中文愛好者創建個活躍的互助平臺,聚集 MongoDB開發、數據庫、運維專家,打造最權威的技術社區。

上海錦木信息技術有限公司是國內領先的 MongoDB數據庫服務提供商,是 MongoDB廠商官方合作伙伴。 錦木信息始終堅守在數據技術領域扎實地實踐和前行,成為國內 MongoDB領域的新興技術力量。服務的客戶廣泛分布于金融、電信、零售、航空等行業,助力用戶完成從傳統IT架構向互聯網架構的順利轉型。 上海錦木信息技術有限公司:www.jinmuinfo.com

MongoDB是全球領先的現代通用數據平臺,MongoDB旨在幫助開發人員及其所構建的應用,充分發揮軟件和數據的力量。MongoDB總部設在紐約,在全球100多個國家擁有15,000余個客戶。MongoDB數據庫平臺已提供7,000多萬次下載服務、100多萬個MongoDB大學注冊。 更多信息,請訪問:www.mongodb.com/zh

協辦方介紹

云+社區 騰訊云官方開發者社區,為開發者提供一個在線學習、分享云計算技術的交流平臺。擁有百萬量級高質量在線技術內容、同時通過官方產品團隊入駐,為用戶提供官方產品問答和開發者手冊等服務。

媒體合作方

dbaplus社群 數據連接未來!dbaplus社群圍繞Database、Bigdata、AiOps的企業級專業社群。行業大咖、技術干貨,每天精品原創文章推送,每周線上技術分享,每月線下技術沙龍,覆蓋受眾20W+ 訂閱號ID : dbaplus

視頻合作方

直播攝像獨家合作方 T大咖說,踐行“開源是一種態度”,通過線上線下開放模式分享大咖干貨。讓智慧流動起來! 更多信息,訪問:www.itdks.com

更多活動消息,敬請關注MongoDB中文社區微信公眾號

中文社區二維碼圖片

]]>
MongoDB發展迅猛,今年8月份已正式上線4.2版本,獨立研究機構評論其為數據庫即服務領導者,也是近幾年Stack Overflow等開發者社區最受歡迎的數據庫之一。MongoDB中文社區攜手錦木信息4月份在長沙,而后在南京、臺北和北京陸續舉辦大會。南方的朋友期盼已久,大會11月下旬即將在廣州舉辦,我們將一如既往地把MongoDB一手干貨和實踐分享帶給大家!

大會速遞

時間:2019年11月23日(周六)下午1:00 – 6:00
地點:廣州市天河區天河北路5號 希爾頓歡朋酒店
名額:120人
報名方式:點擊此處,免費票請關注文末介紹

大會議程

廣州活動議程表

嘉賓及議題

林根
主持介紹—林根

北京海量數據華南區技術總監
MongoDB中文社區廣州分會主席
專注數據庫行業技術服務工作,曾負責多個運營商、銀行企業級開源數據庫運維體系架構設計;多個運營商的核心應用系統升級遷移、故障診斷、性能調優等項目。

張春立
嘉賓介紹—張春立

MongoDB高級咨詢顧問
張春立擔任MongoDB中國區高級咨詢顧問,負責為中國區的MongoDB客戶提供技術咨詢與服務。具有十多年的企業應用開發和IT咨詢經驗,在數據庫、云計算、內容管理、數字營銷、電商等領域具備豐富的經驗。目前致力于幫助MongoDB中國區客戶打造智能化數據操作平臺,加速企業實現數字化轉型。

議題介紹:MongoDB 4.2 新功能

MongoDB 一直致力于為各種現代應用程序搭建最好的數據平臺,近期,MongoDB發布了MongoDB 4.2版本,可以更好地為您的生產環境部署保駕護航。本次分享中,MongoDB 中國高級咨詢顧問張春立將與您共同探討 MongoDB 4.2 的最新特征與亮點功能。

郭遠威小圖
嘉賓介紹—郭遠威

資深大數據架構師;
MongoDB中文社區聯席主席;
著有《大數據存儲MongoDB實戰指南》一書;
通信行業業務架構與數據遷移專家,先后在華為,中興工作十余年。

議題介紹:MongoDB事務介紹與在通信行業的實踐

  • 事務發展路徑,事務邏輯流程等內容介紹;
  • MongoDB在通信行業實時營銷場景,異地雙活部署等實踐內容分享。

馮璟
嘉賓介紹—馮璟

北京海量數據
MongoDB數據庫高級顧問,專注數據庫行業技術服務,多年MongoDB、ORACLE運維實踐經驗,現負責華南區MongoDB系統架構設計與技術支撐。

議題介紹:MongoDB的災難恢復

MongoDB一直以完善、可靠的、自動的容災機制聞名,且深受廣大IT從業員的喜愛。可一旦數據庫服務異常且備份不可用的情況下,我們還有沒有辦法最大限度挽回數據呢?本次分享,將會和大家探討如何實現這個目標。

鄭涔小圖
嘉賓介紹—鄭涔

鄭涔,花名明儼,阿里云數據庫產品事業部高級技術專家,主要關注分布式存儲、NoSQL數據庫等技術領域,目前主要參與MongoDB云數據庫的研發,致力于讓開發者用上最好的MongoDB云服務。

布偉光
嘉賓介紹—布偉光

曾在網易工作,目前是阿里互娛員工游戲開發工程師。

議題介紹:阿里云MongoDB游戲行業解決方案

主要介紹阿里云MongoDB在游戲行業的解決方案,包括架構選型、數據建模和運營支撐等核心場景的最佳實踐。

鄧建坤
嘉賓介紹—鄧建坤

騰訊TEG云架構平臺部研發工程師,專注于開源數據庫MongoDB等相關技術領域的研究與開發。

議題介紹:騰訊MongoDB最佳實踐

主要介紹騰訊CMONGO平臺在騰訊云和內部云進行的內核和運營支撐系統方面實踐優化的相關內容,解決云上用戶的實際問題。

揭光發
嘉賓介紹—揭光發(Jeff Kit)

深圳杰明信息科技創始人兼CEO,前珠三角技術沙龍組委主席。Django Girl首個中國引入者。
全棧架構師,擁15年+前后端技術經驗、大型應用架構設計經驗,多次在公開的技術會議做技術分享,是四屆PyCon中國的講師。
資深企業內訓講師,服務過數十家國內外大型企業。

議題介紹:如何打造一個后端低代碼開發平臺

低代碼,一個程序員既熟悉又陌生的話題,也是目前炙手可熱的技術方向及資本投資熱點之一。
Jeff將從什么是低代碼出發,給大家分析低代碼的本質,同時提供一種實現服務端低代碼平臺的開發思路。

大會獎品

廣州大會禮品

還有UCloud社區友情獎哦!

大會報名

【大會票】 用戶組大會,費用:60元。
【優享票】免費獲得大會票 —— 在公眾號本篇文章末尾點“在看”,并寫一段推薦語分享到朋友圈,截圖發至公眾號后臺或者添加工作人員微信 ,將截圖發至工作人員微信上(微信ID: cyqcyl ),獲取免費碼

報名方式:https://www.huodongxing.com/event/1517945971400

報名有禮:
1. 將本活動微信推文轉發至朋友圈,或者點“在看”,憑手機分享鏈接在會場簽到處領取定制版精美T恤1件。【數量有限,先到先得】
2. 更多大禮盡在MongoDB中文社區廣州大會活動現場等你來拿!

精彩回顧

2
12

主辦方介紹

Mongoing中文社區Mongoing.com)成立于2014年,是大中華區獲得官方認可的中文社區,為廣大 MongoDB中文愛好者創建個活躍的互助平臺,聚集 MongoDB開發、數據庫、運維專家,打造最權威的技術社區。

上海錦木信息技術有限公司是國內領先的 MongoDB數據庫服務提供商,是 MongoDB廠商官方合作伙伴。
錦木信息始終堅守在數據技術領域扎實地實踐和前行,成為國內 MongoDB領域的新興技術力量。服務的客戶廣泛分布于金融、電信、零售、航空等行業,助力用戶完成從傳統IT架構向互聯網架構的順利轉型。
上海錦木信息技術有限公司:www.jinmuinfo.com

MongoDB是全球領先的現代通用數據平臺,MongoDB旨在幫助開發人員及其所構建的應用,充分發揮軟件和數據的力量。MongoDB總部設在紐約,在全球100多個國家擁有15,000余個客戶。MongoDB數據庫平臺已提供7,000多萬次下載服務、100多萬個MongoDB大學注冊。
更多信息,請訪問:www.mongodb.com/zh

協辦方介紹

云+社區
騰訊云官方開發者社區,為開發者提供一個在線學習、分享云計算技術的交流平臺。擁有百萬量級高質量在線技術內容、同時通過官方產品團隊入駐,為用戶提供官方產品問答和開發者手冊等服務。

媒體合作方

dbaplus社群
數據連接未來!dbaplus社群圍繞Database、Bigdata、AiOps的企業級專業社群。行業大咖、技術干貨,每天精品原創文章推送,每周線上技術分享,每月線下技術沙龍,覆蓋受眾20W+ 訂閱號ID : dbaplus

視頻合作方

直播攝像獨家合作方
T大咖說,踐行“開源是一種態度”,通過線上線下開放模式分享大咖干貨。讓智慧流動起來!
更多信息,訪問:www.itdks.com

更多活動消息,敬請關注MongoDB中文社區微信公眾號

中文社區二維碼圖片

]]>
http://www.psiuzv.icu/archives/29285/feed 0
在線研討會|基于MongoDB的數據中臺技術實現 http://www.psiuzv.icu/archives/29279?utm_source=rss&utm_medium=rss&utm_campaign=%25e5%259c%25a8%25e7%25ba%25bf%25e7%25a0%2594%25e8%25ae%25a8%25e4%25bc%259a%25e5%259f%25ba%25e4%25ba%258emongodb%25e7%259a%2584%25e6%2595%25b0%25e6%258d%25ae%25e4%25b8%25ad%25e5%258f%25b0%25e6%258a%2580%25e6%259c%25af%25e5%25ae%259e%25e7%258e%25b0 http://www.psiuzv.icu/archives/29279#comments Tue, 12 Nov 2019 08:46:40 +0000 http://www.psiuzv.icu/?p=29279 數據中臺早已是大家耳熟能詳的術語了。數據中臺是一種面向業務的,強調服務化的數據平臺。對于具有多個BU或者子公司的大型企業和頭部企業來說,構建數據中臺的難點更多的是在于組織架構的改變。對于那些一直被大而重的數倉或大數據方案忽略的中型企業來說,企業規模相對小一些,預算有限,技術能力薄弱,但是卻有著明確的數據孤島的痛點,而且他們更加關注平臺的技術能力以及適用性。

中臺技術實現

本次研討會中,我們將特邀專家唐建法先生,前MongoDB公司大中華區首席架構師,現任Tapdata公司CTO,為大家講解數據中臺和傳統數倉和大數據平臺的核心區別點,為什么MongoDB會是這種數據架構的最佳數據庫選擇,并分享可以快速落地的技術方案。

主題:基于MongoDB的數據中臺技術實現 時間:2019年11月21日星期四 14:00-15:30 主講人:TJ /唐建法,Tapdata公司CTO,前MongoDB公司大中華區首席架構師 形式:在線直播 費用:免費

內容安排: ? 什么是數據中臺 ? 數據中臺解決的核心問題及核心能力 ? 數據中臺的技術選型 ? 基于MongoDB的快速落地方案 ? 案例解析

唐建法(TJ)先生,Tapdata公司CTO,曾就職于MongoDB公司,并擔任MongoDB大中華區首席架構師,同時也是Mongoing中文社區的聯合創始人。TJ是一位具有多年海外開發背景的MongoDB使用者和推廣者,對數據庫、數據中臺等技術及開發擁有豐富的經驗、敏銳的洞察及深刻的見解。在加入MongoDB之前,TJ還曾在聯邦快遞新加坡和惠普美國擔任首席架構師及技術帶頭人等職務。

點擊此處注冊:https://www.mongodb.com/webinar/implementation-of-data-center-technology

如果您無法參加會議,也請務必注冊,便于我們會后將錄制視頻發到您的郵箱。 了解更多MongoDB數據中臺技術:https://www.mongodb.com/initiatives/data-as-a-service

]]>
數據中臺早已是大家耳熟能詳的術語了。數據中臺是一種面向業務的,強調服務化的數據平臺。對于具有多個BU或者子公司的大型企業和頭部企業來說,構建數據中臺的難點更多的是在于組織架構的改變。對于那些一直被大而重的數倉或大數據方案忽略的中型企業來說,企業規模相對小一些,預算有限,技術能力薄弱,但是卻有著明確的數據孤島的痛點,而且他們更加關注平臺的技術能力以及適用性。

中臺技術實現

本次研討會中,我們將特邀專家唐建法先生,前MongoDB公司大中華區首席架構師,現任Tapdata公司CTO,為大家講解數據中臺和傳統數倉和大數據平臺的核心區別點,為什么MongoDB會是這種數據架構的最佳數據庫選擇,并分享可以快速落地的技術方案。

主題:基于MongoDB的數據中臺技術實現
時間:2019年11月21日星期四 14:00-15:30
主講人:TJ /唐建法,Tapdata公司CTO,前MongoDB公司大中華區首席架構師
形式:在線直播
費用:免費

內容安排:
? 什么是數據中臺
? 數據中臺解決的核心問題及核心能力
? 數據中臺的技術選型
? 基于MongoDB的快速落地方案
? 案例解析

唐建法(TJ)先生,Tapdata公司CTO,曾就職于MongoDB公司,并擔任MongoDB大中華區首席架構師,同時也是Mongoing中文社區的聯合創始人。TJ是一位具有多年海外開發背景的MongoDB使用者和推廣者,對數據庫、數據中臺等技術及開發擁有豐富的經驗、敏銳的洞察及深刻的見解。在加入MongoDB之前,TJ還曾在聯邦快遞新加坡和惠普美國擔任首席架構師及技術帶頭人等職務。

點擊此處注冊:https://www.mongodb.com/webinar/implementation-of-data-center-technology

如果您無法參加會議,也請務必注冊,便于我們會后將錄制視頻發到您的郵箱。
了解更多MongoDB數據中臺技術:https://www.mongodb.com/initiatives/data-as-a-service

]]>
http://www.psiuzv.icu/archives/29279/feed 0
Reactive-MongoDB 異步 Java Driver 解讀 http://www.psiuzv.icu/archives/28750?utm_source=rss&utm_medium=rss&utm_campaign=reactive-mongodb-%25e5%25bc%2582%25e6%25ad%25a5-java-driver-%25e8%25a7%25a3%25e8%25af%25bb http://www.psiuzv.icu/archives/28750#comments Sun, 20 Oct 2019 08:07:17 +0000 http://www.psiuzv.icu/?p=28750 一、關于 異步驅動

從3.0 版本開始,MongoDB 開始提供異步方式的驅動(Java Async Driver),這為應用提供了一種更高性能的選擇。 但實質上,使用同步驅動(Java Sync Driver)的項目也不在少數,或許是因為先入為主的原因(同步Driver的文檔說明更加的完善),又或者是為了兼容舊的 MongoDB 版本。 無論如何,由于 Reactive 的發展,未來使用異步驅動應該是一個趨勢。

在使用 Async Driver 之前,需要對 Reactive 的概念有一些熟悉。

二、理解 Reactive (響應式)

響應式(Reactive)是一種異步的、面向數據流的開發方式,最早是來自于.NET 平臺上的 Reactive Extensions 庫,隨后被擴展為各種編程語言的實現。 在著名的 Reactive Manifesto(響應式宣言) 中,對 Reactive 定義了四個特征:

reactive-specs

  • 及時響應(Responsive):系統能及時的響應請求。
  • 有韌性(Resilient):系統在出現異常時仍然可以響應,即支持容錯。
  • 有彈性(Elastic):在不同的負載下,系統可彈性伸縮來保證運行。
  • 消息驅動(Message Driven):不同組件之間使用異步消息傳遞來進行交互,并確保松耦合及相互隔離。

在響應式宣言的所定義的這些系統特征中,無一不與響應式的流有若干的關系,于是乎就有了 2013年發起的 響應式流規范(Reactive Stream Specification)

https://www.reactive-streams.org/

其中,對于響應式流的處理環節又做了如下定義:

  • 具有處理無限數量的元素的能力,即允許流永不結束
  • 按序處理
  • 異步地傳遞元素
  • 實現非阻塞的負壓(back-pressure)

Java 平臺則是在 JDK 9 版本上發布了對 Reactive Streams 的支持。

下面介紹響應式流的幾個關鍵接口:

  • Publisher Publisher 是數據的發布者。Publisher 接口只有一個方法 subscribe,用于添加數據的訂閱者,也就是 Subscriber。

  • Subscriber Subscriber 是數據的訂閱者。Subscriber 接口有4個方法,都是作為不同事件的處理器。在訂閱者成功訂閱到發布者之后,其 onSubscribe(Subscription s) 方法會被調用。 Subscription 表示的是當前的訂閱關系。

當訂閱成功后,可以使用 Subscription 的 request(long n) 方法來請求發布者發布 n 條數據。發布者可能產生3種不同的消息通知,分別對應 Subscriber 的另外3個回調方法。

數據通知:對應 onNext 方法,表示發布者產生的數據。 錯誤通知:對應 onError 方法,表示發布者產生了錯誤。 結束通知:對應 onComplete 方法,表示發布者已經完成了所有數據的發布。 在上述3種通知中,錯誤通知和結束通知都是終結通知,也就是在終結通知之后,不會再有其他通知產生。

  • Subscription Subscription 表示的是一個訂閱關系。除了之前提到的 request 方法之外,還有 cancel 方法用來取消訂閱。需要注意的是,在 cancel 方法調用之后,發布者仍然有可能繼續發布通知。但訂閱最終會被取消。

這幾個接口的關系如下圖所示:

reactive interfaces

圖片出處:http://wiki.jikexueyuan.com/index.php/project/reactor-2.0/05.html

MongoDB 的異步驅動為 mongo-java-driver-reactivestreams 組件,其實現了 Reactive Stream 的上述接口。

> 除了 reactivestream 之外,MongoDB 的異步驅動還包含 RxJava 等風格的版本,有興趣的讀者可以進一步了解

http://mongodb.github.io/mongo-java-driver-reactivestreams/1.11/getting-started/quick-tour-primer/

三、使用示例

接下來,通過一個簡單的例子來演示一下 Reactive 方式的代碼風格:

A. 引入依賴


org.mongodb mongodb-driver-reactivestreams 1.11.0

> 引入mongodb-driver-reactivestreams 將會自動添加 reactive-streams, bson, mongodb-driver-async組件

B. 連接數據庫

//服務器實例表
List servers = new ArrayList();
servers.add(new ServerAddress("localhost", 27018));

//配置構建器
MongoClientSettings.Builder settingsBuilder = MongoClientSettings.builder();

//傳入服務器實例
settingsBuilder.applyToClusterSettings(
        builder -> builder.hosts(servers));

//構建 Client 實例
MongoClient mongoClient = MongoClients.create(settingsBuilder.build());

C. 實現文檔查詢

//獲得數據庫對象
MongoDatabase database = client.getDatabase(databaseName);

//獲得集合
MongoCollection collection = database.getCollection(collectionName);

//異步返回Publisher
FindPublisher publisher = collection.find();

//訂閱實現
publisher.subscribe(new Subscriber() {
    @Override
    public void onSubscribe(Subscription s) {
        System.out.println("start...");
        //執行請求
        s.request(Integer.MAX_VALUE);

    }
    @Override
    public void onNext(Document document) {
        //獲得文檔
        System.out.println("Document:" + document.toJson());
    }

    @Override
    public void onError(Throwable t) {
        System.out.println("error occurs.");
    }

    @Override
    public void onComplete() {
        System.out.println("finished.");
    }
});

注意到,與使用同步驅動不同的是,collection.find()方法返回的不是 Cursor,而是一個 FindPublisher對象,這是Publisher接口的一層擴展。 而且,在返回 Publisher 對象時,此時并沒有產生真正的數據庫IO請求。 真正發起請求需要通過調用 Subscription.request()方法。 在上面的代碼中,為了讀取由 Publisher 產生的結果,通過自定義一個Subscriber,在onSubscribe 事件觸發時就執行 數據庫的請求,之后分別對 onNext、onError、onComplete進行處理。

盡管這種實現方式是純異步的,但在使用上比較繁瑣。試想如果對于每個數據庫操作都要完成一個Subscriber 邏輯,那么開發的工作量是巨大的。

為了盡可能復用重復的邏輯,可以對Subscriber的邏輯做一層封裝,包含如下功能:

  • 使用 List 容器對請求結果進行緩存
  • 實現阻塞等待結果的方法,可指定超時時間
  • 捕獲異常,在等待結果時拋出

代碼如下:

public class ObservableSubscriber implements Subscriber {

    //響應數據
    private final List received;
    //錯誤信息
    private final List errors;
    //等待對象
    private final CountDownLatch latch;
    //訂閱器
    private volatile Subscription subscription;
    //是否完成
    private volatile boolean completed;

    public ObservableSubscriber() {
        this.received = new ArrayList();
        this.errors = new ArrayList();
        this.latch = new CountDownLatch(1);
    }

    @Override
    public void onSubscribe(final Subscription s) {
        subscription = s;
    }

    @Override
    public void onNext(final T t) {
        received.add(t);
    }

    @Override
    public void onError(final Throwable t) {
        errors.add(t);
        onComplete();
    }

    @Override
    public void onComplete() {
        completed = true;
        latch.countDown();
    }

    public Subscription getSubscription() {
        return subscription;
    }

    public List getReceived() {
        return received;
    }

    public Throwable getError() {
        if (errors.size() > 0) {
            return errors.get(0);
        }
        return null;
    }

    public boolean isCompleted() {
        return completed;
    }

    /**
     * 阻塞一定時間等待結果
     *
     * @param timeout
     * @param unit
     * @return
     * @throws Throwable
     */
    public List get(final long timeout, final TimeUnit unit) throws Throwable {
        return await(timeout, unit).getReceived();
    }

    /**
     * 一直阻塞等待請求完成
     *
     * @return
     * @throws Throwable
     */
    public ObservableSubscriber await() throws Throwable {
        return await(Long.MAX_VALUE, TimeUnit.MILLISECONDS);
    }

    /**
     * 阻塞一定時間等待完成
     *
     * @param timeout
     * @param unit
     * @return
     * @throws Throwable
     */
    public ObservableSubscriber await(final long timeout, final TimeUnit unit) throws Throwable {
        subscription.request(Integer.MAX_VALUE);
        if (!latch.await(timeout, unit)) {
            throw new MongoTimeoutException("Publisher onComplete timed out");
        }
        if (!errors.isEmpty()) {
            throw errors.get(0);
        }
        return this;
    }
}

借助這個基礎的工具類,我們對于文檔的異步操作就變得簡單多了。 比如對于文檔查詢的操作可以改造如下:

ObservableSubscriber subscriber = new ObservableSubscriber();
collection.find().subscribe(subscriber);

//結果處理
subscriber.get(15, TimeUnit.SECONDS).forEach( d -> {
    System.out.println("Document:" + d.toJson());
});

當然,這個例子還有可以繼續完善,比如使用 List 作為緩存,則要考慮數據量的問題,避免將全部(或超量) 的文檔一次性轉入內存。

四、擴展閱讀

理解概念-從響應式編程到'好萊塢原則" 利用Java 響應式流模擬"制奶廠業務"

]]>
一、關于 異步驅動

從3.0 版本開始,MongoDB 開始提供異步方式的驅動(Java Async Driver),這為應用提供了一種更高性能的選擇。
但實質上,使用同步驅動(Java Sync Driver)的項目也不在少數,或許是因為先入為主的原因(同步Driver的文檔說明更加的完善),又或者是為了兼容舊的 MongoDB 版本。
無論如何,由于 Reactive 的發展,未來使用異步驅動應該是一個趨勢。

在使用 Async Driver 之前,需要對 Reactive 的概念有一些熟悉。

二、理解 Reactive (響應式)

響應式(Reactive)是一種異步的、面向數據流的開發方式,最早是來自于.NET 平臺上的 Reactive Extensions 庫,隨后被擴展為各種編程語言的實現。
在著名的 Reactive Manifesto(響應式宣言) 中,對 Reactive 定義了四個特征:

reactive-specs

  • 及時響應(Responsive):系統能及時的響應請求。
  • 有韌性(Resilient):系統在出現異常時仍然可以響應,即支持容錯。
  • 有彈性(Elastic):在不同的負載下,系統可彈性伸縮來保證運行。
  • 消息驅動(Message Driven):不同組件之間使用異步消息傳遞來進行交互,并確保松耦合及相互隔離。

在響應式宣言的所定義的這些系統特征中,無一不與響應式的流有若干的關系,于是乎就有了 2013年發起的 響應式流規范(Reactive Stream Specification)

https://www.reactive-streams.org/

其中,對于響應式流的處理環節又做了如下定義:

  • 具有處理無限數量的元素的能力,即允許流永不結束
  • 按序處理
  • 異步地傳遞元素
  • 實現非阻塞的負壓(back-pressure)

Java 平臺則是在 JDK 9 版本上發布了對 Reactive Streams 的支持。

下面介紹響應式流的幾個關鍵接口:

  • Publisher
    Publisher 是數據的發布者。Publisher 接口只有一個方法 subscribe,用于添加數據的訂閱者,也就是 Subscriber。

  • Subscriber
    Subscriber 是數據的訂閱者。Subscriber 接口有4個方法,都是作為不同事件的處理器。在訂閱者成功訂閱到發布者之后,其 onSubscribe(Subscription s) 方法會被調用。
    Subscription 表示的是當前的訂閱關系。

當訂閱成功后,可以使用 Subscription 的 request(long n) 方法來請求發布者發布 n 條數據。發布者可能產生3種不同的消息通知,分別對應 Subscriber 的另外3個回調方法。

數據通知:對應 onNext 方法,表示發布者產生的數據。
錯誤通知:對應 onError 方法,表示發布者產生了錯誤。
結束通知:對應 onComplete 方法,表示發布者已經完成了所有數據的發布。
在上述3種通知中,錯誤通知和結束通知都是終結通知,也就是在終結通知之后,不會再有其他通知產生。

  • Subscription
    Subscription 表示的是一個訂閱關系。除了之前提到的 request 方法之外,還有 cancel 方法用來取消訂閱。需要注意的是,在 cancel 方法調用之后,發布者仍然有可能繼續發布通知。但訂閱最終會被取消。

這幾個接口的關系如下圖所示:

reactive interfaces

圖片出處:http://wiki.jikexueyuan.com/index.php/project/reactor-2.0/05.html

MongoDB 的異步驅動為 mongo-java-driver-reactivestreams 組件,其實現了 Reactive Stream 的上述接口。

> 除了 reactivestream 之外,MongoDB 的異步驅動還包含 RxJava 等風格的版本,有興趣的讀者可以進一步了解

http://mongodb.github.io/mongo-java-driver-reactivestreams/1.11/getting-started/quick-tour-primer/

三、使用示例

接下來,通過一個簡單的例子來演示一下 Reactive 方式的代碼風格:

A. 引入依賴


org.mongodb mongodb-driver-reactivestreams 1.11.0

> 引入mongodb-driver-reactivestreams 將會自動添加 reactive-streams, bson, mongodb-driver-async組件

B. 連接數據庫

//服務器實例表
List servers = new ArrayList();
servers.add(new ServerAddress("localhost", 27018));

//配置構建器
MongoClientSettings.Builder settingsBuilder = MongoClientSettings.builder();

//傳入服務器實例
settingsBuilder.applyToClusterSettings(
        builder -> builder.hosts(servers));

//構建 Client 實例
MongoClient mongoClient = MongoClients.create(settingsBuilder.build());

C. 實現文檔查詢

//獲得數據庫對象
MongoDatabase database = client.getDatabase(databaseName);

//獲得集合
MongoCollection collection = database.getCollection(collectionName);

//異步返回Publisher
FindPublisher publisher = collection.find();

//訂閱實現
publisher.subscribe(new Subscriber() {
    @Override
    public void onSubscribe(Subscription s) {
        System.out.println("start...");
        //執行請求
        s.request(Integer.MAX_VALUE);

    }
    @Override
    public void onNext(Document document) {
        //獲得文檔
        System.out.println("Document:" + document.toJson());
    }

    @Override
    public void onError(Throwable t) {
        System.out.println("error occurs.");
    }

    @Override
    public void onComplete() {
        System.out.println("finished.");
    }
});

注意到,與使用同步驅動不同的是,collection.find()方法返回的不是 Cursor,而是一個 FindPublisher對象,這是Publisher接口的一層擴展。
而且,在返回 Publisher 對象時,此時并沒有產生真正的數據庫IO請求。 真正發起請求需要通過調用 Subscription.request()方法。
在上面的代碼中,為了讀取由 Publisher 產生的結果,通過自定義一個Subscriber,在onSubscribe 事件觸發時就執行 數據庫的請求,之后分別對 onNext、onError、onComplete進行處理。

盡管這種實現方式是純異步的,但在使用上比較繁瑣。試想如果對于每個數據庫操作都要完成一個Subscriber 邏輯,那么開發的工作量是巨大的。

為了盡可能復用重復的邏輯,可以對Subscriber的邏輯做一層封裝,包含如下功能:

  • 使用 List 容器對請求結果進行緩存
  • 實現阻塞等待結果的方法,可指定超時時間
  • 捕獲異常,在等待結果時拋出

代碼如下:

public class ObservableSubscriber implements Subscriber {

    //響應數據
    private final List received;
    //錯誤信息
    private final List errors;
    //等待對象
    private final CountDownLatch latch;
    //訂閱器
    private volatile Subscription subscription;
    //是否完成
    private volatile boolean completed;

    public ObservableSubscriber() {
        this.received = new ArrayList();
        this.errors = new ArrayList();
        this.latch = new CountDownLatch(1);
    }

    @Override
    public void onSubscribe(final Subscription s) {
        subscription = s;
    }

    @Override
    public void onNext(final T t) {
        received.add(t);
    }

    @Override
    public void onError(final Throwable t) {
        errors.add(t);
        onComplete();
    }

    @Override
    public void onComplete() {
        completed = true;
        latch.countDown();
    }

    public Subscription getSubscription() {
        return subscription;
    }

    public List getReceived() {
        return received;
    }

    public Throwable getError() {
        if (errors.size() > 0) {
            return errors.get(0);
        }
        return null;
    }

    public boolean isCompleted() {
        return completed;
    }

    /**
     * 阻塞一定時間等待結果
     *
     * @param timeout
     * @param unit
     * @return
     * @throws Throwable
     */
    public List get(final long timeout, final TimeUnit unit) throws Throwable {
        return await(timeout, unit).getReceived();
    }

    /**
     * 一直阻塞等待請求完成
     *
     * @return
     * @throws Throwable
     */
    public ObservableSubscriber await() throws Throwable {
        return await(Long.MAX_VALUE, TimeUnit.MILLISECONDS);
    }

    /**
     * 阻塞一定時間等待完成
     *
     * @param timeout
     * @param unit
     * @return
     * @throws Throwable
     */
    public ObservableSubscriber await(final long timeout, final TimeUnit unit) throws Throwable {
        subscription.request(Integer.MAX_VALUE);
        if (!latch.await(timeout, unit)) {
            throw new MongoTimeoutException("Publisher onComplete timed out");
        }
        if (!errors.isEmpty()) {
            throw errors.get(0);
        }
        return this;
    }
}

借助這個基礎的工具類,我們對于文檔的異步操作就變得簡單多了。
比如對于文檔查詢的操作可以改造如下:

ObservableSubscriber subscriber = new ObservableSubscriber();
collection.find().subscribe(subscriber);

//結果處理
subscriber.get(15, TimeUnit.SECONDS).forEach( d -> {
    System.out.println("Document:" + d.toJson());
});

當然,這個例子還有可以繼續完善,比如使用 List 作為緩存,則要考慮數據量的問題,避免將全部(或超量) 的文檔一次性轉入內存。

四、擴展閱讀

理解概念-從響應式編程到’好萊塢原則”
利用Java 響應式流模擬”制奶廠業務”

]]>
http://www.psiuzv.icu/archives/28750/feed 0
MongoDB 4.2新功能在線研討會 – 即將與你分享最新技術 http://www.psiuzv.icu/MongoDB+4.2+New+Features+Webinar?utm_source=rss&utm_medium=rss&utm_campaign=mongodb-4-2%25e6%2596%25b0%25e5%258a%259f%25e8%2583%25bd%25e5%259c%25a8%25e7%25ba%25bf%25e7%25a0%2594%25e8%25ae%25a8%25e4%25bc%259a-%25e5%258d%25b3%25e5%25b0%2586%25e4%25b8%258e%25e4%25bd%25a0%25e5%2588%2586%25e4%25ba%25ab%25e6%259c%2580%25e6%2596%25b0%25e6%258a%2580%25e6%259c%25af http://www.psiuzv.icu/MongoDB+4.2+New+Features+Webinar#comments Sat, 12 Oct 2019 07:19:46 +0000 http://www.psiuzv.icu/?p=28708 研討會

MongoDB 4.2新功能在線研討會 – 即將與你分享最新技術 2019年10月17日@ 14:00 - 15:30, 北京時間 – 線上直播

MongoDB 一直致力于為各種現代應用程序搭建最好的數據平臺,近期,MongoDB發布了MongoDB 4.2版本,可以更好地為您的生產環境部署保駕護航。我們本次在線研討會,將與您共同探討 MongoDB 4.2 的最新特征與亮點功能。

時間:2019年10月17日 星期四 14:00 - 15:30 主講人:Linda Qin,MongoDB高級技術服務工程師 主講人介紹:Linda,是MongoDB技術支持團隊中分片領域的專家。擅長與MongoDB有關的問題診斷,尤其是分片有關的問題診斷。在性能優化,分片架構配置,高可靠性方面擁有豐富的經驗。

內容安排: ? ACID 事務:分布式事務、跨分片事務、Global PiT Reads、Mutable Shard Key Value ? 查詢及分析:Atlas 數據湖、按需物化試圖、通配符索引、以及MongoDB Charts
? 韌性及擴展性:可重試讀寫、選擇速度提高10倍、Zstandard壓縮
? 企業級安全:客戶端字段級加密、多CA、零停機證書輪換、審計消耗減少了2/3
? 可在任何地方運行:Atlas自動擴展、Atlas全文搜索、Kubernetes和Apache Kafka集成

本次研討會同時將進行實時在線答疑,您可以現場提問,主講人為您答疑解惑。
若您無法參加,也請務必注冊,便于我們將會議錄制視頻發送到您的注冊郵箱,不留遺憾。 立即注冊:https://www.mongodb.com/webinar/mongodb-4.2-2019

]]>
研討會

MongoDB 4.2新功能在線研討會 – 即將與你分享最新技術
2019年10月17日@ 14:00 – 15:30, 北京時間 – 線上直播

MongoDB 一直致力于為各種現代應用程序搭建最好的數據平臺,近期,MongoDB發布了MongoDB 4.2版本,可以更好地為您的生產環境部署保駕護航。我們本次在線研討會,將與您共同探討 MongoDB 4.2 的最新特征與亮點功能。

時間:2019年10月17日 星期四 14:00 – 15:30
主講人:Linda Qin,MongoDB高級技術服務工程師
主講人介紹:Linda,是MongoDB技術支持團隊中分片領域的專家。擅長與MongoDB有關的問題診斷,尤其是分片有關的問題診斷。在性能優化,分片架構配置,高可靠性方面擁有豐富的經驗。

內容安排:
? ACID 事務:分布式事務、跨分片事務、Global PiT Reads、Mutable Shard Key Value
? 查詢及分析:Atlas 數據湖、按需物化試圖、通配符索引、以及MongoDB Charts
? 韌性及擴展性:可重試讀寫、選擇速度提高10倍、Zstandard壓縮
? 企業級安全:客戶端字段級加密、多CA、零停機證書輪換、審計消耗減少了2/3
? 可在任何地方運行:Atlas自動擴展、Atlas全文搜索、Kubernetes和Apache Kafka集成

本次研討會同時將進行實時在線答疑,您可以現場提問,主講人為您答疑解惑。
若您無法參加,也請務必注冊,便于我們將會議錄制視頻發送到您的注冊郵箱,不留遺憾。
立即注冊:https://www.mongodb.com/webinar/mongodb-4.2-2019

]]>
http://www.psiuzv.icu/MongoDB+4.2+New+Features+Webinar/feed 0
MongoDB BI Connector 實戰指南 http://www.psiuzv.icu/archives/28508?utm_source=rss&utm_medium=rss&utm_campaign=mongodb-bi-connector-%25e5%25ae%259e%25e6%2588%2598%25e6%258c%2587%25e5%258d%2597 http://www.psiuzv.icu/archives/28508#comments Mon, 30 Sep 2019 08:35:23 +0000 http://mongoing.com/?p=28508 MongoDB 使用 BI Connector 來支持 BI 組件直接使用 SQL 或 ODBC 數據源方式直接訪問 MongoDB,在早期 MongoDB 直接使用 Postgresql FDW 來實現 SQL 到 MQL 的轉換,后來實現更加輕量級的 mongosqld 來支持 BI 工具的連接。

安裝 BI Connector

參考 Install BI Connector

wget https://info-mongodb-com.s3.amazonaws.com/mongodb-bi/v2/mongodb-bi-linux-x86_64-rhel70-v2.12.0.tgz

$tar xvf mongodb-bi-linux-x86_64-rhel70-v2.12.0.tgz
mongodb-bi-linux-x86_64-rhel70-v2.12.0/LICENSE
mongodb-bi-linux-x86_64-rhel70-v2.12.0/README
mongodb-bi-linux-x86_64-rhel70-v2.12.0/THIRD-PARTY-NOTICES
mongodb-bi-linux-x86_64-rhel70-v2.12.0/example-mongosqld-config.yml
mongodb-bi-linux-x86_64-rhel70-v2.12.0/bin/mongosqld
mongodb-bi-linux-x86_64-rhel70-v2.12.0/bin/mongodrdl
mongodb-bi-linux-x86_64-rhel70-v2.12.0/bin/mongotranslate
  • mongosqld 接受 SQL 查詢,并將請求發到 MongoDB Server,是 BI Connector 的核心
  • mongodrdl 工具生成數據庫 schema 信息,用于服務 BI SQL 查詢
  • mongotranslate 工具將 SQL 查詢轉換為 MongoDB Aggregation Pipeline

啟動 mongosqld

參考 Lauch BI Connector

mongodb-bi-linux-x86_64-rhel70-v2.12.0/bin/mongosqld --addr 127.0.0.1:3307 --mongo-uri 127.0.0.1:9555
  • --addr 指定 mongosqld 監聽的地址
  • --mongo-uri 指定連接的 MongoDB Server 地址

默認情況下,mongosqld 自動會分析目標 MongoDB Server 里數據的 Schema,并緩存在內存,我們也可以直接在啟動時指定 schema 影射關系。schema 也可以直接 mongodrdl 工具來生成,指定集合,可以將集合里的字段 shema 信息導出。

$./bin/mongodrdl --uri=mongodb://127.0.0.1:9555/test -c coll01
schema:
- db: test
  tables:
  - table: coll01
    collection: coll01
    pipeline: []
    columns:
    - Name: _id
      MongoType: float64
      SqlName: _id
      SqlType: float
    - Name: qty
      MongoType: float64
      SqlName: qty
      SqlType: float
    - Name: type
      MongoType: string
      SqlName: type
      SqlType: varchar

使用 MySQL 客戶端連接 mongosqld

mongosqld 可直接支持 MySQL 客戶端訪問,還可以通過 Excel、Access、Tableau等BI工具連接

mysql --protocol=tcp --port=3307

mysql> use test
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| coll           |
| coll01         |
| coll02         |
| inventory      |
| myCollection   |
| yourCollection |
+----------------+
6 rows in set (0.00 sec)

mysql> select * from coll01;
+------+------+--------+
| _id  | qty  | type   |
+------+------+--------+
|    1 |    5 | apple  |
|    2 |   10 | orange |
|    3 |   15 | banana |
+------+------+--------+
3 rows in set (0.00 sec)

// 對照 MongoDB 數據庫里的原始數據

mongo --port
mymongo:PRIMARY> use test
switched to db test
mymongo:PRIMARY> show tables;
coll
coll01
coll02
inventory
myCollection
yourCollection
mymongo:PRIMARY> db.coll01.find()
{ "_id" : 1, "type" : "apple", "qty" : 5 }
{ "_id" : 2, "type" : "orange", "qty" : 10 }
{ "_id" : 3, "type" : "banana", "qty" : 15 }

SQL 轉 Aggregation

比如要將針對 test.coll01 的 SQL 查詢轉換為 MongoDB Aggregation Pipeline,需要先通過 mongodrdl 分析 schema,然后使用 mongotranslate 工具來轉換

// 導出分析的 shema 文件
$./bin/mongodrdl --uri=mongodb://127.0.0.1:9555/test -c coll01 > coll01.schema  

// SQL 轉換為 Aggregation
$./bin/mongotranslate --query "select * from test.coll01" --schema coll01.schema
[
    {"$project": {"test_DOT_coll01_DOT__id": "$_id","test_DOT_coll01_DOT_qty": "$qty","test_DOT_coll01_DOT_type": "$type","_id": NumberInt("0")}},
]

作者簡介

張友東,花名林青,阿里云數據庫組高級技術專家,主要關注分布式存儲、分布式數據庫等技術領域,先后參與TFS(淘寶分布式文件系統)Redis云數據庫等項目致力于讓開發者用上最好的云數據庫服務。

]]>
MongoDB 使用 BI Connector 來支持 BI 組件直接使用 SQL 或 ODBC 數據源方式直接訪問 MongoDB,在早期 MongoDB 直接使用 Postgresql FDW 來實現 SQL 到 MQL 的轉換,后來實現更加輕量級的 mongosqld 來支持 BI 工具的連接。

安裝 BI Connector

參考 Install BI Connector

wget https://info-mongodb-com.s3.amazonaws.com/mongodb-bi/v2/mongodb-bi-linux-x86_64-rhel70-v2.12.0.tgz

$tar xvf mongodb-bi-linux-x86_64-rhel70-v2.12.0.tgz
mongodb-bi-linux-x86_64-rhel70-v2.12.0/LICENSE
mongodb-bi-linux-x86_64-rhel70-v2.12.0/README
mongodb-bi-linux-x86_64-rhel70-v2.12.0/THIRD-PARTY-NOTICES
mongodb-bi-linux-x86_64-rhel70-v2.12.0/example-mongosqld-config.yml
mongodb-bi-linux-x86_64-rhel70-v2.12.0/bin/mongosqld
mongodb-bi-linux-x86_64-rhel70-v2.12.0/bin/mongodrdl
mongodb-bi-linux-x86_64-rhel70-v2.12.0/bin/mongotranslate
  • mongosqld 接受 SQL 查詢,并將請求發到 MongoDB Server,是 BI Connector 的核心
  • mongodrdl 工具生成數據庫 schema 信息,用于服務 BI SQL 查詢
  • mongotranslate 工具將 SQL 查詢轉換為 MongoDB Aggregation Pipeline

啟動 mongosqld

參考 Lauch BI Connector

mongodb-bi-linux-x86_64-rhel70-v2.12.0/bin/mongosqld --addr 127.0.0.1:3307 --mongo-uri 127.0.0.1:9555
  • –addr 指定 mongosqld 監聽的地址
  • –mongo-uri 指定連接的 MongoDB Server 地址

默認情況下,mongosqld 自動會分析目標 MongoDB Server 里數據的 Schema,并緩存在內存,我們也可以直接在啟動時指定 schema 影射關系。schema 也可以直接 mongodrdl 工具來生成,指定集合,可以將集合里的字段 shema 信息導出。

$./bin/mongodrdl --uri=mongodb://127.0.0.1:9555/test -c coll01
schema:
- db: test
  tables:
  - table: coll01
    collection: coll01
    pipeline: []
    columns:
    - Name: _id
      MongoType: float64
      SqlName: _id
      SqlType: float
    - Name: qty
      MongoType: float64
      SqlName: qty
      SqlType: float
    - Name: type
      MongoType: string
      SqlName: type
      SqlType: varchar

使用 MySQL 客戶端連接 mongosqld

mongosqld 可直接支持 MySQL 客戶端訪問,還可以通過 Excel、Access、Tableau等BI工具連接

mysql --protocol=tcp --port=3307

mysql> use test
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| coll           |
| coll01         |
| coll02         |
| inventory      |
| myCollection   |
| yourCollection |
+----------------+
6 rows in set (0.00 sec)

mysql> select * from coll01;
+------+------+--------+
| _id  | qty  | type   |
+------+------+--------+
|    1 |    5 | apple  |
|    2 |   10 | orange |
|    3 |   15 | banana |
+------+------+--------+
3 rows in set (0.00 sec)

// 對照 MongoDB 數據庫里的原始數據

mongo --port
mymongo:PRIMARY> use test
switched to db test
mymongo:PRIMARY> show tables;
coll
coll01
coll02
inventory
myCollection
yourCollection
mymongo:PRIMARY> db.coll01.find()
{ "_id" : 1, "type" : "apple", "qty" : 5 }
{ "_id" : 2, "type" : "orange", "qty" : 10 }
{ "_id" : 3, "type" : "banana", "qty" : 15 }

SQL 轉 Aggregation

比如要將針對 test.coll01 的 SQL 查詢轉換為 MongoDB Aggregation Pipeline,需要先通過 mongodrdl 分析 schema,然后使用 mongotranslate 工具來轉換

// 導出分析的 shema 文件
$./bin/mongodrdl --uri=mongodb://127.0.0.1:9555/test -c coll01 > coll01.schema  

// SQL 轉換為 Aggregation
$./bin/mongotranslate --query "select * from test.coll01" --schema coll01.schema
[
    {"$project": {"test_DOT_coll01_DOT__id": "$_id","test_DOT_coll01_DOT_qty": "$qty","test_DOT_coll01_DOT_type": "$type","_id": NumberInt("0")}},
]

作者簡介

張友東,花名林青,阿里云數據庫組高級技術專家,主要關注分布式存儲、分布式數據庫等技術領域,先后參與TFS(淘寶分布式文件系統)Redis云數據庫等項目致力于讓開發者用上最好的云數據庫服務。

]]>
http://www.psiuzv.icu/archives/28508/feed 0
MongoDB Spark Connector 實戰指南 http://www.psiuzv.icu/archives/28505?utm_source=rss&utm_medium=rss&utm_campaign=mongodb-spark-connector-%25e5%25ae%259e%25e6%2588%2598%25e6%258c%2587%25e5%258d%2597 http://www.psiuzv.icu/archives/28505#comments Sun, 29 Sep 2019 09:56:37 +0000 http://mongoing.com/?p=28505 Why Spark with MongoDB?
  1. 高性能,官方號稱 100x faster,因為可以全內存運行,性能提升肯定是很明顯的
  2. 簡單易用,支持 Java、Python、Scala、SQL 等多種語言,使得構建分析應用非常簡單
  3. 統一構建 ,支持多種數據源,通過 Spark RDD 屏蔽底層數據差異,同一個分析應用可運行于不同的數據源;
  4. 應用場景廣泛,能同時支持批處理以及流式處理

MongoDB Spark Connector 為官方推出,用于適配 Spark 操作 MongoDB 數據;本文以 Python 為例,介紹 MongoDB Spark Connector 的使用,幫助你基于 MongoDB 構建第一個分析應用。

準備 MongoDB 環境

安裝 MongoDB 參考 Install MongoDB Community Edition on Linux

mkdir mongodata
mongod --dbpath mongodata --port 9555

準備 Spark python 環境

參考 PySpark - Quick Guide

下載 Spark

cd /home/mongo-spark
wget http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgz
tar zxvf spark-2.4.4-bin-hadoop2.7.tgz

設置 Spark 環境變量

export SPARK_HOME=/home/mongo-spark/spark-2.4.4-bin-hadoop2.7
export PATH=$PATH:/home/mongo-spark/spark-2.4.4-bin-hadoop2.7/bin
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
export PATH=$SPARK_HOME/python:$PATH

運行 Spark RDD 示例

# count.py
from pyspark import SparkContext
sc = SparkContext("local", "count app")
words = sc.parallelize (
   ["scala", 
   "java", 
   "hadoop", 
   "spark", 
   "akka",
   "spark vs hadoop", 
   "pyspark",
   "pyspark and spark"]
)
counts = words.count()

$SPARK_HOME/bin/spark-submit count.py
Number of elements in RDD → 8  

如果上述程序運行成功,說明 Spark python 環境準備成功,還可以測試 Spark 的其他 RDD 操作,比如 collector、filter、map、reduce、join 等,更多示例參考 PySpark - Quick Guide

Spark 操作 MongoDB 數據

參考 Spark Connector Python Guide

準備測試數據 test.coll01 插入3條測試數據,test.coll02 未空

mongo --port 9555

> db.coll01.find()
{ "_id" : 1, "type" : "apple", "qty" : 5 }
{ "_id" : 2, "type" : "orange", "qty" : 10 }
{ "_id" : 3, "type" : "banana", "qty" : 15 }
> db.coll02.find()

準備操作腳本,將輸入集合的數據按條件進行過濾,寫到輸出集合

# mongo-spark-test.py
from pyspark.sql import SparkSession

# Create Spark Session

spark = SparkSession \
    .builder \
    .appName("myApp") \
    .config("spark.mongodb.input.uri", "mongodb://127.0.0.1:9555/test.coll01") \
    .config("spark.mongodb.output.uri", "mongodb://127.0.0.1:9555/test.coll") \
    .getOrCreate()


# Read from MongoDB
df = spark.read.format("mongo").load()
df.show()

# Filter and Write
df.filter(df['qty'] >= 10).write.format("mongo").mode("append").save()    

# Use SQL 
# df.createOrReplaceTempView("temp")
# some_fruit = spark.sql("SELECT type, qty FROM temp WHERE type LIKE '%e%'")
# some_fruit.show()

運行腳本

$SPARK_HOME/bin/spark-submit --packages org.mongodb.spark:mongo-spark-connector_2.11:2.4.1 mongo-spark-test.py

mongo --port 9555

> db.coll02.find()
{ "_id" : 2, "qty" : 10, "type" : "orange" }
{ "_id" : 3, "qty" : 15, "type" : "banana" }

作者簡介

張友東,阿里云高級技術專家,主要關注分布式存儲與數據庫等技術領域,目前參與阿里云數據庫(PolarDB、MySQL、MongoDB、Redis)等項目的開發工作,致力于讓開發者用上最好的云數據庫服務。

]]>
Why Spark with MongoDB?
  1. 高性能,官方號稱 100x faster,因為可以全內存運行,性能提升肯定是很明顯的
  2. 簡單易用,支持 Java、Python、Scala、SQL 等多種語言,使得構建分析應用非常簡單
  3. 統一構建 ,支持多種數據源,通過 Spark RDD 屏蔽底層數據差異,同一個分析應用可運行于不同的數據源;
  4. 應用場景廣泛,能同時支持批處理以及流式處理

MongoDB Spark Connector 為官方推出,用于適配 Spark 操作 MongoDB 數據;本文以 Python 為例,介紹 MongoDB Spark Connector 的使用,幫助你基于 MongoDB 構建第一個分析應用。

準備 MongoDB 環境

安裝 MongoDB 參考 Install MongoDB Community Edition on Linux

mkdir mongodata
mongod --dbpath mongodata --port 9555

準備 Spark python 環境

參考 PySpark – Quick Guide

下載 Spark

cd /home/mongo-spark
wget http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgz
tar zxvf spark-2.4.4-bin-hadoop2.7.tgz

設置 Spark 環境變量

export SPARK_HOME=/home/mongo-spark/spark-2.4.4-bin-hadoop2.7
export PATH=$PATH:/home/mongo-spark/spark-2.4.4-bin-hadoop2.7/bin
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
export PATH=$SPARK_HOME/python:$PATH

運行 Spark RDD 示例

# count.py
from pyspark import SparkContext
sc = SparkContext("local", "count app")
words = sc.parallelize (
   ["scala", 
   "java", 
   "hadoop", 
   "spark", 
   "akka",
   "spark vs hadoop", 
   "pyspark",
   "pyspark and spark"]
)
counts = words.count()

$SPARK_HOME/bin/spark-submit count.py
Number of elements in RDD → 8  

如果上述程序運行成功,說明 Spark python 環境準備成功,還可以測試 Spark 的其他 RDD 操作,比如 collector、filter、map、reduce、join 等,更多示例參考 PySpark – Quick Guide

Spark 操作 MongoDB 數據

參考 Spark Connector Python Guide

準備測試數據 test.coll01 插入3條測試數據,test.coll02 未空

mongo --port 9555

> db.coll01.find()
{ "_id" : 1, "type" : "apple", "qty" : 5 }
{ "_id" : 2, "type" : "orange", "qty" : 10 }
{ "_id" : 3, "type" : "banana", "qty" : 15 }
> db.coll02.find()

準備操作腳本,將輸入集合的數據按條件進行過濾,寫到輸出集合

# mongo-spark-test.py
from pyspark.sql import SparkSession

# Create Spark Session

spark = SparkSession \
    .builder \
    .appName("myApp") \
    .config("spark.mongodb.input.uri", "mongodb://127.0.0.1:9555/test.coll01") \
    .config("spark.mongodb.output.uri", "mongodb://127.0.0.1:9555/test.coll") \
    .getOrCreate()


# Read from MongoDB
df = spark.read.format("mongo").load()
df.show()

# Filter and Write
df.filter(df['qty'] >= 10).write.format("mongo").mode("append").save()    

# Use SQL 
# df.createOrReplaceTempView("temp")
# some_fruit = spark.sql("SELECT type, qty FROM temp WHERE type LIKE '%e%'")
# some_fruit.show()

運行腳本

$SPARK_HOME/bin/spark-submit --packages org.mongodb.spark:mongo-spark-connector_2.11:2.4.1 mongo-spark-test.py

mongo --port 9555

> db.coll02.find()
{ "_id" : 2, "qty" : 10, "type" : "orange" }
{ "_id" : 3, "qty" : 15, "type" : "banana" }

作者簡介

張友東,阿里云高級技術專家,主要關注分布式存儲與數據庫等技術領域,目前參與阿里云數據庫(PolarDB、MySQL、MongoDB、Redis)等項目的開發工作,致力于讓開發者用上最好的云數據庫服務。

]]>
http://www.psiuzv.icu/archives/28505/feed 0
2019年MongoDB中文社區 臺北大會 http://www.psiuzv.icu/archives/28487?utm_source=rss&utm_medium=rss&utm_campaign=2019%25e5%25b9%25b4mongodb%25e4%25b8%25ad%25e6%2596%2587%25e7%25a4%25be%25e5%258c%25ba-%25e5%258f%25b0%25e5%258c%2597%25e5%25a4%25a7%25e4%25bc%259a http://www.psiuzv.icu/archives/28487#comments Fri, 27 Sep 2019 04:22:17 +0000 http://www.psiuzv.icu/?p=28487 MUG TAIPEI 2019

臺北大會

就在10月18日,MongoDB中文社區臺北大會就要開始啦!各位親愛的小伙伴,MUG TAIPEI 2019 分為上午的MongoDB培訓和下午用戶組大會兩部分,假如您要參加本次活動,請跟我一起來了解活動的嘉賓和議程吧!

大會嘉賓

陳進賢(Alex Chen)

陳進賢(Alex Chen)

歐立威科技 技術協理

目前負責歐立威科技技術顧問團隊相關業務,專長為巨量資料平臺系統規劃、設計、分析、技術諮詢及教育訓練服務,應用領域涵蓋電信、金融、零售及高科技製造產業…等,從事IT產業已10多年以上經驗。

唐建法 (TJ Tang)

唐建法 (TJ Tang)

MongoDB MongoDB 大中華區首席架構師

Mongoing中文社群發起人。MongoDB大中華區首席架構師,為大中華地區的MongoDB用戶提供大數據解決方案和性能優化,模式設計等方面的技術支持。在加入MongoDB之前他在美國惠普和聯邦快遞等公司擔任首席架構師等職位。

王君豪 (Caleb)

王君豪 (Caleb)

永豐證劵 資訊部經理

簡歷 永豐金證券資訊部Team Lead, 使用React+Node.js+Mongodb方案。帶領團隊自建專案經驗如下:機器人理財核心, 碎股帳務系統 國際證券業務帳務系統 美港股交易, 即時損益中心。

MongoDB Training

臺北大會-培訓

活動時間: 2019-10-18 9:00 ~ 12:00

活動地點:臺灣臺北市復興北路99號14樓 (臺北恆逸教育訓練中心)

培訓議程

上午活動議程

MongoDB為世界最領先的開源文檔資料庫,由C++語言編寫,支持二級索引加速查詢、複製集高可用性、自動資料分片、豐富的查詢功能...等。常應用於大數據運算及分析、內容管理及交付、資料庫運算存儲和Web平臺,並提供高可用性、高延展性、高性能資料儲的解決方案。

美國市場研究公司Forrester在2019的NoSQL報告中指出,「全世界,有半數的數據和分析技術決策者都已經或正在建構NoSQL平臺」,MongoDB更被稱為是非關係型資料庫的領導者,MongoDB儼然已經成為IT人員不可或缺的技術之一。

本次手把手實作課程主要目的是帶領入門學員,體驗MongoDB特性、高可用性 (ReplicaSet)及基本操作,感受世界領先開源NoSQL資料庫引擎的用戶體驗。

報名鏈接:https://www.accupass.com/event/1909200918422138367718

MongoDB User Group

臺北大會

活動時間:2019-10-18 13:00 ~ 17:00

活動地點:臺灣臺北市臺北市松山區復興北路99號 (犇亞商務暨會議中心)

大會議程

下午活動議程

本活動由MongoDB、Mongoing中文社區及歐立威科技攜手舉辦,除了邀請到MongoDB大中華地區首席架構師分享4.2版本的最新功能及應用、Mongoing中文社區臺灣分會負責人分享交易功能的技術操作;另外更邀請MongoDB企業用戶分享實際應用MongoDB的情境。

從企業所面臨的問題與挑戰、引入MongoDB的解決方案過程,以及最終為企業帶來的價值,都將在本活動中有精彩豐富的內容等你來挖掘!

活動過程更可以和來自各行各業的高手對談交流,不論你是有創新應用還是遇到技術瓶頸的使用者,MongoDB User Group Taipei 2019絕對不容錯過!

關於MongoDB:

MongoDB是當前最受歡迎的NoSQL資料庫,迄今社群版全球下載數超過6千萬次,企業用戶也有1萬3千多家,海內外許多知名企業如Facebook、Cisco、MetLife、Expedia、Adobe都是MongoDB的使用者,美國市場研究公司Forrester甚至稱MongoDB為NoSQL的領導者。

相較傳統關聯式資料庫,MongoDB對於巨量資料、高併發以及高可靠性有強大的支援。相比於其他的NoSQL資料庫,MongoDB的基於文檔的資料模型及其動態建模的特性使得它更加自由靈活;分片(Sharding)的資料分散處理架構,使MongoDB得以透過水平擴充儲存海量資料,因此適用於各種應用場景如CRM、內容管理、事件紀錄、商情分析、手機應用、社交等。

報名鏈接:https://www.accupass.com/event/1909200625261267899328

主辦方

中文社區

歐力威

MongoDB-Logo標準版_MongoDB-Logo-NoReg

錦木信息logo

協辦方

sino_logo

10.18上午培訓報名鏈接:

https://www.accupass.com/event/1909200918422138367718

10.18下午大會報名鏈接:

https://www.accupass.com/event/1909200625261267899328

近期更多活動:

MongoDB中文社區北京大會將于11月8日進行,點擊了解詳情

]]>
MUG TAIPEI 2019

臺北大會

就在10月18日,MongoDB中文社區臺北大會就要開始啦!各位親愛的小伙伴,MUG TAIPEI 2019 分為上午的MongoDB培訓和下午用戶組大會兩部分,假如您要參加本次活動,請跟我一起來了解活動的嘉賓和議程吧!

大會嘉賓

陳進賢(Alex Chen)

陳進賢(Alex Chen)

歐立威科技
技術協理

目前負責歐立威科技技術顧問團隊相關業務,專長為巨量資料平臺系統規劃、設計、分析、技術諮詢及教育訓練服務,應用領域涵蓋電信、金融、零售及高科技製造產業…等,從事IT產業已10多年以上經驗。

唐建法 (TJ Tang)

唐建法 (TJ Tang)

MongoDB
MongoDB 大中華區首席架構師

Mongoing中文社群發起人。MongoDB大中華區首席架構師,為大中華地區的MongoDB用戶提供大數據解決方案和性能優化,模式設計等方面的技術支持。在加入MongoDB之前他在美國惠普和聯邦快遞等公司擔任首席架構師等職位。

王君豪 (Caleb)

王君豪 (Caleb)

永豐證劵
資訊部經理

簡歷 永豐金證券資訊部Team Lead, 使用React+Node.js+Mongodb方案。帶領團隊自建專案經驗如下:機器人理財核心, 碎股帳務系統 國際證券業務帳務系統 美港股交易, 即時損益中心。

MongoDB Training

臺北大會-培訓

活動時間: 2019-10-18 9:00 ~ 12:00

活動地點:臺灣臺北市復興北路99號14樓 (臺北恆逸教育訓練中心)

培訓議程

上午活動議程

MongoDB為世界最領先的開源文檔資料庫,由C++語言編寫,支持二級索引加速查詢、複製集高可用性、自動資料分片、豐富的查詢功能…等。常應用於大數據運算及分析、內容管理及交付、資料庫運算存儲和Web平臺,並提供高可用性、高延展性、高性能資料儲的解決方案。

美國市場研究公司Forrester在2019的NoSQL報告中指出,「全世界,有半數的數據和分析技術決策者都已經或正在建構NoSQL平臺」,MongoDB更被稱為是非關係型資料庫的領導者,MongoDB儼然已經成為IT人員不可或缺的技術之一。

本次手把手實作課程主要目的是帶領入門學員,體驗MongoDB特性、高可用性 (ReplicaSet)及基本操作,感受世界領先開源NoSQL資料庫引擎的用戶體驗。

報名鏈接:https://www.accupass.com/event/1909200918422138367718

MongoDB User Group

臺北大會

活動時間:2019-10-18 13:00 ~ 17:00

活動地點:臺灣臺北市臺北市松山區復興北路99號 (犇亞商務暨會議中心)

大會議程

下午活動議程

本活動由MongoDB、Mongoing中文社區及歐立威科技攜手舉辦,除了邀請到MongoDB大中華地區首席架構師分享4.2版本的最新功能及應用、Mongoing中文社區臺灣分會負責人分享交易功能的技術操作;另外更邀請MongoDB企業用戶分享實際應用MongoDB的情境。

從企業所面臨的問題與挑戰、引入MongoDB的解決方案過程,以及最終為企業帶來的價值,都將在本活動中有精彩豐富的內容等你來挖掘!

活動過程更可以和來自各行各業的高手對談交流,不論你是有創新應用還是遇到技術瓶頸的使用者,MongoDB User Group Taipei 2019絕對不容錯過!

關於MongoDB:

MongoDB是當前最受歡迎的NoSQL資料庫,迄今社群版全球下載數超過6千萬次,企業用戶也有1萬3千多家,海內外許多知名企業如Facebook、Cisco、MetLife、Expedia、Adobe都是MongoDB的使用者,美國市場研究公司Forrester甚至稱MongoDB為NoSQL的領導者。

相較傳統關聯式資料庫,MongoDB對於巨量資料、高併發以及高可靠性有強大的支援。相比於其他的NoSQL資料庫,MongoDB的基於文檔的資料模型及其動態建模的特性使得它更加自由靈活;分片(Sharding)的資料分散處理架構,使MongoDB得以透過水平擴充儲存海量資料,因此適用於各種應用場景如CRM、內容管理、事件紀錄、商情分析、手機應用、社交等。

報名鏈接:https://www.accupass.com/event/1909200625261267899328

主辦方

中文社區

歐力威

MongoDB-Logo標準版_MongoDB-Logo-NoReg

錦木信息logo

協辦方

sino_logo

10.18上午培訓報名鏈接:

https://www.accupass.com/event/1909200918422138367718

10.18下午大會報名鏈接:

https://www.accupass.com/event/1909200625261267899328

近期更多活動:

MongoDB中文社區北京大會將于11月8日進行,點擊了解詳情

]]>
http://www.psiuzv.icu/archives/28487/feed 0
快乐十分技巧导师讲解