CN106777166A - 一种利用Docker容器进行虚拟内存数据库存储的实现方法 - Google Patents
一种利用Docker容器进行虚拟内存数据库存储的实现方法 Download PDFInfo
- Publication number
- CN106777166A CN106777166A CN201611189171.9A CN201611189171A CN106777166A CN 106777166 A CN106777166 A CN 106777166A CN 201611189171 A CN201611189171 A CN 201611189171A CN 106777166 A CN106777166 A CN 106777166A
- Authority
- CN
- China
- Prior art keywords
- data
- carried out
- virtual
- docker
- disk
- 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.)
- Pending
Links
Classifications
-
- 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
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及虚拟存储设计技术领域,特别涉及一种利用Docker容器进行虚拟内存数据库存储的实现方法。本发明的一种利用Docker容器进行虚拟内存数据库存储的实现方法,是在磁盘和物理内存之间构建Docker容器虚拟数据库,所述的Docker容器虚拟数据库内存有磁盘数据库中对应的数据副本,所述的副本包含实际数据经常访问的信息,用户通过程序直接访问Docker容器虚拟数据库中的数据副本。本发明的一种利用Docker容器进行虚拟内存数据库存储的实现方法,其能够模拟内存数据库存储数据的同时,扩大了数据库的容量,提高了数据访问的效率。
Description
技术领域
本发明涉及虚拟存储设计技术领域,特别涉及一种利用Docker容器进行虚拟内存数据库存储的实现方法。
背景技术
内存数据库是指在内存中直接进行数据的存储操作,是一种存放在内存中的数据库,它具有高效的访问效率,能够极大地提高数据处理能力。
数据库访问是从数据库中进行数据的存储操作,磁盘数据库存放数据的位置是物理磁盘中,程序访问磁盘的速度低,影响数据处理的效率。
要提高数据访问的效率,可以分为四个层次,一是减少对数据的访问,即减少磁盘的访问;二是返回更少的数据,即减少网络传输或磁盘访问;三是减少交互次数;四是减少服务器CPU的开销。
Docker是一个开源的容器引擎,Docker架构允许多个容器共享同一个内核的情况下完全隔离运行,它对于操作系统没有要求,可以实现轻量级的虚拟环境。Docker中容器停止后,对其中的操作会丢失,类似于内存的数据存储特性,且容器中数据存储相比磁盘速度高。
Docker具有简单、高效、快捷的迭代策略,能够将配置更新及时反映到生产环境中,具有高效的自动化管理能力。
现有技术下,针对物理磁盘中的内存数据库的处理效率受到限制。
发明内容
为了解决现有技术的问题,本发明提供了一种利用Docker容器进行虚拟内存数据库存储的实现方法,其能够模拟内存数据库存储数据的同时,扩大了数据库的容量,提高了数据访问的效率。
本发明所采用的技术方案如下:
一种利用Docker容器进行虚拟内存数据库存储的实现方法,是在磁盘和物理内存之间构建Docker容器虚拟数据库,所述的Docker容器虚拟数据库内存有磁盘数据库中对应的数据副本,所述的副本包含实际数据经常访问的信息,用户通过程序直接访问Docker容器虚拟数据库中的数据副本。
Docker容器虚拟数据库分为高频访问数据层、固定访问数据层和索引层三层结构,用户访问数据时,逐层进行遍历,索引层中对应磁盘数据库相应数据的索引,在上面两层遍历无果时,进行磁盘数据库访问。
用户访问Docker容器虚拟数据库的速度介于物理内存访问和磁盘访问之间。
本发明是采用Docker容器方式在磁盘与物理内存之间构建一个虚拟环境,将存储在磁盘上的数据库进行映射,程序可以访问虚拟数据库中的数据资源,访问速度介于内存访问和磁盘访问之间,扩大了数据库存储的容量。
本发明提供的技术方案带来的有益效果是:
利用Docker容器在内存与磁盘交互的中间层构建一个虚拟环境,简称虚拟数据库,该数据库中存有磁盘数据库对应的数据简易副本,该副本包含实际数据经常访问的信息,用户可以通过程序直接访问虚拟数据库中的数据,同时,将虚拟数据库进行分层管理,分为高频访问数据层、固定访问数据层和索引层三层结构。用户访问数据时,逐层进行遍历。索引层中对应磁盘数据库相应数据的索引,在上面两层遍历无果时,进行磁盘数据库访问,通过此过程,模拟内存数据库存储数据的同时,扩大了数据库的容量,提高了数据访问的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种利用Docker容器进行虚拟内存数据库存储的实现方法的实现原理图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
如附图1所示,使用Docker创建一个虚拟内存环境,该环境中保存磁盘数据库中的数据副本,该环境类似于Cache作用,称为Docker容器虚拟数据库。采用容器配置文件配置容器,将虚拟数据库进行分层处理,分为高频访问数据层、固定访问数据层和索引层三层。
高频访问数据层中包含程序最常访问的数据副本,通过磁盘调度算法进行该层数据的填充操作;固定数据访问层是某一程序固定访问的数据层,例如系统登录程序固定访问用户数据等。索引层是虚拟数据库与磁盘数据库之间的映射层,当上两层没有对应的数据资源时,通过索引层进行磁盘数据的访问。
依据“最长时间未访问则替换”的原则,当高频访问层中的数据需要进行替换时,则查找该层最长时间未访问的数据元组,进行替换;设置替换的元组数量,可以进行批量的替换。替换原则、替换数目等属性可以通过容器配置文件进行设置。
用户访问数据时,逐层进行遍历。索引层中对应磁盘数据库相应数据的索引,在上面两层遍历无果时,最终进行磁盘数据库访问。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种利用Docker容器进行虚拟内存数据库存储的实现方法,是在磁盘和物理内存之间构建Docker容器虚拟数据库,所述的Docker容器虚拟数据库内存有磁盘数据库中对应的数据副本,所述的副本包含实际数据经常访问的信息,用户通过程序直接访问Docker容器虚拟数据库中的数据副本。
2.根据权利要求1所述的一种利用Docker容器进行虚拟内存数据库存储的实现方法,其特征在于,所述的Docker容器虚拟数据库分为高频访问数据层、固定访问数据层和索引层三层结构,用户访问数据时,逐层进行遍历,索引层中对应磁盘数据库相应数据的索引,在上面两层遍历无果时,进行磁盘数据库访问。
3.根据权利要求1所述的一种利用Docker容器进行虚拟内存数据库存储的实现方法,其特征在于,用户访问Docker容器虚拟数据库的速度介于物理内存访问和磁盘访问之间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611189171.9A CN106777166A (zh) | 2016-12-21 | 2016-12-21 | 一种利用Docker容器进行虚拟内存数据库存储的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611189171.9A CN106777166A (zh) | 2016-12-21 | 2016-12-21 | 一种利用Docker容器进行虚拟内存数据库存储的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106777166A true CN106777166A (zh) | 2017-05-31 |
Family
ID=58896729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611189171.9A Pending CN106777166A (zh) | 2016-12-21 | 2016-12-21 | 一种利用Docker容器进行虚拟内存数据库存储的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106777166A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947789A (zh) * | 2019-01-28 | 2019-06-28 | 平安科技(深圳)有限公司 | 一种多数据库的数据处理的方法、装置、计算机设备及存储介质 |
CN111259380A (zh) * | 2017-08-22 | 2020-06-09 | 海光信息技术有限公司 | 内存页转移方法和函数调用方法 |
CN113032390A (zh) * | 2021-02-05 | 2021-06-25 | 浙江大学 | 一种内存数据库中的工作负载自适应学习型索引方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737127A (zh) * | 2012-06-20 | 2012-10-17 | 厦门聚海源物联网络技术有限公司 | 一种海量数据存储方法 |
CN102955845A (zh) * | 2012-10-23 | 2013-03-06 | 北京亿赞普网络技术有限公司 | 数据访问方法、装置与分布式数据库系统 |
CN104463492A (zh) * | 2014-12-23 | 2015-03-25 | 国家电网公司 | 一种电力系统云仿真平台的运营管理方法 |
-
2016
- 2016-12-21 CN CN201611189171.9A patent/CN106777166A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737127A (zh) * | 2012-06-20 | 2012-10-17 | 厦门聚海源物联网络技术有限公司 | 一种海量数据存储方法 |
CN102955845A (zh) * | 2012-10-23 | 2013-03-06 | 北京亿赞普网络技术有限公司 | 数据访问方法、装置与分布式数据库系统 |
CN104463492A (zh) * | 2014-12-23 | 2015-03-25 | 国家电网公司 | 一种电力系统云仿真平台的运营管理方法 |
Non-Patent Citations (2)
Title |
---|
LIMENGJUN112: "内存数据库的原理及应用", 《百度文库》 * |
田玉靖等: "基于docker的redis缓存架构的研究", 《电脑知识与技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259380A (zh) * | 2017-08-22 | 2020-06-09 | 海光信息技术有限公司 | 内存页转移方法和函数调用方法 |
CN109947789A (zh) * | 2019-01-28 | 2019-06-28 | 平安科技(深圳)有限公司 | 一种多数据库的数据处理的方法、装置、计算机设备及存储介质 |
CN109947789B (zh) * | 2019-01-28 | 2023-12-19 | 平安科技(深圳)有限公司 | 一种多数据库的数据处理的方法、装置、计算机设备及存储介质 |
CN113032390A (zh) * | 2021-02-05 | 2021-06-25 | 浙江大学 | 一种内存数据库中的工作负载自适应学习型索引方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303646B2 (en) | Memory sharing for working data using RDMA | |
US11175832B2 (en) | Thread groups for pluggable database connection consolidation in NUMA environment | |
Liao et al. | Multi-dimensional index on hadoop distributed file system | |
CN109299113B (zh) | 具有存储感知的混合索引的范围查询方法 | |
US10275489B1 (en) | Binary encoding-based optimizations at datastore accelerators | |
CN105938458B (zh) | 软件定义的异构混合内存管理方法 | |
CN104850572A (zh) | HBase非主键索引构建与查询方法及其系统 | |
CN103455531B (zh) | 一种支持高维数据实时有偏查询的并行索引方法 | |
WO2018120171A1 (zh) | 一种用于存储过程的执行方法、设备以及系统 | |
CN110188108A (zh) | 数据存储方法、装置、系统、计算机设备及存储介质 | |
CN106777166A (zh) | 一种利用Docker容器进行虚拟内存数据库存储的实现方法 | |
US11513854B1 (en) | Resource usage restrictions in a time-series database | |
CN110597935A (zh) | 一种空间分析方法和装置 | |
CN103617276A (zh) | 一种分布式层次化的rdf数据的存储方法 | |
WO2024131542A1 (zh) | 存储数据的方法、装置、计算机设备、产品及存储介质 | |
CN108520296B (zh) | 一种基于深度学习芯片动态cache分配的方法和装置 | |
CN104424189B (zh) | 基于云平台的定位解算方法和系统 | |
CN104571946B (zh) | 一种支持逻辑电路快速查询的存储器装置及其访问方法 | |
US10146833B1 (en) | Write-back techniques at datastore accelerators | |
US20150363118A1 (en) | Techniques for harmonic-resistant file striping | |
US9922090B1 (en) | System and method for automatic vertical decomposition of a table for improving input/output and memory utilization in a database | |
CN104391947B (zh) | 海量gis数据实时处理方法及系统 | |
CN110096515A (zh) | 一种基于三元组的rdf数据管理方法、装置及存储介质 | |
CN107276833A (zh) | 一种节点信息管理方法及装置 | |
CN109246660A (zh) | 一种管理本体的方法以及m2m平台 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |
|
RJ01 | Rejection of invention patent application after publication |