IBM solidDB是一个专为用户获取极高的速度和可用性的内存数据库,用户既可以单独部署作为独立的数据库支持应用程序,也可以部署为其它关系型数据库的加速缓存以提高应用程序性能。
IBM solidDB
其中,IBM solidDB Universal Cache功能将这些数据库中存储的性能关键型数据缓存到solidDB Universal Cache中,加快领先关系数据库的速度。solidDB Universal Cache 功能使用检查点和事务日志将数据持久保存在 磁盘上,从而保持数据耐久性。
除了SAP、IBM和甲骨文等IT巨头推出的软硬件的部署内存分析平台,在开源市场,Spark也越来越多的得到用户的关注,这个在开源领域可以说能够跟OpenStack相提并论。
Spark的核心机制方面主要由两个层面构成,首先是RDD(Resilient Distributed Datasets),RDD是Spark的最基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现,它表示已被分区,不可变的并能够被并行操作的数据集合,并且通常缓存到内存中,并且每次对RDD数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存中输入,省去了Map Reduce框架中由于Shuffle操作所引发的大量磁盘IO。
其次,在RDD上面执行的算子(Operator),在Spark的支持算子方面,主要有转换(Transformation)和操作(Action)这两大类。在转换方面支持算子有map, filter,groupBy和join等,而在操作方面支持算子有count,collect和save等。
Spark常见存储数据的格式是Key-Value,也就是Hadoop标准的Sequence File,但同时也听说支持类似Parquet这样的列存格式。Key-Value格式的优点在于灵活,上至数据挖掘算法,明细数据查询,下至复杂SQL处理都能承载,缺点也很明显就是存储空间比较浪费,和类似Parquet列存格式相比更是如此,key-Value格式数据一般是原始数据大小的2倍左右,而列存一般是原始数据的1/3到1/4。
当下Spark已不止步于实时计算,目标直指通用大数据处理平台,而终止Shark,开启SparkSQL或许已经初见端倪。
因此,尽管它今天看起来可能仍是昂贵的,但内存计算最终的总拥有成本更低将会被证明,因为它性能更强。在内存计算方面,SAP、甲骨文、IBM以及开源Spark都快速发展,随着新一轮的至强E7 v3处理器的发布,相信会给内存分析带来新的动力。