当前位置: 首页 > news >正文

展示型商城订单网站建设惠州市建设工程交易中心网站

展示型商城订单网站建设,惠州市建设工程交易中心网站,个人建立一个网站要多少钱,dnf做任务解制裁的网站数据处理的规范中#xff0c;第一个层次是ODS#xff0c;一般成为贴元层#xff0c;最靠近业务库的数据。需要统计ODS中有数据表的行数#xff0c;及更新频率。#xff08;假设在ODS中是Mysql数据库#xff09; 需求描述 有多个mysql的实例#xff0c;每个实例中有多个…数据处理的规范中第一个层次是ODS一般成为贴元层最靠近业务库的数据。需要统计ODS中有数据表的行数及更新频率。假设在ODS中是Mysql数据库 需求描述 有多个mysql的实例每个实例中有多个数据库schema每个shema有多个数据表。原始的数据定时增量同步或全量同步到ODS中ODS中不包含数据的历史版本。是同步的最新版本。 根据当前的现状需要统计 每个表有多少行 每个表更新的频率 每个表的字段详细 实现思路 分析需求 通过读取myql的元数据获取到每个数据表的行数。然后持续保存一定的周期如60天可以观察一下它的趋势如果在60天之后都没有更新基本上不是高频数据。 通过读取mysql的元数据获取每个表的字段信息可以获取到每个表的字段详细信息这个不需要保留历史版本仅仅保留最新的一个版本 技术方案 使用SpringBootjpa的方式来进行实现 表元数据获取 解析config.xml文件形成一个类。然后采用jdbc的原始方式进行循环连接各url。获取到数据之后转入到相应的类中。使用jpa的entity的方式将数据保存到数据库中 列元数据获取 解析config.xml文件形成一个类。然后采用jdbc的原始方式进行循环连接各url。获取到列的数据之后转入到相应的类中。使用jpa的entity的方式将数据 分批 保存到数据库中 非功能性 为保障程序的稳健性运行需要考虑 日志异常可配置性 日志 logback:rolling policy:file-name-pattern: datemeta.%d{yyyy-MM-dd}.%i.logmax-history: 10max-file-size: 1000KBtotal-size-cap: 20000KB 异常 自定义异常及枚举异常的类型 public enum DbMetaErrorCode {// 文件相关错误CONFIG_FILE_NOT_FOUND(1001, 配置文件未找到: {0}),CONFIG_PARSE_ERROR(1002, 配置文件解析失败: {0}),// 配置验证错误DUPLICATE_DATA_INSTANCE(2001, 发现重复的数据源实例名称: {0}),MISSING_DATA_INSTANCE_NAME(2002, 数据源实例缺少有效的 dbinstancename),INVALID_DATASOURCE_URL(2003, {0}: URL无效),MISSING_DRIVER_CLASS(2004, {0}: 缺少驱动类名),INVALID_KEEPDAYS(2005, 保留天数无效, 必须在{0}-{1}之间, 当前值: {2}),MISSING_DEST_DATASOURCE(2006, 目标数据源配置缺失),MISSING_DEST_URL(2007, 目标数据源URL缺失),MISSING_DEST_DRIVER(2008, 目标数据源驱动类名缺失),// 系统错误SYSTEM_STARTUP_FAILED(5001, 系统启动失败),DATABASE_CONNECTION_FAILED(5002, 数据库连接失败: {0}),// 通用错误INVALID_CONFIG(6001, 配置无效: {0});private final int code;private final String messageTemplate;DbMetaErrorCode(int code, String messageTemplate) {this.code code;this.messageTemplate messageTemplate;}public int getCode() {return code;}public String getMessage(Object... params) {return MessageFormat.format(messageTemplate, params);} } 配置化 原始数据库的连接配置化 目标数据库的连接配置化 用户的使用方式 本机具有jdk8以上环境 有3个文件将这3个文件复制到同一个目录下。该目录不要使用中文。 数据源配置config.xml 字段解释 keepdays在数据库中保留的表的元数据历史版本天数 sourcedatasource 是针对原始的数据库实例的目录 datainstance是数据库的实例可以有多个实例如ABC等 数据库实例中有多个数据库仅选择任意一个数据库配置数据库连接。这样就可以访问该实例中所有的元数据。 如数据库有5个实例ABCDE每个实例下有100个库。 那么在 需要配置 datainstance 5个。 每个里面的原始选择该 datainstance下任意一个数据库的driveclass urlpassword destinationdatasource 这个是将结果的元数据存入的数据库统计的数据会被执行到该数据库中 注意在xml中配置连接的时候如果出现特殊字符需要进行转义。如 字符需要转换为amp, destinationdatasourcedriverclassnamecom.mysql.cj.jdbc.Driver/driverclassnameurljdbc:mysql://localhost:3306/speed?useUnicodetrueamp;characterEncodingutf-8amp;useSSLfalseamp;serverTimezoneAsia/Shanghai/urlusernameroot/usernamepasswordSteven123/passwordnote目标数据库/note/destinationdatasource 目标数据库下sql语句执行 CREATE TABLE tablemetainfo (id bigint NOT NULL,codecreateUserId varchar(255) DEFAULT NULL,codecreateTime datetime(6) DEFAULT NULL,codelastModifiedUserId varchar(255) DEFAULT NULL,codelastModifiedTime datetime(6) DEFAULT NULL,codeversion int DEFAULT NULL,dbinstancename varchar(255) DEFAULT NULL,note varchar(255) DEFAULT NULL,tableCatalog varchar(255) DEFAULT NULL,tableSchema varchar(255) DEFAULT NULL,tableName varchar(255) DEFAULT NULL,tableType varchar(255) DEFAULT NULL,engine varchar(255) DEFAULT NULL,version int DEFAULT NULL,rowFormat varchar(255) DEFAULT NULL,tableRows bigint DEFAULT NULL,avgRowLength bigint DEFAULT NULL,dataLength bigint DEFAULT NULL,maxDataLength bigint DEFAULT NULL,indexLength bigint DEFAULT NULL,dataFree bigint DEFAULT NULL,autoIncrement bigint DEFAULT NULL,createTime datetime(6) DEFAULT NULL,updateTime datetime(6) DEFAULT NULL,checkTime datetime(6) DEFAULT NULL,tableCollation varchar(255) DEFAULT NULL,checksum varchar(255) DEFAULT NULL,createOptions varchar(255) DEFAULT NULL,tableComment varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;CREATE TABLE columnmetainfo (id bigint NOT NULL,codecreateUserId varchar(255) DEFAULT NULL,codecreateTime datetime(6) DEFAULT NULL,codelastModifiedUserId varchar(255) DEFAULT NULL,codelastModifiedTime datetime(6) DEFAULT NULL,codeversion int DEFAULT NULL,dbname varchar(255) DEFAULT NULL,note varchar(255) DEFAULT NULL,tableCatalog varchar(255) DEFAULT NULL,tableSchema varchar(255) DEFAULT NULL,tableName varchar(255) DEFAULT NULL,columnName varchar(255) DEFAULT NULL,ordinalPosition int NOT NULL,columnDefault varchar(255) DEFAULT NULL,isNullable varchar(255) DEFAULT NULL,dataType varchar(255) DEFAULT NULL,numericPrecision int DEFAULT NULL,numericScale int DEFAULT NULL,datetimePrecision int DEFAULT NULL,characterSetName varchar(255) DEFAULT NULL,collationName varchar(255) DEFAULT NULL,columnType varchar(255) DEFAULT NULL,columnKey varchar(255) DEFAULT NULL,extra varchar(255) DEFAULT NULL,privileges varchar(255) DEFAULT NULL,columnComment varchar(255) DEFAULT NULL,generationExpression varchar(255) DEFAULT NULL,srsId varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;CREATE TABLE logdto (id bigint NOT NULL,codecreateUserId varchar(255) DEFAULT NULL,codecreateTime datetime(6) DEFAULT NULL,codelastModifiedUserId varchar(255) DEFAULT NULL,codelastModifiedTime datetime(6) DEFAULT NULL,codeversion int DEFAULT NULL,logContent varchar(255) DEFAULT NULL,logType int DEFAULT NULL,operateType int DEFAULT NULL,createBy varchar(255) DEFAULT NULL,createTime datetime(6) DEFAULT NULL,costTime bigint DEFAULT NULL,ip varchar(255) DEFAULT NULL,requestParam varchar(255) DEFAULT NULL,requestType varchar(255) DEFAULT NULL,requestUrl varchar(255) DEFAULT NULL,method varchar(255) DEFAULT NULL,username varchar(255) DEFAULT NULL,userid varchar(255) DEFAULT NULL,tenantId int DEFAULT NULL,clientType varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci; 运行程序 在3个文件的目录下进入dos的界面执行 java -jar .\dbmeta-1.0.1.jar将自动部署一个web服务程序 获取表的元数据 用户手动触发访问 这个是获取到最新的表的元数据。 http://127.0.0.1:8066/tabledatainfo 自动定时任务 // 每天凌晨5点执行cron 表达式0 0 5 * * ? Scheduled(cron 0 0 5 * * ?)每次执行的时候把今天的数据先进行删除然后把60天的数据删除然后在插入本次获取的数据。 获取列的元数据 这个是获取到最新的列的元数据 http://127.0.0.1:8066/columndatainfo 列每次手动更新没有必要定时任务 数据分析 SELECT     dbinstancename,     tableSchema,     tablename,(     max( tablerows )- min( tablerows )) maxmindiff  FROM     tableinfo  GROUP BY     dbinstancename,     tableSchema,     tablename  HAVING     max( tablerows )- min( tablerows )10 假设   最大值-最小值10为更新频率高的标记。 从这个结果集中可以初步评估有哪些是高频更新哪些是低频更新。 这种评估方法对于在ods中没有更新时间的来看是可参考的。 最理想的方式是在ODS的同步时候同时需要同步 updatetime的时间 开源的代码地址 https://gitee.com/stevenworkshop_admin/dbmeta
http://www.w-s-a.com/news/973496/

相关文章:

  • wordpress附件扩展格式徐州seo关键词
  • wordpress博客站模板织梦网站 联系方式修改
  • 北京城乡建设厅网站重庆网站建设解决方案
  • 网站建设和维护工作内容网站的空间与域名
  • 济南做门户网站开发公司网页发布的步骤
  • 江苏省交通厅门户网站建设管理办法做的网站怎么让百度收录
  • 关于怎么做网站网站site的收录数量要多远索引量
  • 传世网站建设阳光创信-网站建设首选品牌
  • 周口建设网站中国装修公司十大排名
  • wordpress自助发卡青浦网站优化
  • 南京建设银行公积金查询网站wordpress加载插件下载
  • 做网站怎么那么难网站的建设与管理的心得体会
  • 黄冈网站建设哪家快些网站规划与建设评分标准
  • 建站平台 绑定域名怎么在手机上做网站
  • 做电影网站违法吗莱芜 网站
  • 品牌咨询公司泉州seo不到首页不扣费
  • 做网站做一个什么主题的怎样搭建一个企业网站
  • 做设计的有什么网站桂林论坛网站有哪些
  • 做的网站不能放视频开发公司春联
  • 重庆装修房子可以提取公积金吗长沙优化官网公司
  • 做外贸的网站都有哪些带后台的html网站源码
  • 厦门百度快速优化排名手机系统优化工具
  • 宁波网站制作公司推荐公司建站多少钱
  • 网络营销薪酬公司温州网站优化定制
  • 橙色在网站中的应用淘宝客绑定网站备案号
  • 杭州视频网站建设成都设计院排行
  • 慈溪建设网站盘丝洞app破解无限盘币
  • 关于服装店网站建设的策划方案seo关键词优化软件官网
  • 丰台高端网站建设土巴兔装修贵吗
  • 宽屏网站mysqli pdo wordpress