600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 主流数据库/国产数据库有哪些 如何适配国产数据库

主流数据库/国产数据库有哪些 如何适配国产数据库

时间:2021-01-04 02:36:08

相关推荐

主流数据库/国产数据库有哪些 如何适配国产数据库

主流数据库介绍

Relational DBMS

基于关系模型的数据库,关系模型折射现实世界中的实体关系,将现实世界中各种实体及实体之间的关系通过关系模型表达出来,最大特点就是事务的一致性。

Key-value Stores

一种非关系数据库,它使用简单的键值方法来存储数据,具有极高的并发读写性能。

Document Stores

一种非关系数据库,可以在海量的数据中快速的查询数据。通常数据表示为 JSON 文档,因为开发人员将其数据模型视为文档更为直观。

Time Series DBMS

一种非关系数据库,主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。常用于分布式系统监控、物联网等。

Graph DBMS

一种非关系数据库,是一个使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据,主要处理现实世界复杂的关系网。

Search Engines

是一类专门用于数据内容搜索的非关系数据库。

RDF Stores

Wide Column Stores

一种非关系数据库,它能很好地用于存储可收集的巨量数据。 它的架构使用持久的、稀疏的矩阵、多维度的映射(行值、列值和时间戳),采用表格式,意在实现大规模的可扩展性(超过PB规模)。

Multivalue DBMS

是一种灵活的数据库,具有NoSQL和多维数据库的混合功能,支持和鼓励使用可以采用值列表的属性的功能,而不是所有属性都是单值的。

Spatial DBMS

用于GIS数据库的存储。

The top 5 open source systems

国产数据库介绍

主流数据库汇总

关系型适配方案

基于 Mybatis 框架的多数据库类型的支持:

不同的 statementId

导致接口 Mapper 的方法大量增加,接口庞大而臃肿

不同的 mapper 文件

导致需要维护多份通用的sql,因为每份 mapper 文件都需要实现所有statement

每个 statement 添加属性 databaseId

mybatis 启动的时候,会侦测当前使用的数据库,如果是 Oracle(name=“Oracle”) 的话,对于拥有相同 statementId的语句,则会选择执行带有 databaseId=“oracle” 的语句

注意事项

同一套方案适配不同的数据库时,存在各种兼容性问题。为了更好的适配国产数据库,需要做如下处理:

禁用特性

外键约束、触发器、存储过程、视图、自定义函数、全文索引、空间索引、非 UTF8 字符集等

编码兼容性

针对特殊的SQL语法,采用类继承 or databaseId 的方案进行适配解决

系统初始化

由于数据库的兼容性问题,系统初始化的 SQL 脚本需要针对不同数据库提供相应的初始化脚本

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。