CN110659315A - 基于非易失性存储***的高性能非结构化数据库服务 - Google Patents
基于非易失性存储***的高性能非结构化数据库服务 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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为写数据):
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软硬件***实现对接。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024021107A1 (zh) * | 2022-07-29 | 2024-02-01 | 西门子股份公司 | 工业数据的存储方法及装置 |
Citations (4)
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 | 华中科技大学 | 一种强一致性的分布式键值数据库***及其读写方法 |
-
2019
- 2019-08-06 CN CN201910723095.2A patent/CN110659315B/zh active Active
Patent Citations (4)
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)
Title |
---|
SUDARSUN KANNAN等: "Redesigning LSMs for Nonvolatile Memory with NoveLSM", 《PROCEEDINGS OF THE 2018 USENIX ANNUAL TECHNICAL CONFERENCE》 * |
Cited By (1)
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 |
---|---|---|
US11163699B2 (en) | Managing least recently used cache using reduced memory footprint sequence container | |
CN103019962B (zh) | 数据缓存处理方法、装置以及*** | |
CN102142006B (zh) | 分布式文件***的文件处理方法及装置 | |
US8555019B2 (en) | Using a migration cache to cache tracks during migration | |
US20150278274A1 (en) | Retrieving data in a storage system using thin provisioning | |
CN104765575B (zh) | 信息存储处理方法 | |
US20150127880A1 (en) | Efficient implementations for mapreduce systems | |
CN103838676B (zh) | 数据存储***、数据存储方法及pcm桥 | |
CN103399823B (zh) | 业务数据的存储方法、设备和*** | |
CN103873559A (zh) | 一种高速存储的数据库一体机 | |
CN102609305A (zh) | 一种服务器集群中内存共享方法 | |
US10360189B2 (en) | Data object storage across multiple storage nodes | |
JP2018520420A (ja) | ハイブリッドオブジェクトストレージデバイスのためのキャッシュアーキテクチャおよびアルゴリズム | |
CN106066890A (zh) | 一种分布式高性能数据库一体机*** | |
CN104765574A (zh) | 数据云端存储方法 | |
US20180137043A1 (en) | Re-Use of Invalidated Data in Buffers | |
US10891150B2 (en) | Storage control method and storage controller for user individual service environment | |
US10459641B2 (en) | Efficient serialization of journal data | |
US20240160603A1 (en) | Data input/output method using storage node-based key-value store | |
CN110659315B (zh) | 基于非易失性存储***的高性能非结构化数据库服务 | |
CN107577492A (zh) | 加速文件***读写的nvm块设备驱动方法及*** | |
CN113296691B (zh) | 数据处理***、方法、装置以及电子设备 | |
CN110659305A (zh) | 基于非易失存储***的高性能关系型数据库服务 | |
CN111462790A (zh) | 在存储服务器中进行基于管线的存取管理的方法及设备 | |
WO2024021470A1 (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 |