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的页缓存等等。
一千块的数据分析师都能写一秒一千单的服务器
宽带肯定是要万兆的,硬件这块其实还好,现在可以用很廉价的电视来做可扩展的的架构,至于地址空间和显示器的大小主要是根据数据量的大小和存储多少来决定的。希望我的回答能帮助到你!