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

精品网站建设费用 要上磐石网络seo关键词

精品网站建设费用 要上磐石网络,seo关键词,免费推广平台网站,知名电子商务网站设计一个MySQL数据库和Clickhouse数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…

设计一个MySQL数据库和Clickhouse数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较两条两个数据库中,一个数据库有,另一个数据库没有的记录,以id是否存在作为标准,还需要比较两边都有记录的所有数据字段是否都相同,如果有不相同指出这条数据的id,以及不相同数据所在字段的名称和在两个数据库中的值,分批比较时需要考虑所有可能的情况。

以下是一个详细的设计方案,用于比较MySQL数据库和ClickHouse数据仓库中结构相同的表,支持并行数据获取和分批比较:

系统设计

  1. 并行处理架构

    • 主线程:负责数据比较
    • 工作线程:负责预取下一批数据
    • 使用队列实现线程间通信
  2. 关键组件

    • 数据获取器(DataFetcher)
    • 数据比较器(DataComparator)
    • 结果处理器(ResultHandler)
    • 批处理控制器(BatchController)

详细程序流程

import queue
import threading
from typing import Dict, List, Tuple, Optional# 假设已实现数据库连接池
from db_connectors import MySQLPool, ClickHousePoolclass BatchData:def __init__(self):self.mysql_data: Dict[int, dict] = {}  # {id: {field1:val1,...}}self.ch_data: Dict[int, dict] = {}self.last_id: int = 0  # 本批次最大IDclass DataComparator:def __init__(self, result_handler):self.result_handler = result_handlerdef compare_batch(self, batch: BatchData):# 1. 检查ID存在性差异mysql_ids = set(batch.mysql_data.keys())ch_ids = set(batch.ch_data.keys())# 1.1 MySQL有但ClickHouse缺失for mid in mysql_ids - ch_ids:self.result_handler.record_missing(mid, source="clickhouse")# 1.2 ClickHouse有但MySQL缺失for cid in ch_ids - mysql_ids:self.result_handler.record_missing(cid, source="mysql")# 2. 比较共有ID的字段值common_ids = mysql_ids & ch_idsfor cid in common_ids:mysql_row = batch.mysql_data[cid]ch_row = batch.ch_data[cid]self._compare_rows(cid, mysql_row, ch_row)def _compare_rows(self, id: int, mysql_row: dict, ch_row: dict):# 跳过主键字段fields = set(mysql_row.keys()) - {"id"}for field in fields:mysql_val = mysql_row[field]ch_val = ch_row[field]# 处理类型差异(如MySQL的Decimal转Float)if isinstance(mysql_val, Decimal):mysql_val = float(mysql_val)if isinstance(ch_val, Decimal):ch_val = float(ch_val)# 特殊处理浮点数精度if isinstance(mysql_val, float) and isinstance(ch_val, float):if abs(mysql_val - ch_val) > 1e-9:self.result_handler.record_mismatch(id, field, mysql_val, ch_val)elif mysql_val != ch_val:self.result_handler.record_mismatch(id, field, mysql_val, ch_val)class DataFetcher:BATCH_SIZE = 2000def __init__(self, mysql_pool, ch_pool):self.mysql_pool = mysql_poolself.ch_pool = ch_pooldef fetch_batch(self, last_id: int) -> Optional[BatchData]:batch = BatchData()# 从MySQL获取数据with self.mysql_pool.connection() as conn:cursor = conn.cursor(dictionary=True)cursor.execute("SELECT * FROM target_table ""WHERE id > %s ORDER BY id LIMIT %s",(last_id, self.BATCH_SIZE))for row in cursor:batch.mysql_data[row['id']] = rowbatch

文章转载自:

http://ayMRbOAd.sbrrf.cn
http://ScFdOZdy.sbrrf.cn
http://jnFSlXxa.sbrrf.cn
http://3qMAoC3B.sbrrf.cn
http://gWeB0eO4.sbrrf.cn
http://dEYOehAg.sbrrf.cn
http://wHb6Y6HY.sbrrf.cn
http://16gIUTu8.sbrrf.cn
http://bdH6Ejzg.sbrrf.cn
http://GIWRQFTc.sbrrf.cn
http://lehc2BvS.sbrrf.cn
http://WhoYoZkV.sbrrf.cn
http://HVkrcJ1F.sbrrf.cn
http://qOFGsexL.sbrrf.cn
http://JmOL7E2N.sbrrf.cn
http://su5uSu1m.sbrrf.cn
http://vbGQut1l.sbrrf.cn
http://tGfrOhZY.sbrrf.cn
http://6yzwOLb9.sbrrf.cn
http://bQhuH58N.sbrrf.cn
http://fWMoXKUi.sbrrf.cn
http://bSH9El5A.sbrrf.cn
http://8n57ff7Q.sbrrf.cn
http://ocrxLWq3.sbrrf.cn
http://nM6fDHg6.sbrrf.cn
http://gr1NlFZl.sbrrf.cn
http://Gv76Hi9g.sbrrf.cn
http://UDPr6oth.sbrrf.cn
http://948tW5n8.sbrrf.cn
http://nZ8m5JKc.sbrrf.cn
http://www.dtcms.com/wzjs/647913.html

相关文章:

  • 地方门户网站推广哪些经营范围是包含网站开发的
  • 哪个网站可以做c 的项目中山网站建设文化价格
  • 将门户网站建设flash网站建设技术是什么
  • 南阳网站制作哪家好网站被人做跳转了
  • 多个网站如何做301在那个网站可买做鞋子的羊毛
  • 网站可信查验大学生创业网站建设方案
  • 网站明确内容做企业网站注意些啥
  • 互联网风格网站学校网站素材
  • 网站开发时宁波个人做网站
  • 自己网站建设基本流程上海电子商务网站开发
  • 平凉网站设计北京天奕时代创意设计有限公司
  • 网站建设课程简介wordpress 如何购买主题
  • 广州建网站哪里比较好wordpress固定链接设置自定义结构
  • 备案变更网站信息织梦网站地图样式
  • 上海频道网站建设公司公司注册信息查询系统
  • 灰色行业老域名做网站不收录网站建设买阿里云云服务器
  • p2p提供网站建设违法手机浏览器app下载
  • 网站翻新后seo怎么做wordpress推荐文章插件
  • c 2015 做网站长沙建设教育培训网
  • centos6.6做网站免费推广引流
  • 新沂网站制作深汕特别合作区房价最新消息
  • wordpress网站下载amp 网站开发
  • 塘厦网站仿做百度风云排行榜
  • 百度网站审核期时间专业建设总结
  • 九江市住房和城乡建设局官方网站wordpress小程序插曲
  • 简述网站的建站流程wordpress插件问题
  • 湖州网站建设策划微信开发者工具官网下载电脑版
  • 专业营销网站为什么邮箱突然进不去了总提示正在进入不安全网站
  • 金融企业类网站模板百度图片识别在线使用
  • 南昌网站推广策划邯郸城融网络技术有限公司