Dremio对国产数据库的支持使用
一.国产数据库调研
Ⅰ).达梦数据库
达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统的最新版本是8.1.0版本,简称DM8。
DM8吸收借鉴当前先进新技术思想与主流数据库产品的优点,融合了分布式、弹性计算与云计算的优势,对灵活性、易用性、可靠性、高安全性等方面进行了大规模改进,多样化架构充分满足不同场景需求,支持超大规模并发事务处理和事务-分析混合型业务处理,动态分配计算资源,实现更精细化的资源利用、更低成本的投入。一个数据库,满足用户多种需求,让用户能更加专注于业务发展。
Ⅱ).神通数据库
神通数据库是天津神舟通用数据技术有限公司(简称“神舟通用公司”)拥有自主知识产权的企业级、大型通用关系型数据库管理系统,是神舟通用公司多年的大型数据库领域研发积累和深厚的航天信息化建设经验的集中体现,也是国家“核高基”重大专项、国家“863”计划大力支持基础软件领域发展所取得的一项重要成果。
神通数据库已经在政府、电信、电力、国防、军工、教育等行业得到了大量应用,可靠稳定的支撑了政府机关和企事业单位的数据业务平台。神通数据库最新版本是7.0.8
Ⅲ).人大金仓数据库
金仓数据库KingbaseES是人大金仓的核心产品,具有大型通用、"三高"(高可靠、高性能、高安全)、"两易"(易管理、易使用)、运行稳定等特点,是唯一入选国家自主创新产品目录的数据库产品,也是国家级、省部级实际项目中应用最广泛的国产数据库产品。
金仓数据库KingbaseES面向企业级关键业务应用,充分满足数据库系统高稳定性、高可靠性以及高性能的要求,内置高可用功能,提供高效查询优化策略和多样化数据缓存机制,支持并行处理和集群架构,具有完备的数据分区支持和海量数据管理能力,提供直观易用的系统监控手段,并与第三方数据库高度兼容,广泛支持业内主流中间件及其它应用,配备专业高效的技术服务团队,让国产数据库产品面对企业级关键业务应用更加从容和得心应手。
Ⅳ).南大通用数据库
南大通用数据库是天津南大通用数据技术股份有限公司研发的是国产数据库,南大通用数据库主要包括一下几部分产品
1).GBase 8a
GBase 8a是大数据时代成熟的分析型MPP数据库,是国内分析型数据库主导性产品,并与国外同类主流产品保持技术同步、市场同级。以大规模并行处理、列存储,高压缩和智能索引技术为基础,具有满足各个数据密集型行业日益增大的数据分析、数据挖掘、数据备份和即席查询等需求的能力。
2).GBase 8t
GBase 8t是支撑高端业务的事务型数据库,通过中国信息安全认证中心的安全可靠认证,并在高可用、灾备、空间数据、时序数据等方面技高一筹。
3).GBase 8m
GBase 8m是MPP架构的全内存数据库,采用多核、多进程、大内存、SSD等最新硬件技术,比同类内存数据库的性能有了大幅度的提升。
4).GBase UP
GBase UP作为统一数据平台,将事务型数据库、MPP数据库、Hadoop、Spark等不同类型的数据组织管理技术和数据处理技术融合在一起,并对外提供统一的服务,从而形成统一的数据平台。
5).InfiniData
InfiniData是基于x86的超融合架构数据库一体机,提供了灵活的软硬件配置方案,在帮助用户平滑地将业务过渡到新的数据库架构的同时带来超高的性价比。
二.数据库连接器支持实现
Ⅰ).数据库连接器说明
Dremio Hub为各种数据源提供了社区支持的连接器,并且可以创建自己的连接器。充分利用Dremio的速度和易用性,同时能够与任何其他数据源集成。
Advanced Relational Pushdown(ARP)框架允许为具有JDBC驱动程序并接受SQL作为查询语言的任何数据源创建Dremio插件。它允许使用几乎没有代码的插件创建方式,允许使用配置文件修改Dremio发出的查询。
Ⅱ).实现原理
- dremio-ce-jdbc-plugin通过加载/jars目录中的数据库连接器插件及依赖在/jars/3rdparty目录中的jar,来获取连接器信息
- 自定义数据库连接器通过dremio-ce-jdbc-plugin包中AbstractArpConf. loadArpFile来加载ARP定义文件(resources/arp/implementation/*-arp.yaml)
- 在自定义的DataSourceConf中使用注解@SourceType(value=”SourceName” lable=”show source name”)
- 使用注解@NotBlank()、@Tag()、@DisplayMetadata()、@NotMetadataImpacting()等,定义配置ip、port、username、password、database、fetchSize等信息
- 在toJdbcConnectionString方法中,拼接数据库连接字符串
三.ARP文件格式说明
文件目录:resources/arp/implementation/*-arp.yaml,文件内容主要包括metadata、syntax、data_types和relational_algebra,具体说明如下:
Ⅰ).metadata
元数据主要用来定义数据库连接器名字和API访问
metadata: # Manually Configured Metadata Section. name: SHENTONG apiname: shentong spec_version: '1'
Ⅱ).syntax
句法部分主要配置常规语法项,如标识符、长度限制、是否支持schema和catalog等信息
syntax: # Manually Configured Syntax Section. identifier_quote: '"' identifier_length_limit: 128 allows_boolean_literal: true map_boolean_literal_to_bit: false supports_catalogs: false supports_schemas: true
Ⅲ).data_types
数据类型用来定义数据库连接器的jdbc驱动程序支持的数据类型与Dremio数据类型的映射关系
data_types: mappings: # Manually Configured Data Types Mappings Section. - source: name: "int" dremio: name: "integer" required_cast_arguments: "none" - source: name: "smallint" dremio: name: "integer" required_cast_arguments: "none"
Ⅳ).relational_algebra
relational_algebra用来定义聚合、关联、分组、排序、表达式、函数以及运算符等相关信息
relational_algebra: aggregation: enable: true group_by_ordinal: false distinct: true count_functions: count_star: enable: true count: enable: true except: enable: true project: enable: true join: enable: true cross: enable: true rewrite: "{0}, {1}" # Describe the set of function signatures that are internally supported. expressions: subqueries: correlated: true scalar: true in_clause: true supports_case: true supports_over: false operators: - names: - "=" - "!="
四.使用说明
- 编译,在项目目录下运行,命令:mvn clean install
- 将生成的jar放到dremio的jars目录中
- 将JDBC依赖的jar包放到dremio的jars/3rdparty目录中
- 启动dremio
五.常用数据库连接列表
DataSource | JDBC URL | DriverName | Port |
---|---|---|---|
达梦 | jdbc:dm://ip:port | dm.jdbc.driver.DmDriver | 5236 |
神舟通用 | jdbc:oscar://ip:port | com.oscar.Driver | 2003 |
人大金仓 | jdbc:kingbase8://ip:port | com.kingbase8.Driver | 54321 |
南大通用 | jdbc:gbase://ip:port | com.gbase.jdbc.Driver | 5258 |
SQL Server | jdbc:sqlserver://ip:port;DatabaseName=database | com.microsoft.jdbc.sqlserver.SQLServerDriver | 1433 |
SQLite | path | org.sqlite.JDBC |
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
成都,我们来啦 | Dubbo 社区开发者日
【关注阿里巴巴云原生公众号,回复关键词“报名”,即可参与抽奖!】 活动时间:10 月 26 日 13:00 - 18:00 活动地点:成都市高新区交子大道中海国际中心 233 号中海国际中心 D 座 亮点解读:Seata,Sentinel,Nacos 等开源项目微服务专家技艺切磋,更有新网银行高级技术架构师带来微服务转型实践 参与方式:点击下方链接直达报名页面或直接扫描下方图片二维码即可报名 我们在成都等你~戳我报名 “ 阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”
- 下一篇
程序员转型架构师,推荐你读这几本书
从CRUD的程序员,到系统的架构师,进阶推荐读这几本书。架构师书单分为两部分,第一部分是关于系统架构的方法论,包括领域驱动设计,微服务,整洁架构,第二部分介绍各大互联网大公司是如何做系统架构落地实践。 程序员书单会做成一个系列,会推荐面试,职业规划,软技能等不同主题的书单,同时我会在博客和公众号「架构进化论」中,对书单中推荐的好书做解读,欢迎持续关注。 一、方法论 《领域驱动设计》 这本书可以帮助我们理解用代码呈现真实世界的重要性,并且告诉我们如何更好地进行建模。 简而言之,这本书提供了深入的架构洞察力,并帮助你在不断变化的环境中创建强大的系统,最重要的是,Eric Evans用开发人员可以理解的语言来描述,非常难得。 书中给出了领域驱动设计的系统化方法,并将人们普遍接受的一些实践综合到一起,融入了作者的见解和经验,展现了一些可扩展的设计新实践、已验证过的技术以及便于应对复杂领域的软件项目开发的基本原则。 《架构整洁之道》 来自传奇人物Robert C. Martin的实用软件架构解决方案,作者还有另外一本非常经典的书《代码整洁之道》。 干净的架构对于每一个软件架构师、系统分析师、系统...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19