CN110659315A - 基于非易失性存储系统的高性能非结构化数据库服务 - Google Patents

基于非易失性存储系统的高性能非结构化数据库服务 Download PDF

Info

Publication number
CN110659315A
CN110659315A CN201910723095.2A CN201910723095A CN110659315A CN 110659315 A CN110659315 A CN 110659315A CN 201910723095 A CN201910723095 A CN 201910723095A CN 110659315 A CN110659315 A CN 110659315A
Authority
CN
China
Prior art keywords
nvram
data
memory
file system
performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910723095.2A
Other languages
English (en)
Other versions
CN110659315B (zh
Inventor
赵继胜
吴宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Fu Dian Intelligent Technology Co Ltd
Original Assignee
Shanghai Fu Dian Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Fu Dian Intelligent Technology Co Ltd filed Critical Shanghai Fu Dian Intelligent Technology Co Ltd
Priority to CN201910723095.2A priority Critical patent/CN110659315B/zh
Publication of CN110659315A publication Critical patent/CN110659315A/zh
Application granted granted Critical
Publication of CN110659315B publication Critical patent/CN110659315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models

Abstract

本发明提供了一种通过非易失性存储系统对非结构化数据库(NoSQL DB)进行性能加速的技术。针对目前各类数据采集、分析系统中广泛应用的NoSQL数据库系统对性能提升的要求,引入非易失存储系统,通过对NoSQL DB的文件缓存系统进行加速(通过非易失存储),从而提升数据读写效率速度并保障数据安全。本项发明包含两方面创新:1.在数据库与文件系统交互的读写缓存之上应用NVRAM(非易失性内存);2.通过多副本数据调度算法实现对NVRAM资源的有效利用。在提升云计算和物联网边缘计算数据分析系统效能方面具有良好的适用性。

Description

基于非易失性存储系统的高性能非结构化数据库服务
技术领域
本发明属于涉及信息技术领域,尤其是涉及用于支持云计算和边缘计算数据管理系统,采用非易失性存储(NVRAM)技术为非结构化数据管理系统(NoSQL DB)带来的I/O性能提升。
背景技术
近年来,随着云计算和边缘计算技术的飞速发展和相关应用的不断落地,以数据采集、分析和处理为基础的智能化数据应用开始飞速增加。该类应用涉及海量非结构化数据信息的存储、管理、索引和查询,对数据库系统的性能提出了新的挑战。特别是不断发展的图形图像识别、工业自动化、智能制造领域对海量数据进行管理的需求,提升用于存储、管理非结构化数据的NoSQL DB性能已经是各个软硬件厂商所共同面临的问题。
基于上述技术要求,本项专利提供了通过采用非易失性存储(NVRAM)来加速NoSQLDB的内存数据表的方式来提升数据库系统的读写性能和吞吐量。本项发明通过将NoSQL DB内存数据表分层化,增加以NVRAM实现的缓存层(参考附图1),在兼顾数据完整性的同时,实现对数据响应能力的提升,同时不需要用户进行系统的完全重构而实现性能升级。
发明内容
针对云计算和边缘计算对存储和管理非结构化数据的性能方面的需求,本发明的目的是提供一种可以快速、便捷的提升非结构化数据存储系统:NoSQL DB(例如HBase,Cassandra)的以非易失性存储系统(NVRAM)硬件为基础、结合软件驱动程序的软硬件结合性能加速技术。本项技术主要以软件驱动对数据库系统的优化为主,即通过软件技术来利用NVRAM的高速I/O能力和数据持久化能力,实现对非结构化数据存取、查询的加速(参见附图2)。使用者需要在数据库系统所在的服务器上安装NVRAM硬件和数据库与NVRAM硬件对接的软件驱动程序。
NoSQL DB通常为两层数据存储系统:内存表和日志数据、分布式文件系统接口层(永久化存储)(参见附图5)。内存表和日志存放在内存数据结构memtable中,该数据结构通常为256MB,对于超出的数据,系统自动扩展一个新的memtable,每个memtable对应一个管理驱动程序。对于日志数据,有单独的数据管理驱动来负责内存和文件系统间的数据持久化。这里之所以采用分布式文件系统接口层,是因为NoSQL DB通常构建于分布式文件系统之上,以保障数据高可用。NoSQL DB的数据读写操作可简要概括为:
1.读操作,从memtable(内存表)中读取数据,如果读取失败(数据没有缓存在memtable列表中),则通过memtable驱动程序从文件系统中提取数据,并将文件系统的数据块以memtable的形式加载到内存中(如果内存已满,则替换掉最近访问次数最低的数据块);
2.写操作,向memtable(内存表)中写入数据,如果超出范围(目的地址不在memtable列表中),则通过文件系统加载对应memtable,或创建新的memtable(如果内存已满,则替换掉最近访问次数最低的数据块);
3.写操作,像文件系统更新memtable,以保障写数据的持久化;
4.日志数据由单独的数据结构存储,并直接和文件系统交互,一个日志数据结构通常对应同一物理服务器的所有memtable。
本项发明将NoSQL DB的数据存储扩展为三层:内存表和日志数据、NVRAM数据层、分布式文件系统接口层(永久化存储)(参见附图4)。中间加入NVRAM数据层,利用NVRAM的接近内存的读写速度和数据不丢失(掉电情况下),起到高速磁盘的作用。
对于NVRAM的管理,本项发明提供专门的驱动以替代对memtable和日志数据的驱动软件,驱动软件系统架构分三层:内存表数据结构管理、读写调度、文件层持久化(参见附图3)。与标准NoSQL DB实现不同的是:
1.NVRAM数据驱动管理多个memtable,因此实现了将更大量的数据暂存在高速存储系统中,而原先memtable驱动程序直接将memtable写入文件系统;
2.多个memtable的数据写入NVRAM,当提NVRAM空间达到上限时,写入文件系统,意味着更大的高速数据缓存,提升了数据库系统中对读操作的响应速度;
3.对于写操作和日志数据,NVRAM可以实现更多的写操作聚合,避免了高频率文件系统操作;
4.鉴于NVRAM的非易失性,即使物理服务器掉电,数据仍可由NVRAM进行恢复,特别是日志数据,可以有效保障数据完整性和高可用。
由NVRAM驱动程序实现的数据读写策略:
1.读操作,从memtable(内存表)中读取数据,如果读取失败(数据没有缓存在memtable列表中),则通过NVRAM驱动程序从NVRAM中读取数据,并将NVRAM中的数据块以memtable的形式加载到内存中(如果内存已满,则替换掉最近访问次数最低的数据块);
2.读操作,从NVRAM读取数据,如果读取失败,文件系统中提取数据,并将文件系统中的数据块提取至NVRAM(如果NVRAM已满,则替换掉最近访问次数最低的数据块),然后以memtable的形式加载到内存中(如果内存已满,则替换掉最近访问次数最低的数据块);
3.写操作,向memtable(内存表)中写入数据,如果超出范围(目的地址不在memtable列表中),则通过NVRAM驱动从NVRAM加载对应memtable,或创建新的memtable(如果内存已满,则替换掉最近访问次数最低的数据块);
4.写操作,向NVRAM中写入数据,如果超出范围(目的地址不在NVRAM中),则通过NVRAM驱动从文件系统加载对应数据块,或创建新的数据块(如果NVRAM已满,则替换掉最近访问次数最低的数据块),并将该数据块以memtable的形式加载至内存中(如果内存已满,则替换掉最近访问次数最低的数据块);
5.写操作,向NVRAM更新memtable,以保障写数据的持久化;
6.写操作,向文件系统更新NVRAM管理的memtable,以保障写数据的持久化;
7.日志数据由NVRAM管理,读写直接在NVRAM上操作,当日志数据结构超出NVRAM给定的缓存空间时,将其写入文件系统。
本项发明的上述技术方案有益结果如下:
云计算边缘计算应用通常涉及与人工智能结合的海量数据处理(例如对大规模视频流的采集和图像帧筛选识别),因此对提升用于存储和管理非结构化数据的NoSQL DB的I/O性能提出很高的要求。通常会采用高速闪存系统和大容量内存解决数据块节点的性能,本项发明所述的技术方案提供一种用于采用NVRAM作为高速缓存层的实现方法,对应于NoSQL DB通用的定长内存表数据结构(例如256MB memtable)作为基础数据块的读写方式,使用NVRAM在内存和文件系统之间对多个memtable进行缓存和管理,提升了读命中率和读写速度,降低了对文件系统的I/O频率,也避免了分布式文件系统在高频度写入时引发的带宽拥塞问题。本项发明以通用的NVRAM卡作为硬件实现,提供以软件驱动方式的数据块扩展,实现了上述高速缓存系统,可作为一种便捷、实用的数据加速技术为云计算和边缘计算设备提升效率。
附图说明
图1 NVRAM加速技术架构,相对于标准NoSQLDB系统逻辑架构的变化
图2 NVRAM加速系统驱动程序的功能和对应数据接口
图3 NVRAM加速系统驱动程序逻辑架构
图4 NVRAM加速系统存储系统架构
图5标准NoSQLDB存储系统架构
图6标准NoSQLDB驱动程序功能和对应数据接口
具体实施方式
本发明分为硬件和软件两部分实现,硬件部分由NVRAM设备实现,可采用目前Intel公司的Optane NVRAM系统。该系统以PCIe接口实现与x86server的对接,其硬件设备驱动支持主流Linux和Windows系统。因此可以方便的在目前的主流数据平台实现。
软件系统以主流NoSQL DB系统为对象,包括HBase,Cassandra,MongoDB。提供针对上述数据块系统的内存数据管理驱动程序(NVRAM驱动,参见附图2)以替代其原有的内存数据管理模块(参见附图6)。通过引入对NVRAM作为数据缓冲层的管理和操作能力,将对接内存的数据缓冲由文件系统替换为NVRAM,提升了I/O效率,起到读写加速能力。具体的数据读写操作定义,参见下列伪代码实现(get为读数据,put为写数据):
Figure BDA0002157929650000031
Figure BDA0002157929650000041
FindKey函数在处理写操作时,如果找不到对应数据表,但存在足够的内存空间,将在内存中创建一个新的memtable,并将该memtable加入nvram设备维护的memtable列表。
用于确定‘最近访问次数’的时间区间通常设置为30分钟,跟进应用场景可以进行适当调整。

Claims (10)

1.基于非易失性存储系统的高性能非结构化数据库服务,包括:提供一种可以快速、便捷的提升非结构化数据存储系统:NoSQL DB(例如HBase,Cassandra,MongoDB)的以非易失性存储系统(NVRAM)硬件为基础、结合软件驱动程序的软硬件结合性能加速技术。本项技术主要以软件驱动对数据库系统的优化为主,即通过软件技术来利用NVRAM的高速I/O能力和数据持久化能力,实现对非结构化数据存取、查询的加速。使用者需要在数据库系统所在的服务器上安装NVRAM硬件和数据库与NVRAM硬件对接的软件驱动程序。采用NVRAM作为高速缓存层的实现方法,对应于NoSQL DB通用的定长内存表数据结构(例如256MB memtable)作为基础数据块的读写方式,使用NVRAM在内存和文件系统之间对多个memtable进行缓存和管理,提升了读命中率和读写速度,降低了对文件系统的I/O频率,也避免了分布式文件系统在高频度写入时引发的带宽拥塞问题。本项发明以通用的NVRAM卡作为硬件实现,提供以软件驱动方式的数据块扩展,实现了上述高速缓存系统,可作为一种便捷、实用的数据加速技术为云计算和边缘计算设备提升效率。对于读操作:分别从内存、NVRAM和分布式文件系统尝试读取数据,对比标准的NoSQL DB所采用的内存和分布式文件系统两层存储结构,引入NVRAM数据缓存层,可以有效提升读操作命中率,提升I/O效率;对于写操作:分别对内存、NVRAM和分布式文件系统尝试写入数据,对比对比标准的NoSQL DB所采用的内存和分布式文件系统两层存储结构,引入NVRAM数据缓存层,可以有效降低对分布式文件系统的操作频率。
2.基于非易失性存储系统的高性能非结构化数据库服务,其特征在于在NoSQL DB实现中使用NVRAM在内存和文件系统之间对多个memtable进行缓存和管理,提升了读命中率和读写速度。
3.基于非易失性存储系统的高性能非结构化数据库服务,其特征在于在NoSQL DB实现中使用NVRAM在内存和文件系统之间对多个memtable进行缓存和管理,降低了对文件系统的I/O频率。
4.基于非易失性存储系统的高性能非结构化数据库服务,其特征在于在NoSQL DB实现中使用NVRAM在内存和文件系统之间对多个memtable进行缓存和管理,避免了分布式文件系统在高频度写入时引发的带宽拥塞问题。
5.基于非易失性存储系统的高性能非结构化数据库服务,其特征在于在NoSQL DB实现中使用NVRAM驱动程序的方式替换原有的以内存表管理程序为主的数据存储管理系统,实现NVRAM缓存的管理和利用。
6.基于非易失性存储系统的高性能非结构化数据库服务,其特征在于在NoSQL DB实现了数据分层治理的策略,有效的利用NVRAM的数据持久化能力和高速读写能力,实现了非易失性高速数据缓存。
7.基于非易失性存储系统的高性能非结构化数据库服务,其特征在于在通过单个NVRAM驱动程序管理多个内存表数据结构,实现了对物理服务器资源的高效管理于整合。
8.基于非易失性存储系统的高性能非结构化数据库服务,其特征在于在通过NVRAM驱动程序管理日志存储,避免日志存储占用内存或直接访问本地磁盘带来的读写速率降低,同时通过NVRAM的非易失性来保持日志的完整性。
9.基于非易失性存储系统的高性能非结构化数据库服务,其特征在于在加速系统以NoSQLDB的插件形式实现,无需做系统级的软件更新。
10.基于非易失性存储系统的高性能非结构化数据库服务,其特征在于在加速系统使用标准的基于PCIe的NVRAM设备,可以由主流x86软硬件系统实现对接。
CN201910723095.2A 2019-08-06 2019-08-06 基于非易失性存储系统的高性能非结构化数据库服务 Active CN110659315B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910723095.2A CN110659315B (zh) 2019-08-06 2019-08-06 基于非易失性存储系统的高性能非结构化数据库服务

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910723095.2A CN110659315B (zh) 2019-08-06 2019-08-06 基于非易失性存储系统的高性能非结构化数据库服务

Publications (2)

Publication Number Publication Date
CN110659315A true CN110659315A (zh) 2020-01-07
CN110659315B CN110659315B (zh) 2020-11-20

Family

ID=69036430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910723095.2A Active CN110659315B (zh) 2019-08-06 2019-08-06 基于非易失性存储系统的高性能非结构化数据库服务

Country Status (1)

Country Link
CN (1) CN110659315B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024021107A1 (zh) * 2022-07-29 2024-02-01 西门子股份公司 工业数据的存储方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1258056A (zh) * 1999-11-30 2000-06-28 武汉东湖存储技术有限公司 以最大带宽工作的硬盘作高速缓存的串联式外存储器加速卡
CN1512353A (zh) * 2002-12-27 2004-07-14 国际商业机器公司 性能改善的数据存储和方法
CN1952917A (zh) * 2005-09-21 2007-04-25 三星电子株式会社 存储器控制器及具有存储器控制器的数据处理系统
CN103268318A (zh) * 2013-04-16 2013-08-28 华中科技大学 一种强一致性的分布式键值数据库系统及其读写方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1258056A (zh) * 1999-11-30 2000-06-28 武汉东湖存储技术有限公司 以最大带宽工作的硬盘作高速缓存的串联式外存储器加速卡
CN1512353A (zh) * 2002-12-27 2004-07-14 国际商业机器公司 性能改善的数据存储和方法
CN1952917A (zh) * 2005-09-21 2007-04-25 三星电子株式会社 存储器控制器及具有存储器控制器的数据处理系统
CN103268318A (zh) * 2013-04-16 2013-08-28 华中科技大学 一种强一致性的分布式键值数据库系统及其读写方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUDARSUN KANNAN等: "Redesigning LSMs for Nonvolatile Memory with NoveLSM", 《PROCEEDINGS OF THE 2018 USENIX ANNUAL TECHNICAL CONFERENCE》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024021107A1 (zh) * 2022-07-29 2024-02-01 西门子股份公司 工业数据的存储方法及装置

Also Published As

Publication number Publication date
CN110659315B (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
US10885005B2 (en) Disk optimized paging for column oriented databases
US11163699B2 (en) Managing least recently used cache using reduced memory footprint sequence container
CN103019962B (zh) 数据缓存处理方法、装置以及系统
US8555019B2 (en) Using a migration cache to cache tracks during migration
US20160132541A1 (en) Efficient implementations for mapreduce systems
CN104765575B (zh) 信息存储处理方法
CN102609305A (zh) 一种服务器集群中内存共享方法
US10360189B2 (en) Data object storage across multiple storage nodes
CN113312415A (zh) 用于数据库操作的近存储器加速
CN106066890A (zh) 一种分布式高性能数据库一体机系统
CN104765574A (zh) 数据云端存储方法
US10891150B2 (en) Storage control method and storage controller for user individual service environment
CN108733585B (zh) 缓存系统及相关方法
KR102471966B1 (ko) 스토리지 노드 기반의 키-값 스토어를 이용하는 데이터 입출력 방법
CN110659315B (zh) 基于非易失性存储系统的高性能非结构化数据库服务
CN104778100A (zh) 一种安全备份数据的方法
US20150186255A1 (en) Re-use of invalidated data in buffers
CN107220069B (zh) 一种针对非易失性内存的Shuffle方法
CN110659305B (zh) 基于非易失存储系统的高性能关系型数据库服务系统
US20190057121A1 (en) Predictable Allocation Latency in Fragmented Log Structured File Systems
CN111462790A (zh) 在存储服务器中进行基于管线的存取管理的方法及设备
WO2024021470A1 (zh) 一种跨区域的数据调度方法、装置、设备及存储介质
US9305036B2 (en) Data set management using transient data structures
Chen et al. Co-optimizing storage space utilization and performance for key-value solid state drives
CN103714022A (zh) 一种基于数据块的混合存储系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant