几种内存数据的总结,几种内存数据总结
MemSQL
原理:将不用锁的数据结构和即时编译器结合起来应对大容量的工作负载,在内存中实现了免锁的hashtable和免锁skiplists(一种层级关系的链表结构)来快速随机访问数据。
持久性:MemSQL尽管在内存中存数据,可以通过写日志和快照(类似于checkpoint)对数据持久化到磁盘
复制:MemSQL目前支持master-slave的复制方式,它支持本地复制协议能将事务日志转运到slave上。
分布式架构:基于聚合器和叶子节点的理念进行工作,一个叶子节点就是一个MemSQL的数据库,聚合器负责分解查询到相关的叶子节点上,同时将结果聚合回客户端。
GemFire基于内存的分布式集群系统,分布式内存数据平台的技术原理如上图所示:通过云计算平台虚拟化技术,将若干X86服务器的内存集中起来,组成最高可达数十TB的内存资源池,将全部数据加载到内存中,进行内存计算。计算过程本身不需要读写磁盘,只是定期将数据同步或异步方式写到磁盘。GemFire在分布式集群中保存了多份数据,任何一台机器故障,其它机器上还有备份数据,因此通常不用担心数据丢失,而且有磁盘数据作为备份。GemFire支持把内存数据持久化到各种传统的关系数据库、Hadoop库和其它文件系统中,12306之前采用Unix小型机架构,采用GemFire技术改造成Linux/X86服务器集群架构,就意味着一下跨越三代。从小型机到大内存X86服务器集群,不仅让性能提升了一个数量级,而且成本也要低得多。
Neo4j是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图(网络)中而不是表中存储数据。Neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图,可以扩展到多台机器并行运行。相对于关系数据库来说,图数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。通过围绕图进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图的数据量没有任何关系。此外,Neo4j还提供了非常快的图算法、推荐系统和OLAP风格的分析,而这一切在目前的RDBMS系统中都是无法实现的。
VOLTDB是一种开源的运行在集群上的OLTP数据库,智能快速数据的唯一内存解决方案,它提供了内存的性能,NoSQL的可扩展性,完全的流能力和传统关系型数据库的连续性,在密室和云环境下它提供了可靠和容错性。数据表被分割在集群的多个服务器上,兼容SQL和ACID,可以在线扩展,使用并行的单线程处理方式确保数据的一致性,避免传统数据库的锁和资源管理的开销,但是由于VOLTDB的数据分析是基于SNA,数据分布策略是基于哈希的,采用这种方法后,集群规模是事先确定好的,新增机器需要停止服务后重新分布数据,另外,数据哈希被分散后,数据的连续性被打乱,在这个数据结构上做范围查询需要用服务这张表的所用机器,处理范围查询效率会很低下。
SAP HANA主要是用于主数据分析用的,hana可以抽取其他类型的数据,在hana上快速的分析,SAP HANA与传统分析模型的主要区别在于摒弃了任何物质化的东西,即,所有模型都是完全虚拟的,均基于基本的具体运营数据计算结果,这样,模型就能够被方便的修改。它采用数据字典的方法对数据进行压缩,最小化数据传输; 把大数据量和计算量分散到不同处理器上,不同的服务器之间共享一组数据,单一的服务器的DOWN机将不影响任何计算,成本特别贵,几千万。
我们在攒电脑的时候一般只是注意内存的容量和内存的性能指标,例如DDR266 DDR333之类的。但是你知道吗,同样的内存根据他的品牌,出厂时间以及批号不同,它具有着不同的性能和稳定性,本文将着重和您探讨不同品牌内存之间的性能和稳定性的差异以及同品牌但批号不同的内存的性能差异。另外,本文还将重点涉及内存的制假和售假的方法。将向您彻底揭露正品内存和深圳“油条”的鉴别方法。(什么是油条?这里不卖豆浆,下文中将相信向您讲授油条的做法)
鉴于SDRAM已经走到了生命的尽头,即将完全脱出市场,RDRAM应用不广DDRII内存还未量产。所以本文将只涉及市场主流的DDR内存。
我们先来说一下内存的基本知识,归纳成一句话就是:什么是内存?
内存就是随机存贮器(Random Access Memory,简称为RAM)。RAM分成两大类:静态随机存储器,即Static RAM(SRAM)和动态随机存储器,Dynamic RAM(DRAM),我们经常说的“系统内存”就是指后者,DRAM。
SRAM是一种重要的内存,它的用途广泛,被应用在各个领域。SRAM的速度非常快,在快速读取和刷新时可以保持数据完整性,即保持数据不丢失。SRAM内部采用的是双稳态电路的形式来存储数据,为了实现这种结构,SRAM的电路结构非常复杂,往往要采用大量的晶体管来构造寄存器以保留数据。采用大量的晶体管就需要大量的硅,因此就增加了芯片的面积,无形中增加了制造成本。制造相同容量的SRAM比DRAM的成本贵许多,因此,SRAM在PC平台上就只能用于CPU内部的一级缓存以及内置的二级缓存。而我们所说的“系统内存”使用的应该是DRAM。由于SRAM的成本昂贵,其发展受到了严重的限制,目前仅有少量的网络服务器以及路由器上使用了SRAM。
DRAM的应用比SRAM要广泛多了。DRAM的结构较SRAM要简单许多,它的内部仅仅由一个MOS管和一个电容组成,因此,无论是集成度、生产成本以及体积,DRAM都比SRAM具有优势。目前,随着PC机的不断发展,我们对于系统内存的要求越来越大,随着WindowXP的推出,软件对于内存的依赖更加明显:在WindowsXP中,专业版至少需要180MB内存以上,而在实际使用中,128MB才能保证系统正常运行。因此,随着PC的发展,内存的容量将不断扩大,速度也会不断提升。
好了,下面我们在来说一下内存的速度问题。我们选择内存的速度,决定于你选用CPU的前端总线,例如你用的是P4A那你不需要用DDR400才能满足3.2G带宽得需要因为P4A的前端总线是400MHZ,普通得DDR266能够提供2。1GB的带宽,此种内存适用于ATHLONXP低频以及毒龙等中低端配置.已经不在主流市场之内。DDR333能够提供2.7GB的内存带宽适用于AMD166MHZ外频的巴顿处理器。而DDR400内存以及DDR433 DDR450内存将能够提供3.2GB以上的内存带宽,主要应用在INTEL高端的P4C P4E上以及ATHLON64上面。当然,上文所述的仅仅是能够满足硬件系统的最低要求,由于p4的前端总线的提高,内存和CPU之间瓶颈问题已经十分严重,新的内窜技术必将产生.例如我们后面简要介绍到的双通道DDR和未来的DDR内存.当然,如果您拥有一颗像毒龙1.6G,ATHLONXP1800+(b0 1.5V低压版),P41.8A ,AthlonXP2000+ ,P42.4C 巴顿2500+这样的具有极品超品潜力的CPU那么我推荐您购买高一个性能档次的内存,例如Athlon2000+配合......余下全文>>
经常见到的内存按出现的先后为:EDO,SD,DDR,DDR2,DDR3。
而实际上内存种类很多。
根据组成元件的不同,RAM内存又分为以下十八种:
01.DRAM(Dynamic RAM,动态随机存取存储器):
这是最普通的RAM,一个电子管与一个电容器组成一个位存储单元,DRAM将每个内存位作为一个电荷保存在位存储单元中,用电容的充放电来做储存动作,但因电容本身有漏电问题,因此必须每几微秒就要刷新一次,否则数据会丢失。存取时间和放电时间一致,约为2~4ms。因为成本比较便宜,通常都用作计算机内的主存储器。
02.SRAM(Static RAM,静态随机存取存储器)
静态,指的是内存里面的数据可以长驻其中而不需要随时进行存取。每6颗电子管组成一个位存储单元,因为没有电容器,因此无须不断充电即可正常运作,因此它可以比一般的动态随机处理内存处理速度更快更稳定,往往用来做高速缓存。
03.VRAM(Video RAM,视频内存)
它的主要功能是将显卡的视频数据输出到数模转换器中,有效降低绘图显示芯片的工作负担。它采用双数据口设计,其中一个数据口是并行式的数据输出入口,另一个是串行式的数据输出口。多用于高级显卡中的高档内存。
04.FPM DRAM(Fast Page Mode DRAM,快速页切换模式动态随机存取存储器)
改良版的DRAM,大多数为72Pin或30Pin的模块。传统的DRAM在存取一个BIT的数据时,必须送出行地址和列地址各一次才能读写数据。而FRM DRAM在触发了行地址后,如果CPU需要的地址在同一行内,则可以连续输出列地址而不必再输出行地址了。由于一般的程序和数据在内存中排列的地址是连续的,这种情况下输出行地址后连续输出列地址就可以得到所需要的数据。FPM将记忆体内部隔成许多页数Pages,从512B到数KB不等,在读取一连续区域内的数据时,就可以通过快速页切换模式来直接读取各page内的资料,从而大大提高读取速度。在96年以前,在486时代和PENTIUM时代的初期,FPM DRAM被大量使用。
05.EDO DRAM(Extended Data Out DRAM,延伸数据输出动态随机存取存储器)
这是继FPM之后出现的一种存储器,一般为72Pin、168Pin的模块。它不需要像FPM DRAM那样在存取每一BIT 数据时必须输出行地址和列地址并使其稳定一段时间,然后才能读写有效的数据,而下一个BIT的地址必须等待这次读写操作完成才能输出。因此它可以大大缩短等待输出地址的时间,其存取速度一般比FPM模式快15%左右。它一般应用于中档以下的Pentium主板标准内存,后期的486系统开始支持EDO DRAM,到96年后期,EDO DRAM开始执行。。
06.BEDO DRAM(Burst Extended Data Out DRAM,爆发式延伸数据输出动态随机存取存储器)
这是改良型的EDO DRAM,是由美光公司提出的,它在芯片上增加了一个地址计数器来追踪下一个地址。它是突发式的读取方式,也就是当一个数据地址被送出后,剩下的三个数据每一个都只需要一个周期就能读取,因此一次可以存取多组数据,速度比EDO DRAM快。但支持BEDO DRAM内存的主板可谓少之又少,只有极少几款提供支持(如VIA APOLLO VP2),因此很快就被DRAM取代了。
07.MDRAM(Multi-Bank DRAM,多插槽动态随机存取存储器)
MoSys公司提出的一种内存规格,其内部分成......余下全文>>