SlideShare a Scribd company logo
1 of 19
系統資源使用思維
如何使用有限資源處理大數據
Simon Liang (YC)
大綱
• 成本與效益
• 資源與效能迷思
• 資源與效能思維
• 案例思考-如何處理重複數據
• 案例思考-資料龐大且資源有限
• 設計思考
• 想法與啟發
• Q&A
成本與效益
• 系統資源
– CPU
– 記憶體
– 磁碟讀寫負載與空間
– 網路傳輸
• 人力資源
– 開發人力&時間
資源與效能迷思
• 更先進的套件與伺服器
• 丟給資料庫處理
• 程式碼越精簡越好
• 跑最快的最適合
• 法則與公式
資源與效能思維
• 肯德基, 麥當勞, MOS漢堡
• 資源取用&流程控管
• 值觀科學
• 不求極致,但求合理; 保持開發速度,但不
隨便
案例思考-如何處理重複數據?
• 有一文字檔案為產品編號與銷貨數量記錄,
每行資料列格式為 productNo=>count
• 可能有重複的produtNo資料列
• 寫一程式將銷貨數量作統整,如重複者
count相加,輸出一份處理完整的紀錄檔案
• 結果類似select productNo,sum(count) from
銷貨紀錄 group by productNo
正規式做法
• 將檔案讀出並explode為陣列$data_rows
• 建立暫存陣列$tmp_array供比對用
• 走訪$data_rows陣列, 累加
$tmp_array[$productNo]再將資料存回該元
素
• 走訪$tmp_array, 組成儲存之文字格式於變
數$new_data
• 將$new_data資料寫入目標檔案即完成
資料龐大且資源有限時
• 共有8000萬筆記錄,檔案大小約為8G
• 記憶體使用上限為256MB
• 運算時間上限為30分鐘
• 如何以256MB記憶體在30分鐘內處理8G數
據?
Compare & Sum
Data
Origin Data
Result DataMain Process
原始架構還有辦法應付嗎?
問題與挑戰
• 只有256MB記憶體
• 檔案很大,且時間有限
• 內容分布無固定規則
• 必須確保資料沒有重複
• 資料與運算皆會使用記憶體
• 合理運用CPU, 記憶體, 磁碟資源
設計思考 (1/2)
• 設計暫存檔
– 縮小檔案大小
– 縮小比對範圍
• 分段處理
– 減少記憶體耗用
– 逐步縮小範圍
• 減少存取次數
• 多工處理
設計思考 (2/2)
Regroup DataOrigin Data
Temp 1
Temp 2
Temp 3
Temp n
Result Data
Main Process
Sub Process Compare & Sum
Data
Compare & Sum
Data
設計思考-暫存檔
• 縮小檔案大小; 且縮小比對範圍
– 拆解方法
– 拆解數目
– 資料整理
– 資料儲存
設計思考-分段處理(1/2)
• File Pointer方式逐行讀取
• 區段切分與記憶體分配
• 比對重複
• 平均打散
• 批次寫入
設計思考-分段處理(2/2)
• 逐行讀取暫存檔
• 記憶體分配
• 縮短比對時間
• 批次寫入結果檔
設計思考-多工處理 (1/2)
• 時間有限需多工併進
• 可多工之項目
• 以達最佳效益之作法
• Map Reduce
設計思考-多工處理 (2/2)
Regroup Data
Origin Data
Temp 1
Temp 2
Temp 3
Temp n
Result Data
Main Process
Sub Process 1
Compare & Sum
Data
Sub Process 2
Sub Process 3
Sub Process n
Compare & Sum
Data 1
Compare & Sum
Data 2
Compare & Sum
Data 3
Compare & Sum
Data 4
多線併進
想法與啟發
• 規模與目標
• 資源成本
– 固定式
– 線性成長
– 指數型成長
• 開發成本
– 初期成本
– 維護成本
你可以做得更好
• Search how to measure cpu loading, memory
usage and execution time both in PHP and
Linux.
• Think about your own efficient develop and
test method.
• You should try it !!
/var/www/html/simon_liang/beta_data.txt
Q&A

More Related Content

Viewers also liked

RAINBOW by ECS-3.COM: Ноу-хау (укр)
RAINBOW by ECS-3.COM: Ноу-хау (укр)RAINBOW by ECS-3.COM: Ноу-хау (укр)
RAINBOW by ECS-3.COM: Ноу-хау (укр)RAINBOW by ECS-3.COM
 
RAINBOW by ECS-3.COM: Quality control (english version)
RAINBOW by ECS-3.COM: Quality control (english version)RAINBOW by ECS-3.COM: Quality control (english version)
RAINBOW by ECS-3.COM: Quality control (english version)RAINBOW by ECS-3.COM
 
Rainbow by ecs-3.com: протоколы испытаний на огнестойкость
Rainbow by ecs-3.com: протоколы испытаний на огнестойкостьRainbow by ecs-3.com: протоколы испытаний на огнестойкость
Rainbow by ecs-3.com: протоколы испытаний на огнестойкостьRAINBOW by ECS-3.COM
 
RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)
RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)
RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)RAINBOW by ECS-3.COM
 
Linux in schools ahmad al tayer project 10bb
Linux in schools ahmad al tayer project 10bbLinux in schools ahmad al tayer project 10bb
Linux in schools ahmad al tayer project 10bbA7madal6ayer
 
RAINBOW by ECS-3.COM: Advantages of our product (english version)
RAINBOW by ECS-3.COM: Advantages of our product (english version)RAINBOW by ECS-3.COM: Advantages of our product (english version)
RAINBOW by ECS-3.COM: Advantages of our product (english version)RAINBOW by ECS-3.COM
 
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)RAINBOW by ECS-3.COM
 
RAINBOW by ECS-3.COM: GMP детально (русская версия)
RAINBOW by ECS-3.COM: GMP детально (русская версия)RAINBOW by ECS-3.COM: GMP детально (русская версия)
RAINBOW by ECS-3.COM: GMP детально (русская версия)RAINBOW by ECS-3.COM
 
Conference tour economy of ecology
Conference tour economy of ecology Conference tour economy of ecology
Conference tour economy of ecology RAINBOW by ECS-3.COM
 
RAINBOW by ECS-3.COM: The panels (english version)
RAINBOW by ECS-3.COM: The panels (english version)RAINBOW by ECS-3.COM: The panels (english version)
RAINBOW by ECS-3.COM: The panels (english version)RAINBOW by ECS-3.COM
 
RAINOW by ECS-3.COM: панелі (українська версія)
RAINOW by ECS-3.COM:  панелі (українська версія)RAINOW by ECS-3.COM:  панелі (українська версія)
RAINOW by ECS-3.COM: панелі (українська версія)RAINBOW by ECS-3.COM
 
RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)
RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)
RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)RAINBOW by ECS-3.COM
 

Viewers also liked (13)

RAINBOW by ECS-3.COM: Ноу-хау (укр)
RAINBOW by ECS-3.COM: Ноу-хау (укр)RAINBOW by ECS-3.COM: Ноу-хау (укр)
RAINBOW by ECS-3.COM: Ноу-хау (укр)
 
Computer networks
Computer networksComputer networks
Computer networks
 
RAINBOW by ECS-3.COM: Quality control (english version)
RAINBOW by ECS-3.COM: Quality control (english version)RAINBOW by ECS-3.COM: Quality control (english version)
RAINBOW by ECS-3.COM: Quality control (english version)
 
Rainbow by ecs-3.com: протоколы испытаний на огнестойкость
Rainbow by ecs-3.com: протоколы испытаний на огнестойкостьRainbow by ecs-3.com: протоколы испытаний на огнестойкость
Rainbow by ecs-3.com: протоколы испытаний на огнестойкость
 
RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)
RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)
RAINBOW by ECS-3.COM: Многоквартирный жилой дом (русская версия)
 
Linux in schools ahmad al tayer project 10bb
Linux in schools ahmad al tayer project 10bbLinux in schools ahmad al tayer project 10bb
Linux in schools ahmad al tayer project 10bb
 
RAINBOW by ECS-3.COM: Advantages of our product (english version)
RAINBOW by ECS-3.COM: Advantages of our product (english version)RAINBOW by ECS-3.COM: Advantages of our product (english version)
RAINBOW by ECS-3.COM: Advantages of our product (english version)
 
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
RAINBOW by ECS-3.COM: Мобильное здание (русская версия)
 
RAINBOW by ECS-3.COM: GMP детально (русская версия)
RAINBOW by ECS-3.COM: GMP детально (русская версия)RAINBOW by ECS-3.COM: GMP детально (русская версия)
RAINBOW by ECS-3.COM: GMP детально (русская версия)
 
Conference tour economy of ecology
Conference tour economy of ecology Conference tour economy of ecology
Conference tour economy of ecology
 
RAINBOW by ECS-3.COM: The panels (english version)
RAINBOW by ECS-3.COM: The panels (english version)RAINBOW by ECS-3.COM: The panels (english version)
RAINBOW by ECS-3.COM: The panels (english version)
 
RAINOW by ECS-3.COM: панелі (українська версія)
RAINOW by ECS-3.COM:  панелі (українська версія)RAINOW by ECS-3.COM:  панелі (українська версія)
RAINOW by ECS-3.COM: панелі (українська версія)
 
RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)
RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)
RAINBOW by ECS-3.COM: Каталог вариантов отделки панелей (русская версия)
 

Similar to 系統資源使用思維

一淘广告机器学习
一淘广告机器学习一淘广告机器学习
一淘广告机器学习Shaoning Pan
 
淘宝双11双12案例分享
淘宝双11双12案例分享淘宝双11双12案例分享
淘宝双11双12案例分享vanadies10
 
数据挖掘理论与实践
数据挖掘理论与实践数据挖掘理论与实践
数据挖掘理论与实践medcl
 
架構設計-資料存取的選擇
架構設計-資料存取的選擇架構設計-資料存取的選擇
架構設計-資料存取的選擇國昭 張
 
周敏奇:Cliaims—集群感知的内存计算系统
周敏奇:Cliaims—集群感知的内存计算系统周敏奇:Cliaims—集群感知的内存计算系统
周敏奇:Cliaims—集群感知的内存计算系统hdhappy001
 
大資料分析技術的濫觴
大資料分析技術的濫觴大資料分析技術的濫觴
大資料分析技術的濫觴家雋 莊
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lakeJames Chen
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术锐 张
 
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化丁 宇
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術Wei-Yu Chen
 
Microsoft recommendation solution on azure
Microsoft recommendation solution on azureMicrosoft recommendation solution on azure
Microsoft recommendation solution on azureDuran Hsieh
 
Big data, big challenge- splunk 幫你解決 big data 議題帶來的挑戰
Big data, big challenge- splunk 幫你解決 big data 議題帶來的挑戰Big data, big challenge- splunk 幫你解決 big data 議題帶來的挑戰
Big data, big challenge- splunk 幫你解決 big data 議題帶來的挑戰Ching-Lin Tao
 
陈跃国:Sql on-hadoop结构化大数据分析系统性能评测
陈跃国:Sql on-hadoop结构化大数据分析系统性能评测陈跃国:Sql on-hadoop结构化大数据分析系统性能评测
陈跃国:Sql on-hadoop结构化大数据分析系统性能评测hdhappy001
 
Taobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qconTaobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qconYiwei Ma
 
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731drewz lin
 
Database And User Experience for Web Apps
Database And User Experience for Web AppsDatabase And User Experience for Web Apps
Database And User Experience for Web AppsDahui Feng
 
2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practicesFEG
 

Similar to 系統資源使用思維 (20)

一淘广告机器学习
一淘广告机器学习一淘广告机器学习
一淘广告机器学习
 
淘宝双11双12案例分享
淘宝双11双12案例分享淘宝双11双12案例分享
淘宝双11双12案例分享
 
数据挖掘理论与实践
数据挖掘理论与实践数据挖掘理论与实践
数据挖掘理论与实践
 
架構設計-資料存取的選擇
架構設計-資料存取的選擇架構設計-資料存取的選擇
架構設計-資料存取的選擇
 
周敏奇:Cliaims—集群感知的内存计算系统
周敏奇:Cliaims—集群感知的内存计算系统周敏奇:Cliaims—集群感知的内存计算系统
周敏奇:Cliaims—集群感知的内存计算系统
 
大資料分析技術的濫觴
大資料分析技術的濫觴大資料分析技術的濫觴
大資料分析技術的濫觴
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lake
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术
 
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術
 
Microsoft recommendation solution on azure
Microsoft recommendation solution on azureMicrosoft recommendation solution on azure
Microsoft recommendation solution on azure
 
Big data, big challenge- splunk 幫你解決 big data 議題帶來的挑戰
Big data, big challenge- splunk 幫你解決 big data 議題帶來的挑戰Big data, big challenge- splunk 幫你解決 big data 議題帶來的挑戰
Big data, big challenge- splunk 幫你解決 big data 議題帶來的挑戰
 
陈跃国:Sql on-hadoop结构化大数据分析系统性能评测
陈跃国:Sql on-hadoop结构化大数据分析系统性能评测陈跃国:Sql on-hadoop结构化大数据分析系统性能评测
陈跃国:Sql on-hadoop结构化大数据分析系统性能评测
 
Testetstetets
TestetstetetsTestetstetets
Testetstetets
 
mercury
mercurymercury
mercury
 
Nb的敏捷
Nb的敏捷Nb的敏捷
Nb的敏捷
 
Taobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qconTaobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qcon
 
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
 
Database And User Experience for Web Apps
Database And User Experience for Web AppsDatabase And User Experience for Web Apps
Database And User Experience for Web Apps
 
2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices
 

More from YC Liang

電商微服務架構設計與執行
電商微服務架構設計與執行電商微服務架構設計與執行
電商微服務架構設計與執行YC Liang
 
大電商SOA架構選型與思考
大電商SOA架構選型與思考大電商SOA架構選型與思考
大電商SOA架構選型與思考YC Liang
 
配對信系統設計與思考
配對信系統設計與思考配對信系統設計與思考
配對信系統設計與思考YC Liang
 
搶購系統設計與思考
搶購系統設計與思考搶購系統設計與思考
搶購系統設計與思考YC Liang
 
系統配置與前端優化建議
系統配置與前端優化建議系統配置與前端優化建議
系統配置與前端優化建議YC Liang
 
系統重構實例分享
系統重構實例分享系統重構實例分享
系統重構實例分享YC Liang
 

More from YC Liang (6)

電商微服務架構設計與執行
電商微服務架構設計與執行電商微服務架構設計與執行
電商微服務架構設計與執行
 
大電商SOA架構選型與思考
大電商SOA架構選型與思考大電商SOA架構選型與思考
大電商SOA架構選型與思考
 
配對信系統設計與思考
配對信系統設計與思考配對信系統設計與思考
配對信系統設計與思考
 
搶購系統設計與思考
搶購系統設計與思考搶購系統設計與思考
搶購系統設計與思考
 
系統配置與前端優化建議
系統配置與前端優化建議系統配置與前端優化建議
系統配置與前端優化建議
 
系統重構實例分享
系統重構實例分享系統重構實例分享
系統重構實例分享
 

系統資源使用思維