关于mysql:多元数据时代如何破解数据流转难题

44次阅读

共计 3946 个字符,预计需要花费 10 分钟才能阅读完成。

在数字化转型的推动下,数据作为重要的生产因素,其价值被从新定义,越来越多企业开始器重数据资源的价值。

但随着数据量的一直增多、数据类型的不断丰富以及利用零碎的逐步减少,数据整体通用性和数据一致性治理老本大大增加,进而影响到整个零碎的应用。因而,如何通过简略的操作形式便可调用多种数据库的资源,尽量减少数据转换操作,成为当下最迫切的需要,尤其是利用湖仓一体架构解决多模数据的解决剖析,就此成为一种新的趋势。

针对传统数据仓库治理存在的问题,HashData 采纳湖仓一体架构,可能实现数据仓库和数据湖的数据无缝买通和自在流动,缩小反复建设,最大化升高数据转换和迁徙老本。

背景及挑战
近年,随着互联网以及物联网等技术的一直倒退,越来越多的数据被生产进去,数据管理工具也失去了飞速发展。这些数据类型多种多样,为了满足这些海量数据的存储、计算与剖析,传统做法是同时利用十几个不同的数据库产品来别离满足相应的需要。

传统数据仓库对数据模型有严格的要求,在数据导入到数据仓库前,数据模型就必须当时定义好,数据必须依照模型设计存储。所以,数据规模和数据类型的限度,导致传统数据仓库无奈撑持互联网时代的商业智能。

随着数字化过程放慢,企业须要更欠缺的配套服务来缩小数据迁徙复杂度,降低成本、保障数据安全。多元数据库的格局,极大的促成了社会经济的倒退,但同时也带来了数据库运维治理上的难题,如何更好的治理多元数据库,成为行业亟待解决的难题。

数据库多元化带来的治理难点

  • 装置部署过程简单
    传统数据库环境筹备,须要用户自行筹备存储、网络、计算资源,协调系统、网络、数据库等各方专家,能力实现一套可用的数据库集群部署。
  • 数据库治理难度大
    传统数据库治理依赖于数据库厂商自带的管理工具,而今数据库越来越多样化,不同类型的数据库治理、监控、运维须要学习不同的管理工具,运维的学习老本和工具应用的切换老本晋升使得运维难度极大。
  • 容灾架构实现艰难
    数据库备份或高可用架构需自行手工搭建或编写脚本,实现难度极大,且出错概率较高。在生产数据库呈现故障时,备份容灾平台无奈疾速接管业务。

对于数据库多元化带来的部署简单、治理艰难等问题,国内外的数据库行业相干厂商都提出了各自的解决方案。但这些解决方案都存在着一些有余,数据库高可用的装置部署仍旧是企业的一大危险。

湖仓一体赋能数据流通

HashData 云原生数据仓库零碎架构

在一个多元数据的时代,咱们致力于构建一个凋谢的数据存储、计算和连贯平台。HashData 内置表的数据长久化到对象存储,可能提供 SQL、Python、图计算、流式计算、机器学习和人工智能等多种剖析性能,同时还以连接器(connector)的形式让第三方开源计算框架可能十分不便和高效地拜访 HashData 的数据,包含 Hive、Spark、Flink、Kafka 等。

针对目前多元数据库运维治理带来的痛点,HashData 云数据仓库提供了多种灵便的数据入库形式,反对 MySQL、ORACLE、Python、Postgres、NAS、HDFS 等多种数据源的数据导入,并主动实现数据格式转换,助力用户轻松上云,帮忙用户进步转换率、升高数据库迁徙老本。

各种数据源导入形式具备不同的特点。以目前应用宽泛的 MySQL 数据库为例,HashData 兼容 MySQL Data Wrapper(mysql_fdw)开源工具。这个扩大工具能够将 PostgreSQL 数据库发动的对 MySQL 数据库的增删查改操作转为 MySQL 数据库能够解释执行的语句,在 MySQL 端运行并返回后果。

具体操作如下:

装置要求
HashData 数据仓库 3x 版本
源码取得
PostgreSQL 源码 9.4.24
MySQL 源码
MySQL 5.7.28

MySQL data wrapper
能够应用的是 Greenplum 6x 的兼容版本
环境筹备
装置 HashData 数据库 (兼容 GP6x)
下载的源代码解压缩到同一目录下

#  ls
mysql-5 .7 .28-linux-glibc2 .12-x86_64 mysql_fdw_greenplum-master postgresql-9.4.24

编译装置
装置 gcc
yum install gcc
编译装置 PostgreSQL

# make
make[1]:  进入目录“/root/manual/postgresql-9.4.24/config”make[1]:  对“all”无需做任何事。make[1]:  来到目录“/root/manual/postgresql-9.4.24/config”All  of  PostgreSQL successfully  made.Ready  to  install .
# make  install  
...
make  -C  config  install
make[1]:  进入目录“/root/manual/postgresql-9.4.24/config”/usr/bin/mkdir  -p  '/usr/local/pgsql/lib/pgxs/config'
/usr/bin/install  -c  -m  755  ./install-sh
'/usr/local/pgsql/lib/pgxs/config/install-sh'
/usr/bin/install  -c  -m  755  ./missing  '/usr/local/pgsql/lib/pgxs/config/missing'
make[1]:  来到目录“/root/manual/postgresql-9.4.24/config”PostgreSQL  installation  complete .

编译装置 mysql_fdw

$  export  PATH=/home/gpadmin/manual/postgresql-9.4.24/src/bin:$PATH
$  export  PATH=/home/gpadmin/manual/mysql-5.7.28-linux-glibc2.12-x86_64/bin:$PATH
$  make  USE_PGXS=1
$  make  USE_PGXS=1  install

拷贝文件到指定目录

# cp  mysql_fdw .so  /opt/gpsql/lib/postgresql/
# cp  mysql_fdw .control  /opt/gpsql/share/postgresql/extension/
# cp  * .sql  /opt/gpsql/share/postgresql/extension/
# cp  /usr/lib64/mysql/libmysqlclient .so  /opt/gpsql/lib

PG 创立插件

db395=#  CREATE  EXTENSION  mysql_fdw;
CREATE  EXTENSION
postgres=#  \dx  mysql_fdw
List  of  installed  extensions
Name         |  Version  |  Schema   |  Description
-----------+---------+--------+-------------------------------------------------
mysql_fdw  |  1.1           |  public  |  Foreign  data  wrapper  for  querying  a  MySQL  server

验证测试
1. 创立链接 server 源

db395=#  CREATE  SERVER  mysql_server  FOREIGN  DATA  WRAPPER  mysql_fdw  OPTIONS  (host'192.168.192.168',  port  '3306');
CREATE  SERVER

2. 增加用户的映射

db395=#  CREATE  USER  MAPPING  FOR  gpadmin  SERVER  mysql_server  OPTIONS  (username 'duy',  password  'duy');
CREATE  USER  MAPPING

3. 创立映射内部表

db395=#  CREATE  FOREIGN  TABLE  test_fdw(a  int,b  text)  SERVER  mysql_server  OPTIONS(dbname  'test',  table_name  'test_dblink');    
CREATE  FOREIGN  TABLE

4. 查看拜访 MySQL 表的执行打算

db395=# explain  verbose  select  *  from  test_fdw;
QUERY  PLAN
----------------------------------------------------
Foreign  Scan  on  public .test_fdw    (cost=25 .00 . .1025 .00  rows=1000  width=36)
Output:  a,  b
Remote  server  startup  cost:  25
Remote  query:  SELECT  `a`,  `b`  FROM  `test` . `test_dblink`
Optimizer:  Postgres  query  optimizer
(5  rows)

总结与瞻望
数字化过程一直提速,企业须要更欠缺的技术服务来缩小数据迁徙复杂度,降低成本。

HashData 采纳湖仓一体化架构,能够不便、快捷地将大量数据从数仓转移至老本更低廉的数据湖内,同时这些移到湖里的数据,依然能够被数仓查问应用。

在理论业务场景中,数据的挪动不只是存在于数据湖和数据仓库之间,湖仓一体不仅须要把数仓和数据湖集成起来,还要让数据在服务之间按需流动。

HashData 通过多种当先性技术,实现海量数据自动化转换迁徙,升高用户迁徙难度与老本,为企业数字化转型保驾护航。

目前,HashData 已广泛应用于金融、电信、交通等行业,服务超过 50 家行业客户。将来,HashData 将携手更多合作伙伴联结翻新,为客户继续打造治理省心、迁徙释怀的数据库服务。

正文完
 0