Home  >  Article  >  Database  >  几种内存数据的总结

几种内存数据的总结

WBOY
WBOYOriginal
2016-06-07 15:59:001251browse

MemSQL 原理:将不用锁的数据结构和即时编译器结合起来应对大容量的工作负载,在内存中实现了免锁的hashtable和免锁skiplists(一种层级关系的链表结构)来快速随机访问数据。 持久性:MemSQL尽管在内存中存数据,可以通过写日志和快照(类于checkpoint)对

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机将不影响任何计算,成本特别贵,几千万。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:JDBC数据库连接Next article:数据库的优化tips