CN102663007B - 一种支持敏捷开发和横向扩展的数据存储与查询方法 - Google Patents
一种支持敏捷开发和横向扩展的数据存储与查询方法 Download PDFInfo
- Publication number
- CN102663007B CN102663007B CN2012100733272A CN201210073327A CN102663007B CN 102663007 B CN102663007 B CN 102663007B CN 2012100733272 A CN2012100733272 A CN 2012100733272A CN 201210073327 A CN201210073327 A CN 201210073327A CN 102663007 B CN102663007 B CN 102663007B
- Authority
- CN
- China
- Prior art keywords
- minitable
- key
- server
- data
- address
- 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
- 238000011161 development Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000013500 data storage Methods 0.000 title claims abstract description 9
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000013519 translation Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000013459 approach Methods 0.000 claims description 3
- 238000013523 data management Methods 0.000 abstract description 11
- 238000004883 computer application Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 4
- 238000012356 Product development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Operations Research (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机应用技术领域,特别涉及一种支持敏捷开发和横向扩展的数据存储与查询方法。本发明将数据抽象为一个二元组(Key,MiniTable),任意MiniTable(去除数据集合)由唯一的Key标识;MiniTable由若干数据行组成,并且由预先定义的模式限制数据行的结构,行按模式定义的主键进行排序;利用去除数据集合之间依赖关系的方法获取***的横向扩展能力,同时保留数据集合内部数据之间的依赖关系以支持类SQL语法,从而获取敏捷开发的特性。本发明可以应用于支持海量数据的横向扩展模式和支持短开发周期的敏捷开发模式的数据管理***。
Description
技术领域
本发明涉及计算机应用技术领域,特别涉及一种支持敏捷开发和横向扩展的数据存储与查询方法。
背景技术
随着互联网的飞速发展,特别是在线社交网络(Social Networks)、在线社交媒体(Social Media)等新型Web 2.0业务的出现,互联网产业对数据管理***提出了两个重要的挑战。
1、互联网中的数据呈指数增长,业界称之为“海量数据(Big Data)”。海量数据给现有的纵向扩展数据管理***带来了巨大的压力。数据管理***已成为大量互联网服务***中的瓶颈。
2、互联网行业的业务变化迅速,产品开发周期短。特别是社交网站,其产品开发周期均以天作为度量单位。作为互联网产品基础部件的数据管理***必须支持敏捷开发模式以降低产品的开发周期。
因此,同时满足支持海量数据的横向扩展模式和支持短开发周期的敏捷开发模式的数据管理***是构建互联网服务***的关键。
到目前为止,主要有两大类数据管理技术支持横向扩展模式。
1、Key-Value Store。该技术把数据抽象为一个二维向量(Key, Value)。Key是数据存储与查询的唯一标识符,Value为特定Key对应的数据内容。Key-Value Store有三个基本原语。Boolean Put(Key, Value):存储(Key, Value),若存入成功返回True,存入失败则返回False。Boolean Del(Key):删除(Key,Value),若删除成功返回True,删除失败或不存在对应Key则返回False。String Get(Key),获取Key对应的Value,若失败或不存在对应Key则返回NULL。由于任意两个(Key, Value)对之间不存在依赖关系,因此可以利用一致性哈希或B+树实现Key-Value Store的横向扩展。
2、Key-Row Store(或称之为Big Table)。该技术把数据抽象为一个嵌套n+1维向量(Key, (SubKey 1, Value 1), (SubKey 2,Value 2), …..., (SubKey n, Value n))。Key是数据行存储与查询的唯一标识符,每一数据行包含多个数据,通过SubKey获取对应的Value。Key-Row Store有五个基本原语。Boolean Put(Key,SubKey, Value):在Key对应数据行中加入(SubKey, Value),若存入成功返回True,存入失败则返回False。Boolean Del(Key):删除Key对应的数据行,若删除成功返回True,删除失败或不存在对应Key则返回False。Boolean Del(Key, SubKey):删除Key对应数据行中的(SubKey, Value),若删除成功返回True,删除失败或不存在对应Key或SubKey则返回False。String Get(Key),获取Key对应数据行,若失败或不存在对应Key则返回NULL。String Get(Key, SubKey),获取Key对应数据行中SubKey对应的Value,若失败或不存在对应Key或SubKey则返回NULL。与Key-Value Store相同,数据行与数据行之间没有依赖关系,同样可以利用一致性哈希或B+树实现Key-Row Store的横向扩展。
虽然如上两种技术支持横向扩展模式,满足互联网产业对数据管理***的第一个挑战,但是这两种技术均只提供简单原语,而这些简单原语难以快速地构建具有复杂逻辑的应用,因此不支持敏捷开发模式,不能满足互联网产业对数据管理***的第二个挑战。
目前,SQL语言,因其标准统一、语义丰富、结构简单,已成为使数据管理***支持敏捷开发的主要技术。但是兼容SQL语义将会使得数据与数据之间相互依赖,从而失去横向扩展的特性。因此目前兼容SQL语义的关系数据库只能依赖纵向扩展,不能满足互联网大数据的挑战。
发明内容
本发明解决的技术问题在于提供一种数据存储与查询方法,其中数据存储包括对数据的创建和更新;本方法在满足横向扩展特性同时,支持类SQL语法,更适合敏捷开发模式。
本发明解决上述技术问题的技术方案是:
将数据抽象为一个二元组(Key, MiniTable),任意MiniTable(去除数据集合)由唯一的Key标识;MiniTable由若干数据行组成,并且由预先定义的模式限制数据行的结构,行按模式定义的主键进行排序;
Key-MiniTable模式有三个基本原语和三个物理实体,三个物理实体分别为:
客户端,利用三个基本原语向Key服务器发起请求,并接收请求结果;
Key服务器,接收客户端发起的请求,查找Key对应MiniTable所处MiniTable服务器的IP地址及端口号,据此转发该请求给对应MiniTable服务器;
MiniTable服务器,接收Key服务器转发的请求,解析该请求的类SQL语句,生成执行计划,并在分布式存储***中获取和写入数据,完成请求返回结果给客户端;
Key-MiniTable模式的三个基本原语为:
1)Boolean Create (Key, 列名1:数据类型, 列名2:数据类型,……, 列名n:数据类型, PRIMARY KEY: 列名),创建一个标识为Key的MiniTable,并定义该MiniTable的模式;若创建成功返回True,创建失败则返回False;
2)Boolean Delete (Key),删除Key对应的MiniTable;若删除成功返回True,删除失败或不存在对应Key则返回False;
3)String Query (Key, 类SQL语句),在Key对应的MiniTable内部执行类SQL语句,Query原语返回其参数中类SQL语句的返回值;类SQL语句包括十个保留字:Select、Where、Insert、Update,Delete、OrderBy、Limit、Distinct、And 、Or;六个运算符:=、>、>=、<=、<、<>;保留字与运算符的语法和语义与SQL标准定义相同;
Key服务器有三个核心数据结构:
1)B+树:存储Key与地址号之间的对应关系;
2)地址转换表:存储地址号与IP地址和端口号之间的对应关系;
3)MiniTable服务器监控表:存储每一个地址号对应MiniTable服务器的负载情况;
当Key服务器收到一个原语请求时,检查是否是合法Query原语;若是合法Query原语,则从B+树中查询Key对应的地址号;若Key不存在,则返回Key不存在信息;若Key存在,则在地址转换表中查询地址号对应的IP地址和端口号;若IP地址和端口号不存在,则返回错误;若存在,则将该请求转发给IP地址和端口号对应的MiniTable服务器;
若请求不是合法Query原语,则检查是否为合法Create原语;若是合法Create原语,则在B+树中查询是否存在给定的Key;若Key存在,则返回Key已存在信息;若Key不存在,则根据调度算法和MiniTable服务器监控表分配一个地址号,更新MiniTable服务器监控表,利用地址号查询对应的IP地址和端口号,并转发请求给对应的MiniTable服务器;
若请求不是合法Create原语,则检查是否为合法Delete原语;若是合法Delete原语,则在B+树中查询是否存在给定的Key;若Key不存在,返回Key不存在信息;若Key存在,则在地址转换表中查询地址号对应的IP地址和端口号,并删除B+树中对应的Key,更新MiniTable服务器监控表,查询IP地址和端口号,转发请求给对应的MiniTable服务器;
MiniTable服务器有两个核心数据结构:
1)内存表:根据缓存策略,将部分MiniTable存储在内存中;
2)MiniTable锁:记录已加锁的MiniTable;
MiniTable服务器收到Key服务器转发的请求后,对请求做语义解析,判断请求操作的MiniTable是否加锁;若加锁则将该请求加入等待队列;若未加锁,则对MiniTable加锁,并生成执行计划;之后,判断MiniTable是否在内存表中,若在内存表中直接执行请求;若不在内存表中,则进一步判断是否有足够内存空间;若没有,则根据调度策略,将部分MiniTable写入分布式文件***;写入时比较MiniTable内存版本与文件版本的区别,仅将更新的部分以日志压缩格式写入;在获取足够内存空间后,从分布式文件***读入MiniTable文件,解压缩;将MiniTable日志文件转换为数据格式存入内存表;之后执行请求,解锁MiniTable,并返回结果。
每个MiniTable的大小受限,小于或等于64M,便于将整个MiniTable放入Hadoop分布式文件***的一个数据块中;两个不同MiniTable之间不能做关系数据库中的join表间操作,不需多个表进行联合加锁;Key不仅是MiniTable的身份标识,也是MiniTable在分布式存储***中的存储位置标识。
MiniTable采用日志格式记录数据,添加、删除与修改数据均在文件末尾写入日志;在MiniTable文件大小接近数据块最大容量时执行日志归并,生成新的日志文件;Key服务器和MiniTable服务器在做任何操作之前均将操作写入***日志文件,在操作完成或失败时也将返回值写入***日志文件。
本发明可以构建一个数据管理***,支持对数据的存储(包括创建和更新)与查询,并且该***满足如下两个重要性质。1)敏捷开发:对MiniTable内部数据的操作支持类SQL语法,从而可以快速地实现复杂逻辑查询和复杂条件***。2)横向扩展:通过Key-MiniTable模式,去除MiniTable之间的依赖关系,从而可以通过增加服务器数量,拟线性地扩展***的容量和吞吐量,以支持亿量级的MiniTable和十万每秒量级的请求。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明Key-MiniTable***结构图;
图2是Key服务器执行流程图;
图3是MiniTable服务器执行流程图。
具体实施方式
见图1所示,是本发明中Key-MiniTable***结构图。Key-MiniTable***建立在分布式文件***之上,例如Hadoop分布式文件***(HDFS)。存入分布式文件***的数据分为两部分:
1、MiniTable日志文件:MiniTable存储在数据块中。为了提高访问和缓存性能,MiniTable的数据大小不超过数据块最大容量(一般为64M)。为了提到写入性能,MiniTable采用日志格式记录数据,添加、删除与修改数据均在文件末尾写入日志。在MiniTable文件大小接近数据块最大容量时执行日志归并,生成新的日志文件。
2、***日志文件:Key服务器和MiniTable服务器在做任何操作之前均将操作写入***日志文件,在操作完成或失败时也将返回值写入***日志文件。维护***日志文件使***发生故障时可以恢复到之前的正常状态。
当需要创建、更新或删除数据时,用户使用客户端向Key服务器发起一个原语请求。
Key服务器执行流程如图2所示。Key服务器有三个核心数据结构:
1、B+树:存储Key与地址号之间的对应关系。
2、地址转换表:存储地址号与IP地址和端口号之间的对应关系。
3、MiniTable服务器监控表:存储每一个地址号对应MiniTable服务器的负载情况。
当Key服务器收到一个原语请求时,检查是否是合法Query原语。若是合法Query原语,则从B+树中查询Key对应的地址号。若Key不存在,则返回Key不存在信息。若Key存在,则在地址转换表中查询地址号对应的IP地址和端口号。若IP地址和端口号不存在,则返回错误。若存在,则将该请求转发给IP地址和端口号对应的MiniTable服务器。
若请求不是合法Query原语,则检查是否为合法Create原语。若是合法Create原语,则在B+树中查询是否存在给定的Key。若Key存在,则返回Key已存在信息。若Key不存在,则根据调度算法和MiniTable服务器监控表分配一个地址号,更新MiniTable服务器监控表,利用地址号查询对应的IP地址和端口号,并转发请求给对应的MiniTable服务器。
若请求不是合法Create原语,则检查是否为合法Delete原语。若是合法Delete原语,则在B+树中查询是否存在给定的Key。若Key不存在,返回Key不存在信息。若Key存在,则在地址转换表中查询地址号对应的IP地址和端口号,并删除B+树中对应的Key,更新MiniTable服务器监控表,查询IP地址和端口号,转发请求给对应的MiniTable服务器。
见图3所示,是MiniTable服务器执行流程图。
MiniTable服务器有两个核心数据结构:
1、内存表:根据缓存策略,将部分MiniTable存储在内存中。
2、MiniTable锁:记录已加锁的MiniTable。
MiniTable服务器收到Key服务器转发的请求后,对请求做语义解析。判断请求操作的MiniTable是否加锁。若加锁则将该请求加入等待队列。若未加锁,则对MiniTable加锁,并生成执行计划。之后,判断MiniTable是否在内存表中。若在内存表中直接执行请求。若不在内存表中,则进一步判断是否有足够内存空间。若没有,则根据调度策略,将部分MiniTable写入分布式文件***。写入时比较MiniTable内存版本与文件版本的区别,仅将更新的部分以日志压缩格式写入。在获取足够内存空间后,从分布式文件***读入MiniTable文件,解压缩。将MiniTable日志文件转换为数据格式存入内存表。之后执行请求,解锁MiniTable,并返回结果。
本发明利用去除数据集合之间依赖关系的方法获取***的横向扩展能力,同时保留数据集合内部数据之间的依赖关系以支持类SQL语法,从而获取敏捷开发的特性。
Claims (3)
1.一种支持敏捷开发和横向扩展的数据存储与查询方法,其特征在于:将数据抽象为一个二元组(Key, MiniTable),任意MiniTable由唯一的Key标识;MiniTable由若干数据行组成,并且由预先定义的模式限制数据行的结构,行按模式定义的主键进行排序;
Key-MiniTable模式有三个基本原语和三个物理实体,三个物理实体分别为:
客户端,利用三个基本原语向Key服务器发起请求,并接收请求结果;
Key服务器,接收客户端发起的请求,查找Key对应MiniTable所处MiniTable服务器的IP地址及端口号,据此转发该请求给对应MiniTable服务器;
MiniTable服务器,接收Key服务器转发的请求,解析该请求的类SQL语句,生成执行计划,并在分布式存储***中获取和写入数据,完成请求返回结果给客户端;
Key-MiniTable模式的三个基本原语为:
1)Boolean Create (Key, 列名1:数据类型, 列名2:数据类型,……, 列名n:数据类型, PRIMARY KEY: 列名),创建一个标识为Key的MiniTable,并定义该MiniTable的模式;若创建成功返回True,创建失败则返回False;
2)Boolean Delete (Key),删除Key对应的MiniTable;若删除成功返回True,删除失败或不存在对应Key则返回False;
3)String Query (Key, 类SQL语句),在Key对应的MiniTable内部执行类SQL语句,Query原语返回其参数中类SQL语句的返回值;类SQL语句包括十个保留字:Select、Where、Insert、Update,Delete、Order By、Limit、Distinct、And 、Or;六个运算符:=、>、>=、<=、<、<>;保留字与运算符的语法和语义与SQL标准定义相同;
Key服务器有三个核心数据结构:
1)B+树:存储Key与地址号之间的对应关系;
2)地址转换表:存储地址号与IP地址和端口号之间的对应关系;
3)MiniTable服务器监控表:存储每一个地址号对应MiniTable服务器的负载情况;
当Key服务器收到一个原语请求时,检查是否是合法Query原语;若是合法Query原语,则从B+树中查询Key对应的地址号;若Key不存在,则返回Key不存在信息;若Key存在,则在地址转换表中查询地址号对应的IP地址和端口号;若IP地址和端口号不存在,则返回错误;若存在,则将该请求转发给IP地址和端口号对应的MiniTable服务器;
若请求不是合法Query原语,则检查是否为合法Create原语;若是合法Create原语,则在B+树中查询是否存在给定的Key;若Key存在,则返回Key已存在信息;若Key不存在,则根据调度算法和MiniTable服务器监控表分配一个地址号,更新MiniTable服务器监控表,利用地址号查询对应的IP地址和端口号,并转发请求给对应的MiniTable服务器;
若请求不是合法Create原语,则检查是否为合法Delete原语;若是合法Delete原语,则在B+树中查询是否存在给定的Key;若Key不存在,返回Key不存在信息;若Key存在,则在地址转换表中查询地址号对应的IP地址和端口号,并删除B+树中对应的Key,更新MiniTable服务器监控表,查询IP地址和端口号,转发请求给对应的MiniTable服务器;
MiniTable服务器有两个核心数据结构:
1)内存表:根据缓存策略,将部分MiniTable存储在内存中;
2)MiniTable锁:记录已加锁的MiniTable;
MiniTable服务器收到Key服务器转发的请求后,对请求做语义解析,判断请求操作的MiniTable是否加锁;若加锁则将该请求加入等待队列;若未加锁,则对MiniTable加锁,并生成执行计划;之后,判断MiniTable是否在内存表中,若在内存表中直接执行请求;若不在内存表中,则进一步判断是否有足够内存空间;若没有,则根据调度策略,将部分MiniTable写入分布式文件***;写入时比较MiniTable内存版本与文件版本的区别,仅将更新的部分以日志压缩格式写入;在获取足够内存空间后,从分布式文件***读入MiniTable文件,解压缩;将MiniTable日志文件转换为数据格式存入内存表;之后执行请求,解锁MiniTable,并返回结果。
2.根据权利要求1所述的数据存储与查询方法,其特征在于:每个MiniTable的大小受限,小于或等于64M,便于将整个MiniTable放入Hadoop分布式文件***的一个数据块中;两个不同MiniTable之间不能做关系数据库中的join表间操作,不需多个表进行联合加锁;Key不仅是MiniTable的身份标识,也是MiniTable在分布式存储***中的存储位置标识。
3.根据权利要求1或2所述的数据存储与查询方法,其特征在于:MiniTable采用日志格式记录数据,添加、删除与修改数据均在文件末尾写入日志;在MiniTable文件大小接近数据块最大容量时执行日志归并,生成新的日志文件;Key服务器和MiniTable服务器在做任何操作之前均将操作写入***日志文件,在操作完成或失败时也将返回值写入***日志文件。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100733272A CN102663007B (zh) | 2012-03-20 | 2012-03-20 | 一种支持敏捷开发和横向扩展的数据存储与查询方法 |
EP20120871750 EP2706468A4 (en) | 2012-03-20 | 2012-04-18 | METHOD FOR STORING AND INTERROGATION OF DATA |
PCT/CN2012/000534 WO2013138953A1 (zh) | 2012-03-20 | 2012-04-18 | 数据存储与查询方法 |
US14/342,097 US9367585B2 (en) | 2012-03-20 | 2012-04-18 | Data storage and query method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100733272A CN102663007B (zh) | 2012-03-20 | 2012-03-20 | 一种支持敏捷开发和横向扩展的数据存储与查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102663007A CN102663007A (zh) | 2012-09-12 |
CN102663007B true CN102663007B (zh) | 2013-12-18 |
Family
ID=46772498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100733272A Active CN102663007B (zh) | 2012-03-20 | 2012-03-20 | 一种支持敏捷开发和横向扩展的数据存储与查询方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9367585B2 (zh) |
EP (1) | EP2706468A4 (zh) |
CN (1) | CN102663007B (zh) |
WO (1) | WO2013138953A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150220590A1 (en) * | 2014-01-31 | 2015-08-06 | HGST Netherlands B.V. | Synthetic updates for file system information |
CN104408159B (zh) * | 2014-12-04 | 2018-01-16 | 曙光信息产业(北京)有限公司 | 一种数据关联、加载、查询方法及装置 |
US10067959B1 (en) * | 2014-12-19 | 2018-09-04 | Amazon Technologies, Inc. | Techniques for adapting data storage systems for peaky usage models |
WO2017088180A1 (zh) * | 2015-11-27 | 2017-06-01 | 华为技术有限公司 | 向队列存储数据的方法、装置及设备 |
US10394789B1 (en) | 2015-12-07 | 2019-08-27 | Amazon Technologies, Inc. | Techniques and systems for scalable request handling in data processing systems |
CN108647283A (zh) * | 2018-05-04 | 2018-10-12 | 武汉灵动在线科技有限公司 | 一种游戏数据配置敏捷生成与解析方法 |
US11941501B2 (en) | 2018-05-30 | 2024-03-26 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
KR20190136891A (ko) * | 2018-05-30 | 2019-12-10 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN109299057A (zh) * | 2018-10-09 | 2019-02-01 | 北京快友世纪科技股份有限公司 | Hadoop多管道数据处理分析方法 |
CN110222045B (zh) * | 2019-04-23 | 2024-05-28 | 平安科技(深圳)有限公司 | 一种数据报表获取方法、装置及计算机设备、存储介质 |
CN113193974B (zh) * | 2021-07-02 | 2021-11-09 | 深圳华云信息***有限公司 | 基于组播的行情信息推送方法、***、设备及介质 |
CN114706919B (zh) * | 2022-06-06 | 2022-09-13 | 南京安元科技有限公司 | 一种分布式存储数据存储兼容方法及*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379419A (en) * | 1990-12-07 | 1995-01-03 | Digital Equipment Corporation | Methods and apparatus for accesssing non-relational data files using relational queries |
EP1217544A1 (en) * | 2000-12-22 | 2002-06-26 | Dataevents Cyprus Limited | System for and method of storing and disseminating data |
US20040230571A1 (en) * | 2003-04-22 | 2004-11-18 | Gavin Robertson | Index and query processor for data and information retrieval, integration and sharing from multiple disparate data sources |
EP1510932A1 (en) * | 2003-08-27 | 2005-03-02 | Sap Ag | Computer implemented method and according computer program product for storing data sets in and retrieving data sets from a data storage system |
CN100337218C (zh) * | 2005-02-23 | 2007-09-12 | 北京邦诺存储科技有限公司 | 网络存储***中的数据管理方法及其构建的网络存储*** |
CN102375854B (zh) * | 2010-08-23 | 2013-04-10 | 杭州华三通信技术有限公司 | 一种对数据库进行数据处理的方法和装置 |
US8583652B2 (en) * | 2010-11-30 | 2013-11-12 | Oracle International Corporation | Efficiently registering a relational schema |
TWM430057U (en) * | 2011-11-18 | 2012-05-21 | Speedtech Corp | Improve structure of the lift cover connector |
US9471711B2 (en) * | 2013-09-23 | 2016-10-18 | Teradata Us, Inc. | Schema-less access to stored data |
-
2012
- 2012-03-20 CN CN2012100733272A patent/CN102663007B/zh active Active
- 2012-04-18 EP EP20120871750 patent/EP2706468A4/en not_active Withdrawn
- 2012-04-18 WO PCT/CN2012/000534 patent/WO2013138953A1/zh active Application Filing
- 2012-04-18 US US14/342,097 patent/US9367585B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20140222778A1 (en) | 2014-08-07 |
EP2706468A4 (en) | 2015-04-29 |
EP2706468A1 (en) | 2014-03-12 |
CN102663007A (zh) | 2012-09-12 |
WO2013138953A1 (zh) | 2013-09-26 |
US9367585B2 (en) | 2016-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102663007B (zh) | 一种支持敏捷开发和横向扩展的数据存储与查询方法 | |
CN103425734B (zh) | 用于存储编码三元组的数据库控制器、方法及*** | |
CN105117417B (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN107291807B (zh) | 一种基于图遍历的sparql查询优化方法 | |
CN101436192B (zh) | 用于优化针对垂直存储式数据库的查询的方法和设备 | |
Aboutorabiª et al. | Performance evaluation of SQL and MongoDB databases for big e-commerce data | |
CN109299102A (zh) | 一种基于Elastcisearch的HBase二级索引***及方法 | |
CN104809190B (zh) | 一种树形结构数据的数据库存取方法 | |
US20130191523A1 (en) | Real-time analytics for large data sets | |
CN109144994A (zh) | 索引更新方法、***及相关装置 | |
CN104408111A (zh) | 一种删除重复数据的方法及装置 | |
CN108664516A (zh) | 查询优化方法及相关装置 | |
US10901973B1 (en) | Methods and apparatus for a semantic multi-database data lake | |
CN111680041B (zh) | 面向异构数据的安全高效存取方法 | |
Amirian et al. | Evaluation of data management systems for geospatial big data | |
CN105335479A (zh) | 一种基于sql的文本数据统计实现方法 | |
Kan et al. | Topology modeling and analysis of a power grid network using a graph database | |
CN106156319A (zh) | 可伸缩的分布式的资源描述框架数据存储方法及装置 | |
Luo et al. | From batch processing to real time analytics: Running presto® at scale | |
CN105138581B (zh) | 一种移动信息写入和读取方法及*** | |
Bhuiyan et al. | MIRAGE: An Iterative MapReduce based FrequentSubgraph Mining Algorithm | |
Ramanujam et al. | Bi-directional translation of relational data into virtual RDF stores | |
Zhao et al. | A multidimensional OLAP engine implementation in key-value database systems | |
CN103761248A (zh) | 利用内存数据库进行数据查询的方法及*** | |
Trucksäß | Evaluation of Distributed Semantic Databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |