vert x真的不需要ORM嗎?

時間 2021-06-01 02:46:28

1樓:張震

物件關係對映是否被需要不是取決於應用框架的選擇,而是在於資料模型的對接:應用中的模型和你所選擇的資料庫中的資料模型。回頭一看我們在應用中的資料幾乎都是物件,而當下的資料庫也大部分都是關係型資料庫,那麼ORM就有存在的價值了:

你需要從應用中的物件模型轉換為資料庫中的關係模型,這樣才能儲存。

不使用ORM的問題的解決在於保證兩邊資料模型的一致性,像兩邊都採用物件模型,如此肯定需要物件資料庫;或者都使用層次或文件模型像json,資料庫使用支援文件模型的資料庫像NoSQL;但是這些方案都面臨著很大的問題,一是自己的技術儲備能否支援落地,比如圖資料庫的難度自己能否掌控,二是方案能否支援所有業務場景,比如層次模型如何處理多對多,文件型的資料自包含又難以適應大量的變更。這樣比較起來,又成熟又全面的還是關係型資料庫,雖然使用orm稍微有點繁瑣,但也都是成熟的方案。

你的問題像是現有的ORM不適合vertx這種非同步方式,我不是很了解vertx,所以還是自己看文件實現一下物件關係對映,不會很複雜。如果更換資料模型會有想象不到的麻煩出現。

2樓:圓胖腫

問這個問題表示你沒有真正理解整體設計

vert.x能不能用orm?當然可以,這兩個一點都不衝突,pure orm是純記憶體的操作,本身可以被認為是非阻塞式的操作,所以直接套上去就可以了,但是:

1)vert.x沒有提供傻瓜化的框架和api,不像hibernate那些那樣,同時網路上也有很多教程,vert.x不是這樣的,這些東西你要自己完成,實際上也不困難,無非resultset和object互相轉換,自己用反射之類的動手寫也就那麼一回事

2)為什麼vert.x沒有提供傻瓜化的框架呢?因為用vert.

x的人,本身對於rdbms有些說白了,就是瞧不上,因為資料庫會先於應用伺服器觸發吞吐瓶頸,乙個傳統系統,比如是tomcat和mysql的組合,當併發量上去之後,mysql會先於tomcat之前頂不住,所以第一步一般是引入nosql以增加吞吐,比如cassandra,同時會弱化mysql等的rdbms的屬性,以提速增加吞吐,比如用pg替換掉mysql,用jsonb型別替換掉傳統的table表,然後才是把tomcat等換成vert.x,等到你用vert.x的時候,vert.

x面對的是乙個json等的資料結構,以及nosql的資料庫,所以vert.x優先解決跟nosql以及json等半結構或者無結構資料格式的互動問題,提供能夠跟json,檔案系統的api,而不是去適應傳統的rdbms,那個是落後產能

所以vert.x的module取捨很簡單,對於這些落後的產能,它乾脆連api都懶得去弄,就像同步的api,你說vert.x能不能做成傳統的乙個request乙個thread處理的形式?

當然可以,但是這樣做就慢,要做你自己做,提供傻瓜化api並不是發展的重心

朝前看參考:一捅到底的架構

intp真的不需要社交嗎?

活在社會裡沒有人不需要社交 致也 1.人是社會生物,具有社交屬性,人活在普遍聯絡著的社會之中。2.intp是多元化的人類物種的一部分。3.作為人類的intp,需要社交是物種的本能需求。4.只要還活在普遍聯絡著的社會之中,就沒有人可以完全脫離與社會的聯絡,就會有社交需求。5.完全脫離了社交的人,無論是...

使用Mac,真的不需要滑鼠嗎?

mahdi lao 說實話辦公的話,不涉及精度很高的操作,觸控板比滑鼠好用,但是用一天觸控板手指吃不消,你會有種指頭被磨禿嚕皮的感覺,就想我現在一樣 默語 信仰可能會蒙蔽自己,但是銷量不會造假,京東上的蘋果滑鼠可是比蘋果觸控板銷量好得多 你可能說銷量少夠不成什麼說法,當然畢竟圖便宜買其他滑鼠的也沒法...

為人父母真的不需要學習嗎?

NTNF 我無數次從內心感激我的孩子,養育他的過程中,我不斷審視自我,才意識到自己在知識 涵養和心智上的匱乏和不成熟。在養育孩子的過程中,我獲得了新的成長,這種成長是其他經歷不能給予的。為人父母,是一次珍貴的學習機會。 可小可 需要學習的太多了 在文化知識上,我一直認為自己人生的知識儲備巔峰時期會有...