0 引言
随着互联网飞速发展以及大规模应用的不断涌现,目前已经步入了大数据时代。非结构化数据逐渐替代了传统结构化数据并迅速占据了主导地位,为了管理形式多样的非结构化数据,涌现了诸如MongoDB[1]、InfluxDB[2]、Elasticsearch[3]等十分有代表性的数据库。这些数据库虽然针对非结构化数据的存取做了很多优化,但是受限于硬盘(Hard Disk Drive,HDD)等底层存储介质,往往无法满足高性能场景的需求。
为了提高性能,以Redis为代表的内存数据库应运而生。Redis是一个非结构化数据库,支持使用非结构化语言(Not-only Structured Query Language,NoSQL)查询。同时,Redis通过I/O(Input/Output)多路复用和DRAM(Dynamic Random Access Memory)提供了高吞吐、高并发和低时延的服务,在数据缓冲、消息队列、Key-Value存储等场景都发挥了重要的作用。
但是随着大规模计算集群的算力逐渐增大,应用的数据规模也随之变大,计算和I/O之间的“存储墙”也变得愈发明显。现有的Redis也遇到一些网络和存储方面的问题。因此如何改进Redis也受到了广泛的重视,随之出现了很多Redis优化的相关工作,它们从各种角度对Redis服务端或客户端做了改进。
本文详细内容请下载:http://www.chinaaet.com/resource/share/2000003907。
作者信息:
刘世超1,2,杨 斌1,2,刘卫国1,2
(1.山东大学 软件学院,山东 济南250101;2.国家超级计算无锡中心,江苏 无锡214072)
