玖叶教程网

前端编程开发入门

数据库产品形态发展和多模数据库概览

数据库的发展和分类

根据原始数据模型分类

  • 关系:PostgreSQL、SQL Server、IBM DB2、Oracle DB、Oracle MySQL、Sinew
  • 列:Cassandra、CrateDB、DunamoDB、HPE Vertica
  • 键值:Riak、c-treeACE、Oracle NoSQL DB
  • 文档:ArangoDB、Couchbase、MongoDB、CosmosDB、MarkLogic
  • 图:OrientDB
  • 对象:Cache
    • 非多模态:NuoDB、Redis、Aerospike
    • 多模态:SAP HANA DB、Octopus DB

从应用类型看,有OLTP事务型数据库,有OLAP分析型数据库,还有HTAP混合型数据库。

从存储方式看,有关系型数据库和非关系型数据库(NoSQL)之分。而NoSQL数据库又依据支持的数据模型不同,分为键值数据库、文档数据库,列式数据库,图形数据库等。

如果从架构类型看,又分Share Everything、Share Storage、Share Nothing。

数据库选型越来越难,据DB-Engines数据库流行度排行榜显示,目前全球有多达359个开源和商业的数据库。详细的数据库排名:https://db-engines.com/en/ranking

专用 VS 多模

  关于专用数据库与多模数据库之争,由来已久。其中,AWS属于专用数据库派,认为数据库就应该像汽车一样,不同的汽车解决不同的运输需求,不同数据库去解决不同场景需求,而不是通过关系数据库来一刀切。

因此,AWS提供的数据库产品组合多达十几种。

  而甲骨文、微软、SAP则属于“瑞士军刀”派,即多模数据库派。通过扩展其SQL查询功能或添加功能(如R或Python支持)来实现多模功能。

什么是多模数据库 – Multimodel Database

多模型数据库 (Multi-model database), 是能够支持多种数据库模型的数据库(例如关系、文档、键值、图),将各种类型的数据进行集中存储、查询和处理,可以同时满足应用程序对于结构化、半结构化和非结构化数据的统一管理需求。一个重要的特性是,多模型数据库拥有自己的一种或多种查询语言,可以非常灵活的方式访问多种不同数据模型,甚至是跨模型的JOIN操作,这使得数据组织、存储和操作较以往更加灵活便捷。 一个标准的应用程序接口,一个安全模型,一套升级、恢复和可伸缩性程序等等。

多模数据库产品

  • 微软Azure Cosmos DB,支持多种数据库模型(键值、列簇、文档、图),保留多种API兼容各种应用
  • SequoiaDB巨杉数据库作为分布式、多模型(Multimodel)、高可用的SQL数据库,在针对内容和文件的非结构化数据管理引擎、跨地域分布式部署和灵活扩展的能力,以及基于Mpp分布式架构的数据分析能力
  • Oracle 数据库支持多模式持久存储,支持关系型 、XML & JSON 、 Text 、 OLAP 、 图 & 空间
  • Lindorm是面向物联网、互联网、车联网等设计和优化的云原生多模超融合数据库,支持宽表、时序、文本、对象、流、空间等多种数据的统一访问和融合处理,并兼容SQL、HBase/Cassandra/S3、TSDB、HDFS、Solr、Kafka等多种标准接口和无缝集成三方生态工具,适用于日志、监控、账单、广告、社交、出行、风控等场景,Lindorm也是为阿里巴巴核心业务提供支撑的数据库之一。
  • 云原生多模数据库GaussDB NoSQL。当前GaussDB NoSQL已经支持MongoDB、Cassandra、Redis、InfluxDB等4款引擎;
  • OceanBase多模型支持,OB在SQL层面支持MySQL和Oracle两种SQL语法;在OB关系型的基础上拓展了NoSQL能力,通过SDK提供的API,应用可以不使用SQL就能直接读写存储在OB中的数据;tableAPI支持表模型和KV模型;HBaseAPI支持Hbase模型;

参考

[1] Zhen Hua Liu 1 , Jiaheng Lu2 , Dieter Gawlick1 , Heli Helskyaho. Multi-Model Database Management Systems - a Look Forward."https://www.cs.helsinki.fi/u/jilu/documents/Poly.pdf"

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言