论文部分内容阅读
非关系型数据库(NoSQL)是一项具有许多吸引人的特性的新兴技术:具有横向扩展能力,能够跨多个服务器复制和分区数据,并且具有灵活的模式结构,因此可以管理高度非结构化的数据。此外,大数据的爆炸式增加了公司和企业对NoSQL技术的使用,认识到NoSQL数据模型是处理大量结构化,半结构化和非结构化数据的更好解决方案。NoSQL数据库的设计注重性能和灵活性。 键值数据库(KVDB)是在高性能,数据密集型和横向扩展环境中使用的最简单的NoSQL数据库类型。它实际上是所有NoSQL数据库的基础。特别是在内存键值数据库(IMKVDB)中,用于满足实时应用中不断增长的高性能数据处理需求。现有的内存数据库(IMDB)都依赖于辅助存储(如磁盘和SSD)来持久维护真实的数据库。这大大降低了IMKVDB的性能。后来,IMDB利用新兴的非易失性存储器(NVM)技术,通过在NVM上部署数据库提供了改善IMDB性能的机会。尽管在NVM中部署了IMDB,例如Flash和PCM,但它们仍然通过底层文件系统将数据库镜像存储在永久存储器中。这意味着,数据库操作的性能会因备份机制和I/O操作而降低。因此,IMKVDB无法充分利用NVM提供的强大功能。因此,我们可能会重新思考如何优化和设计IMKVDB以充分利用NVM的特性。 首先,论文讨论了下一代数据库领域的新进展,称为NoSQL数据库。它描述了NoSQL的背景,基本特征和数据模型。为了验证关于从关系数据库到NoSQL数据库的理论讨论在实践中是可行的,我们提供性能基准工具。性能评估比较了MongoDB作为NoSQL数据库和MySQL作为关系数据库的插入和检索速度。执行的基准测试表明,在我们选择的大多数场景中,MongoDB比MySQL更快,特别是当我们处理大量数据时。 非易失性存储器技术的优势和现代企业工作负载的需求需要在数据库管理系统中进行若干关键转变。因此,该论文涉及了解IMDB所需的变化以支持这些下一代存储技术。基于此分析,我们提出了原始非易失性存储器内存键值数据库的新设计框架,称为UDORN,它可充分利用非易失性存储器的优势。在UDORN中,NVM上的永久性数据库被用来完成常规内存数据库和永久映像的功能。在运行时期间,持久性数据库被映射到进程地址空间。这些操作通过相应的地址空间直接在NVM上执行。我们基于开源内存KVDB Redis实施了UDORN案例研究。与原来的Redis相比,当Redis分别在HDD和内存上部署备份映像时,UDORN的性能提高了1400倍以上,性能提高了84%。与使用NVM库的增强型Redis相比,UDORN也实现了六倍的性能提升。 数据库索引对加快访问数据密集型系统(如数据库)中的特定字段具有重大影响。树一样的结构被广泛用作指标结构;然而,我们发现通常用于内存数据库的T*-Tree在现代硬件环境下可能无法在DRAM上执行得很好。因此,本文实现了用于主存储器的T*-Tree和B+Tree的技术。这两个索引结构在现代硬件上进行了测试。与之前的实验结果不同,我们的测试表明,在大多数测试用例中,B+Tree比T*-Tree快。