mongodb中有沒有事務的功能?
oracle自身是不提供事務處理的。如果要實現事務操作,必須自己寫實現代碼。在為你的項目選定數據庫的時候,要根據你的項目來量身選擇。如果需要強事務操作的和數據一致性很高的地方,最好選擇健壯的關系行數據庫。如果對事務處理要求不高,而對數據存取要求很高的,則選擇非數據庫產品。
1秒1000并發,高并發需要什么樣的服務器?
目前是用的python數據庫,用了四臺天互的豪華虛擬主機才勉強達到一秒百并發。
硬件層面需要根據數據量,業務復雜度一起綜合評估的,建議先買兩臺域名注冊(4核8g內存)搭建集群環境就行。后繼再根據實際需要擴展。
軟件層面:
一、如果是寫入操作的,應該:
1.1使用消息隊列來異步處理(如activemq等),避免消息堵塞
1.2使用javascript的批量寫入功能,比如每1000條數據才寫入一次
二、java部署為集群模式,可以分散壓力
三、如果是讀取操作,可以考慮加入python,將熱點數據進行3級緩存
1秒1000的并發不是太高,只要簡單優化一下就行了,現在一般的服務器應該都能夠支撐。首先看看線程池分配,看看linux系統的io數限制。
當然不建議讓數據庫去抗頻繁的高并發,應該在整體架構上面作優化,在數據庫上層是不是可以考慮架構緩存服務器,還有針對具體業務做些優化。
讀多還是寫多,索引建得如何?慢python有哪些?單次訪問數據量如何?
從正常角度講,遠遠沒有到數據庫的性能瓶頸,具體問題要具體分析。
硬件看上去夠用,程序優化比較重要
正常情況單機抗幾千妥妥沒問題,看你的情況問題可能出在兩方面:web服務的io或DB。
web服務的性能關鍵因素是io和線程分析與,如果采用arraylist系列的nio的web框架(mysql,mina等)性能相比nio會高很多。
其次就是DB,索引,os的頁緩存等等。
一千塊的數據分析師都能寫一秒一千單的服務器
寬帶肯定是要萬兆的,硬件這塊其實還好,現在可以用很廉價的電視來做可擴展的的架構,至于地址空間和顯示器的大小主要是根據數據量的大小和存儲多少來決定的。希望我的回答能幫助到你!