Insert快既db如何選擇?

評估過, 高峰期大約每秒收5000-6000個request
每個request只係簡單insert一個record

用慣php+mysql, 可以的話都盡量想用返依個組合

不過我估多數都唔得, 係咪要改language?
變成node.js+mysql?

如果咁都唔得, 係咪要node.js+另一隻更快的DB?

你可以寫咗落 temp file, 再用background thread 一個 batch insert 落 mysql 到 (LOAD DATA INFILE)

via HKEPC Reader for Android

TOP

回覆 1# 3ldk

mysql 行緊咩engine? MyISAM? InnDB?
兩者要fine tune concurrent insert 都唔同方法,另要睇熟manual 先好tune,亂改會炒到好慢的。

TOP

TOP

其實php同node.js都冇分別, 只係食U
最後都係靠mysql insert
係轉的話, 都可能係php + mssql / php + oracle db
而唔係轉node.js

TOP

其實modern db一秒insert 5-6000個row應該濕濕碎?

TOP

網上D比較文章, 唔係成日話node.js的Non-blocking特性, 特別適合處理大量request的嗎? 仲話php好慢, 所以我諗住係考慮DB之前, 首先要考慮個app用咩language

如果幾千個request真係濕濕碎, 咁我就照以下組合去做了
php7+mysql+myisam

再進一步, 其實我仲用慣f3+f3內置的orm
所以如果可以用埋以下組合就更加好
php7+mysql+myisam+f3+f3內置的orm


我諗一聽到orm, 好多人一定話好慢, 要效能就遠離orm...等等

但其實就我觀察, f3個orm只不過係gen條sql出黎行, 其實同你自己打sql無分別
唔明點解個個都話orm慢

TOP

php都有分apache定nginx+fpm
apache prefork未必頂到每秒5,6000

orm係會慢左同食ram左,你點都係要實測下,個個webapp情況不同

TOP

回覆 1# 3ldk


   
做啲 Eventually Consistent 嘅 DB Op 多數啲人(大 Startup) 會用 Cassandra

主因離不開「易於 Horizontal Scaling」、「Linear Performance on Scaling」

不過如果唔洗考慮 Scaling 嘅話,SQL 揀岩 Engine 黎用,再做 Tuning 應該唔差得去邊

via HKEPC IR Pro v2.1.0 - iPhone

TOP

咁ok了, 可以揀php7+mysql了, 最緊要confirm依兩個係無問題, 只係server影響的話, 將來換server同tune db就OK, 主要係唔想揀錯, 將來要重新寫過

我諗我依個case唔屬於Eventually Consistent
個app只係單純做log, 單一table, 我諗唔需要nosql都得

TOP