CN110019221B - 一种内存映像型数据库系统 - Google Patents
一种内存映像型数据库系统 Download PDFInfo
- Publication number
- CN110019221B CN110019221B CN201711361434.4A CN201711361434A CN110019221B CN 110019221 B CN110019221 B CN 110019221B CN 201711361434 A CN201711361434 A CN 201711361434A CN 110019221 B CN110019221 B CN 110019221B
- Authority
- CN
- China
- Prior art keywords
- data
- index
- database
- memory
- reading
- 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.)
- Active
Links
Images
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种内存映像型数据库系统,用于将数据从本地磁盘读入数据库,并在数据与内存地址间建立索引关系的数据读入模块,用于用户输入欲查询的数据并读取内存当中存在的数据读取模块,当数据从本地磁盘读入数据库内存时按特定的结构对数据重新进行组织;对数据重新建立额外的索引,形成数据索引基本结构;最后,完成数据的读入,通过建立索引关系,将数据库内存地址与数据关联起来,这样对数据进行检索时,只需要知道检索什么数据,就知道该数据的内存地址;通过内存地址读取数据,省去对数据的遍历和检索操作,极大地提高了数据的查询数据;本技术方案适合应用在大型数据读入与读出,数据量越大对数据的检索查询效果越明显。
Description
技术领域
本发明涉及计算机数据存储领域,特别是一种内存映像型数据库系统。
背景技术
数据库系统指带有数据库并利用数据库技术进行数据管理的计算机系统,传统存储方式是利用磁盘磁带存储介质进行存储,目前存在三种存储模式:
一是DAS存储:直接附加存储方式与我们普通的PC存储架构一样,外部存储设备都是直接挂接在服务器内部总线上,数据存储设备是整个服务器结构的一部分。
二是NAS存储:数据存储方式全面改进了以前低效的DAS存储方式。它采用独立于服务器,单独为网络数据存储而开发的一种文件服务器来连接所存储设备,自形成一个网络。这样数据存储就不再是服务器的附属,而是作为独立网络节点而存在于网络之中,可由所有的网络用户共享。
三是SAN存储:存储方式创造了存储的网络化。存储网络化顺应了计算机服务器体系结构网络化的趋势。SAN的支撑技术是光纤通道(FC Fiber Channel)技术。它是ANSI为网络和通道I/O接口建立的一个标准集成。FC技术支持HIPPI、IPI、SCSI、IP、ATM等多种高级协议,其最大特性是将网络和设备的通信协议与传输物理介质隔离开,这样多种协议可在同一个物理连接上同时传送。
传统存储模式存储性能较低,在检索数据时需要遍历数据库里面所有的数据,检索速度受到严重影响,特别数据量越大存在的问题越多,速度慢的问题越明显,因此,如何解决数据,内存地址的对应关系成为解决数据存储的一大研究方向。
发明内容
本发明旨在提出一种内存映像型数据库系统,通过在数据与内存地址之间建立对应关系,省去检索带来的时间浪费问题,使在运用数据库进行存储并检索读取数据变得更加快捷准确。
一种内存映像型数据库系统,包括数据读入模块、数据读取模块,
所述数据读入模块用于将数据从本地磁盘读入数据库,并在数据与内存地址间建立索引关系;
所述数据读取模块用于用户输入欲查询的数据并读取内存当中存在的数据,
所述数据读入模块的读入过程包括如下步骤:
S1:当数据从本地磁盘读入数据库内存时按特定的结构对数据重新进行组织;
S2:对数据重新建立额外的索引,形成数据索引基本结构;
S3完成数据的读入。
进一步的,所述数据索引基本结构为:IndexData[memAddress]={index:string,content:data}。
进一步的,所述数据索引是唯一索引,一个数据对应唯一的内存地址。
进一步的,所述索引关系的建立过程如下:
S1:将所要存储的数据读取到数据库内存的堆栈中;
S2:将堆栈中的数据提取索引值;
S3:将索引值转换为数据库的内存地址并存入数据库堆栈中。
进一步的,所述数据库系统当中一个数据和根据数据与内存地址之间建立的索引关系唯一的内存地址相对应。
进一步的,所述数据索引与内存地址的对应过程包括如下步骤:
S1:获取该数据的索引字段;
S2:顺序获取该索引字段的值;
S3:将值转换为十六进制;
S4:将该十六进制与内存地址的十六进制建立一一对应关系。
相比现有的技术方案,本发明具有以下有益效果:
(1)通过建立索引关系,将数据库内存地址与数据关联起来,这样对数据进行检索时,只需要知道检索什么数据,就知道该数据的内存地址;
(2)通过内存地址读取数据,省去对数据的遍历和检索操作,极大地提高了数据的查询数据;
(3)本技术方案适合应用在大型数据读入与读出,数据量越大对数据的检索查询效果越明显。
附图说明
图1是本发明方案模块组成示意图;
图2是本发明方案数据读入流程示意图;
图3是本发明方案索引建立流程示意图;
图4是本发明方案索引与内存地址转换流程示意图,
其中Part1是数据读入模块,Part2是数据读取模块。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详述。在此需要说明的是,下面所描述的本发明各个实施例中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
对本发明做进一步说明之前,先对本发明当中涉及到的一些专有名词稍作说明:
索引:在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引以找到特定值,然后顺指针找到包含该值的行。这样可以使对应于表的SQL语句执行得更快,可快速访问数据库表中的特定信息。
当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作;第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。
堆栈:堆栈是一个在计算机科学中经常使用的抽象数据类型。堆栈中的物体具有一个特性:最后一个放入堆栈中的物体总是被最先拿出来,这个特性通常称为后进先出(LIFO)队列。堆栈中定义了一些操作。两个最重要的是PUSH和POP。PUSH操作在堆栈的顶部加入一个元素。POP操作相反,在堆栈顶部移去一个元素,并将堆栈的大小减一。
如图1所示,本发明所提及到的技术方案是一种内存映像型数据库系统,包括数据读入模块、数据读取模块,
所述数据读入模块用于将数据从本地磁盘读入数据库,并在数据与内存地址间建立索引关系;
所述数据读取模块用于用户输入欲查询的数据并读取内存当中存在的数据。
如图2所示,在内存映像型数据库中,数据读入模块当中数据的读入过程包括以下步骤:
Step1:当数据从本地磁盘读入数据库内存时按特定的结构对数据重新进行组织;
Step2:对数据重新建立额外的索引,形成数据索引基本结构:IndexData[memAddress]={index:string,content:data};
Step3完成数据的读入。
所建立数据索引的性质是唯一索引,一个数据对应唯一的内存地址。
新的索引建立时,不仅仅是建立数据与索引之间的关系,还将把内存地址与数据关联起来,这样对数据进行检索时,只需要知道要检索什么数据,就知道该数据的内存地址,从而可以直接通过这个内存地址读取数据。
如图3、图4所示,在建立索引的过程当中包括以下步骤:
步骤1:将所要存储的数据读取到数据库内存的堆栈中;
步骤2:将堆栈中的数据提取索引值;
步骤3:将索引值转换为数据库的内存地址并存入数据库堆栈中。
通过上述索引的建立过程,将索引与所存储数据的关系是一一对应的,除了将数据与索引建立一一对应关系,数据与内存地址也通过索引建立一一对应关系,具体数据索引与内存地址的对应过程包括如下步骤:
S1:获取该数据的索引字段;
S2:顺序获取该索引字段的值;
S3:将值转换为十六进制;
S4:将该十六进制与内存地址的十六进制建立一一对应关系。
在数据库进行读取数据时,只需要知道数据内容就知道所在内存地址,从而可以直接读取数据而不用通过遍历数据库,这样省去搜索过程的操作极大地提高了数据的查询速度,数据量越大提神效果越明显。
以上所述,仅是本发明的较佳实施例而已,并非对本发明的技术范围作任何限制,故但凡依本发明的权利要求和说明书所做的变化或修饰,皆应属于本发明专利涵盖的范围之内。
Claims (3)
1.一种内存映像型数据库系统,包括数据读入模块、数据读取模块,
所述数据读入模块用于将数据从本地磁盘读入数据库,并在数据与内存地址间建立索引关系;
所述数据读取模块用于用户输入欲查询的数据并读取内存当中存在的数据,其特征在于,所述数据读入模块的读入过程包括如下步骤:
S1:当数据从本地磁盘读入数据库内存时按特定的结构对数据重新进行组织;
S2:对数据重新建立额外的索引,形成数据索引基本结构,所述数据索引基本结构为:IndexData[memAddress]={index:string,content:data},所述数据索引是唯一索引,一个数据对应唯一的内存地址,包括获取该数据的索引字段;顺序获取该索引字段的值;将值转换为十六进制;将该十六进制与内存地址的十六进制建立一一对应关系;
S3:完成数据的读入。
2.根据权利要求1所述的一种内存映像型数据库系统,其特征在于,所述索引关系的建立过程如下:
S1:将所要存储的数据读取到数据库内存的堆栈中;
S2:将堆栈中的数据提取索引值;
S3:将索引值转换为数据库的内存地址并存入数据库堆栈中。
3.根据权利要求2所述的内存映像型数据库系统,其特征在于,所述数据库系统当中一个数据和根据数据与内存地址之间建立的索引关系唯一的内存地址相对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711361434.4A CN110019221B (zh) | 2017-12-18 | 2017-12-18 | 一种内存映像型数据库系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711361434.4A CN110019221B (zh) | 2017-12-18 | 2017-12-18 | 一种内存映像型数据库系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019221A CN110019221A (zh) | 2019-07-16 |
CN110019221B true CN110019221B (zh) | 2022-07-19 |
Family
ID=67186947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711361434.4A Active CN110019221B (zh) | 2017-12-18 | 2017-12-18 | 一种内存映像型数据库系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019221B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672586A (zh) * | 2020-05-15 | 2021-11-19 | 永中软件股份有限公司 | 基于Java技术的内存数据库及其实现方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495834A (zh) * | 2011-10-18 | 2012-06-13 | 成都康赛电子科大信息技术有限责任公司 | 基于内存映像的增量数据清洗方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7289990B2 (en) * | 2003-06-26 | 2007-10-30 | International Business Machines Corporation | Method and apparatus for reducing index sizes and increasing performance of non-relational databases |
US8095452B2 (en) * | 2005-09-23 | 2012-01-10 | Chicago Mercantile Exchange Inc. | Live alerts |
CN100452048C (zh) * | 2006-06-02 | 2009-01-14 | 凌阳科技股份有限公司 | 一种利用字母索引表查询电子词典单词的方法及其系统 |
CN101183363B (zh) * | 2006-11-13 | 2010-05-12 | 中兴通讯股份有限公司 | 一种利用系统表结构统一配置管理内存数据库的方法 |
CN101014062A (zh) * | 2007-02-09 | 2007-08-08 | 华为技术有限公司 | 一种规则处理方法和装置及数据引用方法 |
CN101047649A (zh) * | 2007-04-05 | 2007-10-03 | 华为技术有限公司 | 一种转发数据流的方法和设备 |
CN100478959C (zh) * | 2007-05-30 | 2009-04-15 | 北京航空航天大学 | 嵌入式数据库的存储管理方法 |
CN101315628B (zh) * | 2007-06-01 | 2011-01-05 | 华为技术有限公司 | 内存数据库系统及实现内存数据库的方法和装置 |
CN101082935B (zh) * | 2007-07-06 | 2010-09-29 | 中兴通讯股份有限公司 | 一种内存数据的非唯一索引检索方法 |
CN101150485A (zh) * | 2007-11-15 | 2008-03-26 | 曙光信息产业(北京)有限公司 | 一种零拷贝缓冲区队列网络数据发送的管理方法 |
CN100543750C (zh) * | 2007-11-30 | 2009-09-23 | 中兴通讯股份有限公司 | 一种基于web应用的矩阵式数据缓存方法及装置 |
CN101295323B (zh) * | 2008-06-30 | 2011-11-02 | 腾讯科技(深圳)有限公司 | 一种用于索引更新的处理方法和系统 |
CN107239454B (zh) * | 2016-03-28 | 2020-11-17 | 福建天晴数码有限公司 | 基于文本数据库的检索方法及系统 |
-
2017
- 2017-12-18 CN CN201711361434.4A patent/CN110019221B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495834A (zh) * | 2011-10-18 | 2012-06-13 | 成都康赛电子科大信息技术有限责任公司 | 基于内存映像的增量数据清洗方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110019221A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8402071B2 (en) | Catalog that stores file system metadata in an optimized manner | |
US7689574B2 (en) | Index and method for extending and querying index | |
US8290972B1 (en) | System and method for storing and accessing data using a plurality of probabilistic data structures | |
JPH09212528A (ja) | データベースを記憶する方法、データベースからレコードを検索する方法、および、データベース記憶/検索システム | |
CN101464901B (zh) | 一种对象存储设备中的对象查找方法 | |
CN111427847B (zh) | 面向用户自定义元数据的索引与查询方法和系统 | |
JPH07104868B2 (ja) | データ記憶検索システム | |
CN108563711A (zh) | 一种基于时间节点的时序数据存储方法 | |
CN102622434B (zh) | 数据存储方法、查找方法及装置 | |
CN102024047A (zh) | 数据检索方法及装置 | |
CN116450656B (zh) | 数据处理方法、装置、设备及存储介质 | |
KR20010085357A (ko) | 관계형 액세스 방법에 의해 비관계형 데이타를 액세스하기위한 시스템 및 방법 | |
CN116257523A (zh) | 一种基于非易失存储器的列式存储索引方法及装置 | |
CN102169497B (zh) | 一种通过位图方式管理元数据的方法及装置 | |
CN110019221B (zh) | 一种内存映像型数据库系统 | |
CN107273443B (zh) | 一种基于大数据模型元数据的混合索引方法 | |
CN109213760A (zh) | 非关系数据存储的高负载业务存储及检索方法 | |
CN111309263B (zh) | 一种分布式对象存储中的逻辑卷实现方法 | |
CN111522820A (zh) | 数据存储结构、存储检索方法、系统、设备及存储介质 | |
WO2024108638A1 (zh) | 一种基于分片索引的自适应查询方法和装置 | |
CN113157692B (zh) | 一种关系型内存数据库系统 | |
CN110019016A (zh) | 提供逻辑键的kv存储设备及其方法 | |
US20210286793A1 (en) | Indexing stored data objects using probabilistic filters | |
CN104834664A (zh) | 面向光盘库的全文检索系统 | |
CN117290390B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210326 Address after: Room 2201, 703c, Desai science and technology building, 9789 Shennan Avenue, high tech Zone community, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000 Applicant after: Benchainless Technology (Shenzhen) Co.,Ltd. Address before: 361000 unit 21, 201, building B, 86 Haijing Road, Xiamen area, China (Fujian) pilot Free Trade Zone, Xiamen City, Fujian Province Applicant before: XIAMEN INSTINCT BLOCKCHAIN TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |