多模型数据库:处理数据的多样性的新旅程

打印 上一主题 下一主题

主题 552|帖子 552|积分 1656






目录


一、实验介绍:
(一)媒介:
(二)实验目标:
二、数据模型初步工作
三、分类学与比较研究
(一)数据拓展方法
(二)数据库支持的数据格式
(三)数据库支持数据格式/存储策略/查询语言/指标
(四)数据库·数据分发特性
(五)多模型数据库的·SQL拓展和SQL语言
1.增补概念:什么是SQL?
(六)多模型数据库的·查询优化策略
四、查看多数据库的代表
关系存储
1.什么是XML格式?
2.PostgreSQL
3.Sql server
4.IBM DB2
5.Oracle DB
6.MySQL
列存储
1. 什么是列存储?
2.CQL(Cassandra Query Language)
3.Cassandra. Apache
4.CrateDB
键值对存储
1.Riak
2.c-treeACE
3.Oracle NoSQL Database
文档存储
1. ArangoDB.
2. Couchbase.
3. MongoDB.
4.XML存储(特殊范例的文档数据库)MarkLogic
图存储:
OrientDB
其他存储
对象存储
InterSystems Caché.
多用例存储
1. SAP HANA DB
2. OctopusDB
目前还没有成为多模型的DBMS
1. NuoDB
2. Redis
不再可用的DBMS
五、 结论
六、展望
(一) 多模型查询处理和优化
(二) 多模型模式的设计和优化。
(三) 多模型进化
什么是模型进化?
(四) 多模型可扩展性
七、我的感受:
1、已学习的数据库
2、 多模型数据库出现的缘故原由
3、 DBMS与一般数据库的区别
4、 多模型数据库的种类
5、 差别多模型数据库的区别
6、 多模型数据库的好处:



PS:
本次创作是基于原论文的二创作,颠末本身的消化,解读,与提炼。























一、实验介绍


这篇论文由“数据的多样性”起题,点明白数据管理系统的难题之一。并提出了一种开放的多远的办理方案——多模型数据库。本文主要介绍了关于数据库的现有方法与一些存在的疑问,有利于整理目前已经存在的多模型数据库,并为更加智能的数据库开辟提供了技能引导。

(一)媒介


现在,为了业务的多样化和全面化开展,多模型数据的需求大大的增加,应用多模型数据库的需求也逐日递增。
文章中举了三个例子。分别在发达的网页欣赏器360,医疗科技,与石油能源三个方面详细论述了高维度,全方位,大量高速的数据接收,分析与利用需求。
那么问题来了,对于传统的数据库方法,我们可能会选择两种办理方案——1、利用多种范例的数据库,包括告终构化存储/半结构化存储/非结构化存储的多种数据库。 2、将全部数据转化为关系型数据,并存储在关系型数据库中。
对于传统的两种应对措施,均有其肯定的弊端:1、多种数据库的安装管理与连接问题,这可能涉及到高成本,数据安全,数据传输瓶颈等问题。 2、某些数据转化为关系型数据遇到的困难,例如图数据,同时,原本的数据存储方式有其肯定的原理与规律,倘若转换成同一的数据,那么在效率上可能会不尽人意。
新的办理方式随着需求的缘故原由诞生了,至此,各式各样的数据可以以特定的模型存储在同一个多模型DBMS中。
操纵和查询多模型数据存在两种方法:一种是多语言持久性,另一种是多模型数据库。多语言持久性的历史可追溯到多数据库和联邦数据库的研究,其主要策略是利用差别数据库存储差别数据模型,并通过中介将它们集成来回答查询。
另一种方法是创建一个单一的数据库管理差别的数据模型,并有一个完全集成的后端来处理性能、可伸缩性和容错性的需求,这种方法可以追溯到ORDBMS的概念。   
它与多模型数据库的显著区别在于,ORDBMS的关系模型是第一类公民,而多模型数据库中每个模型都同样重要。相比第一种方法,第二种方法利用集成的后端管理多个模型,满足了对可伸缩性、高性能和容错能力的需求。








多模型数据范例
历史
策略
对比
多语言持久性
多数据库和联邦数据库
利用差别数据库存储差别数据模型,并通过中介将它们集成来回答查询
多数据库,中介集成
单一数据库·多模型数据库
ORDBMS的概念
创建一个单一的数据库管理差别的数据模型
单一数据库,利用面向对象的编程模型

(二)实验目标

本研究通过全面回顾多模型数据库管理系统的发展历程、关键特性及比较分析,梳理了多模型数据库领域的脉络、分类与演进,并通过实例论述了差别产品的特性和适用范围,同时指出了该领域现存的开放问题与挑战,为未来多模型处理技能创新及实际应用的选择与评价提供了理论依据。

相干工作:
注意,本篇文章研究的是多模型数据库而非多模态数据库。
多模态数据库
多媒体数据库
多模型数据库
差别模型管理数据的系统


二、数据模型初步工作


首先,千里之行,始于足下,我们必要相识四个常见的应用于多模型数据库的数据模型,常见于关系模型、半结构化模型、键值对模型和图模型。
关系模型,这一模型根植于数学关系理论,并通过SQL语言进行操纵,它在金融、银行等系统的数据库中有着广泛的应用。
另一方面,半结构化模型,例如XML和JSON,这些模型以其灵活的方式表示带有结构标签的数据,因此,在web服务等场景中得到了广泛的利用。
键值模型,作为NoSQL数据库中最简朴的数据模型,它以键值对的情势存储数据,虽然查询能力有限,但非常适合高效处理大量数据。
至于图形模型,它则是基于图论概念构建的,适用于大数据环境下的图形数据库。图形模型分为事务性和非事务性两种范例,它们分别满足了差别规模和用途的图形数据处理需求。
数据模型对比表

模型

描述

应用场景

关系模型

根植于数学关系理论,通过SQL语言进行操纵,广泛应用于金融、银行等系统的数据库中。

金融、银行等系统的数据库

半结构化模型

例如XML和JSON,以灵活的方式表示带有结构标签的数据,广泛应用于web服务等场景。

web服务等场景

键值模型

NoSQL数据库中最简朴的数据模型,以键值对的情势存储数据,适合高效处理大量数据。

高效处理大量数据的场景

图形模型

基于图论概念构建,适用于大数据环境下的图形数据库,分为事务性和非事务性两种范例,分别满足差别规模和用途的图形数据处理需求。

大数据环境下的图形数据库



三、分类学与比较研究



自1960年纪据库的需求被发掘并渐渐走入公众的视野以来,渐渐经历了关系模型->加入非关系模型->加入非结构化数据的阶段化发展。这一现象指明白越来越多的数据范例被存储的趋势——例如2000年后,关系型数据库依照SOL/XML尺度或其变体向XML扩展,因此它们被转换为所谓的支持XML的数据库;同样的,支持xml的数据库也渐渐发展兼容了JSON格式的数据。
虽然目前存在NOSQL等许多数据库向多模型数据库的跨越风向,但是这能称得上是合格的多模型数据库吗?
由于存在差别完成度的多模型数据库,我们将细细分类来讨论这些数据库。将从以下方面进行观察:
跨差别模型进行查询
索引模型的内部结构
跨模型优化查询
对多模型数据的支持级别差别
(一)数据拓展方法

对于数据范例渐渐糅合的数据库,其特点是接纳了将原始模型扩展到其他模型或组合多个模型的策略,对于数据拓展的详细实现,我们又区分了四种方法:
数据拓展方法
数据库代表
接纳一种适用于新数据模型的全新存储策略

支持XML的数据库,利用本机XML方法

为了创建新的数据模型而扩展了原来的存储策略
ArangoDB,利用特殊的边集合来承载关于图中的边的信息

为原始存储策略创建一个新的接口
Sinew,它在传统的关系存储策略之上构建了一个新的层。

原有的存储策略没有变革
适用于全部的数据库系统,全部文档数据库也可以被视为键/值和列存储,只是比较低效

笔者思索:第2.3种方法实现较为高效和实际,而第四种方法往往过于简朴,缺少对于数据的处理,可能导致数据检索和处理的性能代价。
(二)数据库支持的数据格式

下面这张表格展示的是多模型dbms中支持的数据模型概述,和它们受接待的程度。
这张表格说明白当前盛行的数据库确实很大一部分实现了对于多种范例数据的存储,常见的有JSON数据和xml数据。
可以发现一个规律,那就是最受接待的数据库都拥有Nested data/UDT/object的数据范例。同时,越受接待的数据库往往兼容的数据范例都不会低于三种。


(三)数据库支持数据格式/存储策略/查询语言/指标

接下来,让我们把目光看向对于差别数据库更加详细的研究表格。我们重点关注以下部分:
(1)支持的数据格式, (2)用于差别数据的存储策略, (3)它支持什么的查询语言,(4)为优化查询评估的目标所支持的索引范例,(5)该数据库是否为分布式数据库, (6)数据库是否必要模式定义来存储数据,(7)差别的数据是否可以利用单一的通用语言一起查询, (8)是否也存在一个针对云的版本,(9)是否引入了一种特殊的事务管理方法来处理差别的数据。




在这个表格中,让我们来看看各列名的涵义:


  • 特征一为支持的语言——包括了关系型,XML,键值对等等;
  • 特征二为存储的策略——关系型,文本,xml等等;
  • 特征三为查询的策略——包括声明性方法和下令式方法。选项范围从简朴的API(DynamoDB)、全文搜刮(Riak),到盛行的尺度查询语言的扩展,如SQL(例如 PostgreSQL、卡桑德拉或OrientDB)或XQuery(MarkLogic)。
  • 特征四为指标(索引)。

通过表格给予的信息,我们能得到一个概览,这展示了差别数据库或数据存储系统在语言支持、存储方式、查询方法以及性能指标方面的差别和特性。

(四)数据库·数据分发特性

我们可以看到,在今天大数据的时代背景下,大多数系统都支持数据分发,并且正在成为一个趋势。与此同时,数据库的云盘算特性,数据库供应商正在增强对于云版本的支持,目前,DAAS的利用能为复杂的大数据应用程序创建办理方案,这是因为它是一种将数据封装成可重复利用的服务并提供尺度化的数据接口和数据访问方式的服务模式。它使得用户可以方便地获取和利用数据,而不必关心数据的存储和数据处理技能。

同时,要想成为一个比较合格的多模型数据库,支持跨多个模型查询的能力是必须的。但是,对于差别系统而言,有时跨多个查询获取到的信息可能是无关的或者混乱未知的,目前并不存在一种通用良好的处理特殊范例的事务管理的明确信息。


从上图中提供的信息来看,确实可以观察到大部分数据库都支持分布式、灵活的模式,跨模型的查询以及云版本的实现。这反映了现代数据库技能发展的几个重要趋势:

  • 分布式支持:随着数据量的爆炸式增长,分布式数据库技能变得尤为重要。通过将数据分散到多个节点上,分布式数据库能够处理大规模的数据集,同时提供高可用性和容错能力。
  • 灵活性:现代数据库系统越来越注重灵活性,允许用户根据需求定制数据库的结构和行为。


  • 跨模型查询:跨模型查询能力意味着用户可以在一个同一的平台上查询多种范例的数据模型,而无需在差别的系统之间切换,进步了工作效率。
  • 云版本实现:随着云盘算的普及,越来越多的数据库系统提供了云版本。云数据库不光提供了弹性伸缩的能力,还低落了运维成本,使得用户可以更加便捷地摆设和管理数据库。
别的,部分数据库还实现了多模型的交易。多模型交易意味着这些数据库能够同时处理多种数据模型的事务,包管数据的一致性和完整性。这对于必要处理复杂业务逻辑和多种数据范例的应用场景来说是非常有效的。

(五)多模型数据库的·SQL拓展和SQL语言

1.增补概念:什么是SQL?

SQL,是结构化查询语言,是用于数据库管理系统的尺度编程语言。SQL语言的主要功能包括数据查询、数据操纵、数据定义以及数据控制,涵盖了关系型数据库中的增删改查等基本操纵。
下表揭示的是常见多模型数据库的SQL拓展和SQL语言。

从上面的图表中我们可以看出,关系型/文件/键值对/列/图/对象等范例的多模型数据库均有SQL的拓展——例如IBM DB2的SQL语言策略为SQL/XML+嵌入SQL查询到XQuery;对于文本本身结构就嵌套的JSON数据而言,利用各种操纵符能够访问包括数组项的更深层次的数据级别。
(六)多模型数据库的·查询优化策略

下面的图表讲述的是多模型数据库中的查询优化策略。

我们可以看出,最常见的查询方式如下所示:

  • 一种B-树/B+-tree索引,特别是在关系数据库中,均衡树的设计使得它们能够高效地处理大量的数据,并通过均衡树的结构来减少查询时的磁盘I/O操纵。
  • 其次支持XML数据的系统还利用一种本地XML索引,最常见的是一种基于顺序路径的方法,它支持高效的查询和数据更新。
  • 再者就是接纳一种哈希技能,这是一种几乎可以广泛利用的技能。
然而,一般来说,好像没有公认的最优或次优方法适合于多模型查询优化(这些差别的方法通常与系统扩展到其他数据模型的方式高度相干。)

从前面关于多模型数据库的各个方面的讨论中,我们总结了这些观察效果如下:

——多模型数据库支持的数据模型包括关系模型、列模型、键/值模型、文档模型、XML模型 、图形模型和对象模型。

——多模型数据库接纳基于SQL、XML和图形语言的扩展的跨模型语言。

——多模型数据库中的数据索引包括反向索引、b树、物化视图、哈希和位图索引。其中大多数都是基于关系数据库或XML数据库的扩展。

——现有的多模型数据库具有数据共享、灵活的模式和云版本的特点。但它们仍旧缺乏对多 模型事务的支持。


四、查看多数据库的代表

在这一节里,我们将从跨差别模型进行查询、索引模型的内部结构、跨模型优化查询、对多模型数据的支持级别差别等几个方面来分析差别的多模型数据库。
关系存储

1.什么是XML格式?

XML 被设计用来传输和存储数据,指可扩展标志语言,是从尺度通用标志语言中简化修改出来的。它主要用到的有可扩展标志语言、可扩展样式语言(XSL)、XBRL和XPath等。
2.PostgreSQL

PostgreSQL,一种开源关系型数据库,起初是为创建经典的关系型DBMS而设计,但随着时间的推移,最新版本引入了许多NoSQL特性,如实例化视图、数据重复性支持等,以加快查询和实现同步/异步主从复制。它还可以方便地在云环境中设置、操纵和扩展。自2006年支持XML格式以来,它还支持HStore数据范例的键/值对存储,自2013年以来,支持JSON和jsonb格式的存储。JSONb利用二进制格式存储数据,不必要重新剖析,并支持索引创建。它还提供了丰富的SQL扩展和函数来查询和处理存储在JSON和jsonb范例中的数据。别的,通过广义反向索引(GIN),存储在jsonb中的数据可以进行索引,GIN支持多种操纵符来进行路径/值包罗和顶级键存在等操纵。
3.Sql server


微软SQL Server是一个关系型数据库和数据管理与分析平台,。它通过利用SQLXML和JSON格式的支持,在数据库领域与时俱进。SQL Server支持XML数据存储和查询,可以将JSON数据存储为文本或剖析为关系表。通过Polybase技能,SQL Server 2016变成了一个多模型多数据库DBMS,能够同时访问非关系和关系数据。               
    在查询方面,SQL Server提供了用于XML和JSON数据的各种函数和语法。对于XML数据,可以利用XML范例的列创建索引,并利用ORDPATH模式进行索引优化。然而,对于JSON数据,SQL Server目前不支持特殊的索引技能,只能利用b树引或全文索引。

4.IBM DB2

IBM DB2是一款面向对象关系型数据库管理系统,衍生了云数据库。自2007年以来它开始支持XML,自2012年起也支持RDF图。XML数据可以存储在本地XML数据范例列中,以反映其分层结构的剖析格式,也可以通过用户定义的分解成关系表进行存储。通过利用尺度SQL/XML并增强了多个DB2特定构造,如嵌入SQL查询到XQuery表达式中,可以访问这些数据。
5.Oracle DB

在Oracle数据库中,XML数据可以存储在表中或利用XMLType数据范例,而JSON数据则可以存储在VARCHAR2、BLOB或CLOB中。对于XML数据,可以利用尺度SQL/XML进行访问,而对于JSON数据,则可以利用SQL/JSON函数扩展SQL。
索引方面,XML数据可以自然地利用B树索引,而XMLIndex则用于本机XML存储的索引路径、父、值和关系。对于JSON数据,可以为SQL函数json_value创建基于函数的索引。
6.MySQL

MySQL支持数据共享和复制,它能够结合关系和键/值的数据访问优势。默认情况下 ,数对(键、值)存储在同一个表中,同时用户定义的键前缀可以确定应该存储该值的预定义表和列。大多数MySQL索引存储在b树中,r 树用于空间数据范例,内存表支持散列索引。

列存储

这一种多模型数据库由列存储表示,主要范例为NoSql。我讲例举三种经典的数据库进行分析。

  • 什么是列存储?
第一种可以理解为将数据存储为列。
另一种理解就表示一种NoSql数据库,能够去支持差别列数量和范例的表,特点表示为底层存储策略是恣意的。
2.CQL(Cassandra Query Language)

语言特点:
可以看作是SQL的一个子集(包括SELECT、FROM、WHERE、GROUP BY、ORDER BY和LIMIT等子句),但是在FROM和WHERE子句有限定。(在FROM子句中只能查询单个表,而在WHERE子句中有一些限定,比如只能针对主键或具有二级索引的列进行限定等)。排序仅支持根据决定命据排序和存储在磁盘上的列。SELECT JSON子句可用于将每一行返回为单个JSON编码映射;
存储与索引:
Cassandra范例与JSON之间的映射与存储情况雷同。Cassandra中有几种范例的索引。主键始终利用倒排索引主动索引,实现方式是利用辅助表。可以根据必要为要搜刮的列(包括集合)显式添加二级索引。相应的SASI利用内存映射的B+树实现,因此也允许范围查询。

3.Cassandra. Apache

总体:是专为云应用设计的数据库Enterprise 的基础。
查询语言:利用CQL,将数据存储在希罕表中
支持的数据:列表、集合、映射、元组和用户定义恣意数据范例
存储:存储在SSTables(有序字符串表,从键到值的有序不可变映射,其中键和值都是恣意字节字符串)中,进一步分为块,块被索引以加快数据查找,并定期利用压缩进行合并。

4.CrateDB

总体:动态分布式SQL数据库

支持数据:嵌套的JSON文档、数组和blob

存储:每行是一个半结构化文档,每张表在集群的节点间分片,每个分片是一个Lucene索引。

语言:尺度的ANSI SQL 92,可包罗嵌套的JSON属性。

索引:添加了一个SQL层,利用Elasticsearch接口,Lucene索引


键值对存储

一般来说,键/值存储被以为是最简朴的NoSQL多模型数据库,只支持一个简朴但快速的API,用于存储和检索具有特定ID的项——但是往往能够提供更复杂的“值”部分的操纵。

因此,由键值对存储简朴的数据库向键值对存储复杂的多模型数据库的转变是性价比较高的,人们总会天真烂漫的发展这种存储范例的多模型数据库。

接下来,将介绍全部论文中的键值对多模型数据库。

1.Riak

什么是CRDT?
无冲突复制数据范例,是一种设计用于分布式系统中的数据结构,能够支持高效地实现数据同步和复制功能。利用CRDT,可以包管在分布式系统的各个节点之间,数据的一致性和时间顺序的准确性。

特点:Riak Search和Riak Data types,具有查询功能的文档存储,支持全部分布式SOLR查询。

Riak Data types:集合、映射、计数器,基于无冲突复制数据范例。

Riak Search:配置一个Solr模式,以便Solr知道怎样索引值字段。详细而言,字段被提取器提取内容,字段被命名为Solr索引,并与桶/桶范例相干联。

2.c-treeACE

总体:NoSql多模型数据库
语言:NoSQL和SQL

接口:关系的和非关系的

索引:顺序访问 方法(ISAM)结构



3.Oracle NoSQL Database

总体:可拓展分布式“键/值”DBMS,和Oracle MySQL这种关系型 DBMS相反。

利用SQL,提供表的定义。

支持数据:关系数据和JSON数据。

索引:辅助索引是分布式的、分散的本地双树实现的。



文档存储

首先,将文档存储放在键/值存储之后介绍的缘故原由是因为,文档DBMS可以被以为是具有可以查询的复杂值部分的高级键/值存储。

因此,文档存储自然的包括了键/值存储或列存储的功能。

自然而然的,文档存储可以进化为DBMS。

接下来,我们将介绍集中经典的文档存储DBMS。



  • ArangoDB.

总体:本地DBMS,也可以云托管运行

支持存储范例:键/值、文档和图形数据

语言:AQL。

数据组织:


  • 文档,以JSON格式表示,并在集合中分组。
  • 每个文档包罗一组属性。(每个属性具有原子/复合范例)
  • 每个文档集合都有一个主键属性。
图形数据存储:



  • 边缘集合包括两个特殊属性_frond和_to ,可以创建文档之间的关系,并连接。
  • 可以利用各种范例的遍历图结构和最短路径搜刮。
键/值存储:



  • 每个文档集合都有一个主键属性,主键属性可以作为键/值存储。
  • 单键查找和键/值对的插入和更新。
文档存储:



  • 可以简朴示例查询,也可以复杂的利用集合/函数。
索引范例:



  • 主动创建的索引
  • 用户定义的集合级别的索引
  • 每个集合有主索引,边集合有from/to索引
  • 存储全部属性的联合的散列索引,支持相称式查找,但不支持范围查询或者排序。
  • “跳过器”索引,已排序的索引结构,用于查找、范围查询和排序。
  • 持久性/全文性/ geo范例......



  • Couchbase.
总体:支持云摆设,文档DBMS。

语言:SQL。

支持存储模式:文档型、键/值。

数据组织:文档为基本单位,文档放在桶中。

存储方法:对于每个文件附加写入模型,以高效写入,并定期接纳LRU算法清算数据。

索引:B+树索引、更有效更浅层的B+trie。




  • MongoDB.
总体:最盛行的文档DBMS之一,支持云托管。
支持存储模式:文档型、键/值、图形数据。
数据组织:文档,具有灵活的模式(文档可以嵌入或者引用其他文档)。
语言:JSON语法,支持利用条件,不支持连接,可以用手动引用或者DBRefs引用来关联文档。
数据存储:BSON(JSON文档的二进制表示情势),BSON文档会主动创建唯一主索引。

索引:b树数据结构。





4.XML存储(特殊范例的文档数据库MarkLogic

总体特点:
是一个支持分层半结构化数据的系统,支持云托管。
存储模式:
支持将JSON文档建模为XML文档,作为节点树,支持对象、数组、文本、数字、布尔值或空值等节点范例。
数据组织:
数据以节点树的情势组织,节点可以表示各种数据范例,节点名称可对应属性名称或支持未命名节点,提供了同一的管理和索引方法。
语言:
支持利用XPath查询遍历JSON文档,也可从JavaScript和XQuery代码中调用,还可以利用SQL进行查询,允许创建视图将分层数据平成表。
数据存储:
支持存储和索引文档片段,默认情况下,片段是整个文档,但也可将大型XML文档分解成文档片段,JSON文档是单片段的
索引:
维护一个通用索引用于搜刮文本、结构及其组合,包括反向索引、XML元素和JSON属性及其值的索引,另有父子关系的索引和范围索引用于有效评估范围查询。






图存储:

首先,这一小节我们将只会介绍一个典型的数据库OrientDB,因为图存储对数据结构/数据访问/添加新数据的要求高、难度大。
以是,我们将会详细分析这难得的独苗。

OrientDB


总体:原型是对象DBMS,现在NoSql DBMS,支持云托管

支持数据范例:图形、键/值、文档和对象模型

数据组织:记载。


  • 每个记载具有唯一的ID,并且可以对应于文档/BLOB/订单/边。
  • 记载可以是是模式完整的、无模式的或模式混合的。
  • 类可以继承,类定义属性后可以束缚或索引,类可以物理链接或者嵌入记载。
语言:




  • Gremlin。



  • SQL,注意,不支持经典连接,由链接表示类关系。
索引:







其他存储

在这一小节,我们将扼要地重点介绍其他范例的多模型系统,包括小众DBMS,正在发展的和已颠末时的DBMS。


对象存储

虽然目前关系型存储占据了主导地位,但是在特定领域,对象存储十分成功。同时,由于对象模型能够存储任何范例的数据,以是对象存储发展DBMS十分有远景。


InterSystems Caché. 

数据存储:数据存储在能够携带层次结构化数据的希罕、多维数组中。

数据访问方法:




  • ODMG尺度的对象





索引:




  • id集,是位片索引的拓展。



  • ID

多用例存储

首先,多用例存储的概念必要论述清楚—— 一组相干的dbms可以表示为多用例。往往是对于数据库应用程序的应用场景而言的。




  • SAP HANA DB
内存中的、面向列的、关系式的DBMS,结合了三中存储方式的优势。



  • OctopusDB
模仿OLTP、OLAP、流媒体和其他范例的数据库系统


目前还没有成为多模型的DBMS

目前也存在一些不能表示为多模型的dbms。然而,他们目前正在开辟中。


  • NuoDB


  • DBMS,可以在云中工作。





  • Redis


  • 键/值存储





不再可用的DBMS

例如,DBMS FoundationDB被收购,从而不再利用。








  • 结论

大数据时代,差别的数据范例和数据特征为多模型数据库迎来了挑战,也迎来了机遇。多模型数据库的出现与完善是迫在眉睫的,怎样提供高效的数据管理、查询、存储?
我们这次的探索集中在DBMS应对大数据的多样性挑战上,它必要并发存储和管理差别的数据范例和格式。

尽管多模型DBMS正迈向成熟与结实的阶段,但其旅程仍漫长且布满挑战,尤其是在与关系数据库世界那些久经磨练的办理方案相比时。当前,我们正面对着开辟一个全面且高效的多模型数据库系统的艰巨任务。本次观察的核心目标,便是推动研究和工业界的共同努力,以便把握机遇,克服这些挑战,为数据库技能的未来铺平门路。让我们携手并进,共同迈向一个更加灵活、多功能的数据库新时代。

六、展望

在本节中,我们将展示多少关于DBMS的研究挑战和开放问题。




    • 多模型查询处理和优化

怎样定义跨模型查询的优劣呢?首先我们必要一种识别最优查询筹划的方法。基于小波和直方图等为具有固定关系模式的rdbms开辟的方法,我们必要开辟出能够适应模式变革的新的动态技能!

对于多模型查询处理而言,极大的一个建议是开辟一种同一的查询语言来容纳全部支持的数据模型。例如由ArangoDB提供的AQL允许人们同时访问图形和文档数据,这是一个值得借鉴的例子。目前而言,单独针对差别的域查找后整合数据还是差能人意的手段,因为这样的效率并非十分高效。

索引上下手,构建一个由各种数据模型组 成的通用索引可能是一个更好的办理方案。

条条大路通罗马,基于云服务的多数据特性,倘若能够扩展分布式数据库管理和并行数据库编程技能,将会大有裨益。







    • 多模型模式的设计和优化。

良好的数据库模式设计是影响许多方面的关键部分,如查询处
理的效率、应用程序的可扩展性等。关于数据的物理模式和逻辑模式,都有一些关键的决定。

往往存储成本与查询效率是相互制衡的!差别的模型也会有相互抵牾的需求,因此它必要一个针对多模型模式设计的新的办理方案,推断差别模型之间的引用,从具有差别模型的相干数据中提取关键信息,以均衡和权衡对多模型数据的差别需求。






    • 多模型进化

什么是模型进化?

模型进化指的是模型在适应新需求或应对环境变革时,其结构、功能或性能发生的改进或更新。
对于数据库而言,就是有效地管理数据模式演化和更改传播到数据库系统中相干部分的任务,例如数据实例、查询、索引甚至存储策略。
多模型数据库建议利用经典的模型驱动架构来处理多个数据模型,这些模型代表了所思量的现实的共同模型的差别和重叠的视图,通过这个模型,变革可以传播到全部受影响的部分。





    • 多模型可扩展性

通过在差别的维度思量,增加多模型的可拓展性。



  • ——用新的结构扩展其中一个模型

  • ——添加了表达模型之间关系的新结构

  • ——添加一个全新的模型,以及各自的数据和查询


七、我的感受:


1、已学习的数据库

    在之前的课程学习中,我们学习到了数据库的相干领域知识,并且在实践中主要实现了关系型数据库MYSQL&文档型数据库NOSQL的技能实现,这主要是由于需求——也即数据结构带来的功能性的差别。

首先,从数据模型和设计上看,MySQL是一个基于表格设计的关系数据库,它利用固定的表结构,必要预定义表和表的结构,并通过SQL语言进行查询和操纵。而NoSQL本质上是非关系型的基于文档的设计,可以存储各种情势的非结构化数据,如文档、键值对等。

其次,从扩展性和性能上看,MySQL的严格模式限定并不轻易扩展,劈面对大数据量时,可能必要更多的硬件和资源来支持。而NoSQL数据库通常接纳分布式架构,可以方便地扩展和处理大型数据集,具有良好的性能,可以处理大量的数据哀求。

别的,从查询语言上看,MySQL利用结构化查询语言(SQL)进行数据查询和操纵,具有强盛的查询能力和丰富的功能,支持复杂的关系型查询。而NoSQL数据库则利用差别的查询语言,这些查询语言通常更加简朴和直接,但缺乏像SQL那样的尺度查询语言。
已学数据库范例
数据库模型
拓展性&性能
查询语言&速度
MYSQL
基于表格设计
关系型数据库
不宜扩展
可能必要硬件支持
SQL查询
支持复杂的关系型查询
NOSQL
基于文档设计
非关系行数据库
较易拓展
较简朴直接的查询语言


  • 多模型数据库出现的缘故原由










  • DBMS,数据与应用程序之间可以实现逻辑和物理上的独立性,使得应用程序可以更灵活地访问和处理数据。


  • DBMS与一般数据库的区别
多模型数据库与一般数据库的主要区别在于其支持多种数据模型的能力。一般数据库通常专注于一种数据模型。
多模型数据库具有更大的灵活性和适用性,能够满足多样化的应用需求,但也可能会增加系统的复杂度和管理成本。 


  • 多模型数据库的种类
在上文中已经花了很大的精力介绍,这里我们将再次总结一下。
有:列存储、关系存储、键值对存储、文档存储、图存储、对象存储、多用例存储等等。

5、 差别多模型数据库的区别

多模型数据库的区别在于其支持的数据模型、性能特点、数据查询语言等方面。


  • 多模型数据库的好处:
针对多模型数据的单一数据平台有利于用户,不光提供同一的查询界面,而且提供单一的数据库平台,以简化查询操纵,减少集成问题,消除迁移问题。






免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

麻花痒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表