解决方案:现在赚建站自助建站平台

优采云 发布时间: 2022-10-26 18:15

  解决方案:现在赚建站自助建站平台

  随着互联网的飞速发展,网站建设越来越受到关注。优秀的企业网站可以为企业形象代言,也可以成为产品或服务推广的重要窗口,是企业采集客户反馈、建立产品信息数据库的重要渠道。与发展相比,现在的专建站具有建设速度快、成本低的优势,可以满足部分中小企业的建设需求,市场上的专建站平台也越来越多,可供企业选择。

  一般来说,宣传和商场的核心功能会有很大的不同,适合的建站工具也会不同。本指南主要总结了宣传网站建站系统的评价体系,解读了各项指标的选取原则,为企业采购提供参考。

  

  现在赚钱站平台的作用是企业可以自主创建一个安全稳定的企业网站,管理网站。基于这一核心原则,微启店总结出一套适用于当前赚钱网站平台的核心评价体系,从基本参数、网站生产经营、安全稳定四个维度对每个体系进行评价。

  网站的基本参数包括空间、流量、文章的数量和页数,不同的建站平台会有所不同。而且,即使是同一个建站平台,也会提供多个版本的产品,不同的套餐价格。不同版本除了基本参数外,核心功能也不同。

  系统的网站编辑功能决定了网站的最终效果,是建站时需要关注的核心指标。下面主要从模板编辑和个性化制作两个方面来评价。

  

  现在赚钱和建站的主要方法是:基于平台模板,企业插入文字、图片、视频等内容,通过添加*敏*感*词*等特效实现网站制作。很多赚钱网站的模板只能换图换文,不支持排版。如果要进行个性化设计,则应避免购买此类平台。微启店现在赚了一个网站平台,可以支持任何形式的排版,更适合有个性化设计的用户。

  在图片处理方面,外链是指通过输入URL直接从外网上传图片到网站,为企业更新旧的网站提供了方便。部分平台自带的图片编辑器可以实现图片旋转、裁剪、大小变化等基本功能,让图片更好的贴合网站。

  高效的解决方案:当 TiDB 与 Flink 相结合:高效、易用的实时数仓

  随着互联网的快速发展,企业业务的种类会越来越多,业务数据量也会越来越大。当发展到一定规模时,传统的数据存储结构逐渐不能满足企业的需求,实时数仓成为必要的基础服务。以维表Join为例,数据在业务数据源中以范式表的形式存储,分析时需要进行大量的Join操作,降低了性能。如果在数据清洗和导入过程中可以在一个流中完成join,那么分析时就不需要再次join,从而提高查询性能。

  利用实时数仓,企业可以实现实时OLAP分析、实时数据看板、实时业务监控、实时数据接口服务等用途。但一想到实时数仓,很多人的第一印象就是结构复杂,运维难度大。得益于新版 Flink 对 SQL 的支持以及 TiDB HTAP 的特性,我们探索出了一种高效易用的 Flink+TiDB 实时数仓方案。

  本文将首先介绍实时数仓的概念,然后介绍 Flink+TiDB 实时数仓的架构和优势,然后给出一些已经在使用的用户场景,最后在 docker 中给出一个 Demo-为读者编写环境试试看。

  实时数据仓库的概念

  数据仓库的概念是由比尔·英蒙在 1990 年代提出的,它指的是一种面向主题的、集成的、相对稳定的集合,它反映了历史的变化,以支持管理决策。当时的数据仓库通过消息队列从数据源采集数据,并每天或每周进行计算以用于报告目的,也称为离线数据仓库。

  进入21世纪,随着计算技术的发展和整体计算能力的提高,决策主体逐渐从人工控制转向计算机算法,出现了实时推荐、实时监控和分析,相应的决策周期时间从天上逐渐拉长。变成了二级,在这些场景下,实时数据仓库应运而生。

  目前的实时数仓主要有三种架构:Lambda架构、Kappa架构和实时OLAP变体架构:

  Lambda架构是指将实时数仓部分叠加在离线数仓上,使用流引擎处理高实时性数据,最终统一离线和在线结果供应用使用。

  Kappa架构去掉了离线数仓部分,采用实时数据生产。这种架构统一了计算引擎,降低了开发成本。

  随着实时OLAP技术的进步,提出了一种新的实时架构,暂称为“实时OLAP变体”。简单来说,就是将部分计算压力从流计算引擎转移到实时OLAP分析引擎,从而进行更灵活的实时数仓计算。

  综上所述,对于实时数仓来说,Lambda架构需要维护两套流式处理和批处理式引擎,开发成本比另外两套要高。与 Kappa 架构相比,实时 OLAP 变体架构可以进行更灵活的计算,但需要额外的实时 OLAP 计算资源。我们接下来要介绍的 Flink + TiDB 实时数仓方案属于实时 OLAP 变体架构。

  更详细的实时数仓和这些架构对比,感兴趣的读者可以参考Flink中文社区的这个文章:​​​​

  Flink+ TiDB 实时数仓

  Flink 是一个低延迟、高吞吐量、流批统一的大数据计算引擎。广泛用于高实时场景下的实时计算,具有支持exactly-once等重要特性。

  集成 TiFlash 后,TiDB 成为了真正的 HTAP(Online Transaction Processing OLTP + Online Analytical Processing OLAP)数据库。也就是说,在实时数仓架构中,TiDB 可以作为数据源的业务数据库来处理业务查询;它还可以用作实时 OLAP 引擎,在分析场景中执行计算。

  结合 Flink 和 TiDB 的特点,Flink+TiDB 方案的优势也体现出来:一是速度有保障,两者都可以通过横向扩展节点来增加算力;其次,学习和配置成本相对较低,因为 TiDB 兼容 MySQL 5.7 协议,而且最新版本的 Flink 也可以完全通过 Flink SQL 和强大的连接器编写和提交任务,节省了用户的学习成本。

  对于 Flink + TiDB 实时数仓,以下是几个常用的搭建原型,可以满足不同的需求,也可以在实际使用中进行扩展。

  使用 MySQL 作为数据源

  通过使用 Ververica 官方提供的 flink-connector-mysql-cdc[1],Flink 不仅可以生成动态表作为 采集layer采集 MySQL 的 binlog,还可以将流计算实现为流计算层,如 Streaming Join、预聚合等。最后,Flink 通过 JDBC 连接器将计算出来的数据写入 TiDB。

  这种架构的优点是非常简单方便。当 MySQL 和 TiDB 准备好对应的数据库和表时,只需要编写 Flink SQL 就可以完成任务的注册和提交。读者可以在本文末尾的“在 docker-compose 中尝试”部分尝试这种架构。

  连接 Flink 和 Kafka

  如果数据已经从其他通道存储在 Kafka 中,Flink 可以通过 Flink Kafka Connector[2] 轻松地从 Kafka 获取数据。

  这里需要提一下,如果想将 MySQL 或其他数据源的变更日志存储在 Kafka 中,供 Flink 后续处理,建议使用 Canal 或 Debezium 采集 数据源变更日志,因为 Flink 1.11 原生支持以这两种工具格式解析变更日志,无需实现额外的解析器。

  

  使用 TiDB 作为数据源

  TiCDC[3] 是通过拉取 TiKV 变更日志实现的 TiDB 增量数据同步工具。可用于将 TiDB 的变化数据输出到消息队列,然后由 Flink 提取。

  在 4.0.7 版本中,可以通过 TiCDC Open Protocol[4] 完成与 Flink 的连接。在后续版本中,TiCDC 将支持直接输出 canal-json 格式供 Flink 使用。

  案例与实践

  上一节介绍了一些基础架构,实践中的探索往往更加复杂有趣。本节将介绍一些具有代表性和启发性的用例。

  小红书

  小红书是年轻人的生活方式平台。用户可以通过短视频、图片和文字记录生活瞬间,分享自己的生活方式,并根据兴趣形成互动。截至2019年10月,小红书月活跃用户数已突破1亿,并持续快速增长。

  在小红书的业务架构中,Flink 的数据源和数据聚合都是 TiDB 来实现类似“物化视图”的效果:

  左上角的在线业务表执行正常的OLTP任务。下面的 TiCDC 集群将 TiDB 的实时变化数据提取出来,以 changelog 的形式传输到 Kafka。Flink 读取 Kafka 中的 changelog 并进行计算,例如拼出宽表或聚合表。Flink 将结果写回 TiDB 的宽表中,供后续分析。

  整个过程形成 TiDB 的闭环,将后续分析任务的 Join 工作转移到 Flink,通过流计算缓解压力。目前,该解决方案已支持小红书的内容审核、笔记标签推荐、成长审核等业务,经历了线上业务高通量的考验,持续稳定运行。

  优采云金衣

  优采云金富在住宅领域深耕多年,积累了丰富的中国房地产大数据。优采云金服以金融科技为驱动,利用AI算法高效应用多维海量数据,提升产品体验,为用户提供丰富的定制化金融服务。

  在优采云数据组的数据服务中,Flink实时计算用于一个典型的维表Join:

  首先,使用 Syncer(MySQL 到 TiDB 的轻量级同步工具)采集 将业务数据源上的维表数据同步到 TiDB。然后,将业务数据源上的流表数据通过canal采集binlog存入kafka消息队列。Flink 读取 Kafka 中流表的变更日志,尝试进行流连接,并在需要维度表中的数据时搜索 TiDB。最后,Flink 将扁平化的宽表写入 TiDB 进行数据分析服务。

  使用上述结构,可以实时join数据服务中的主表,然后服务器只需要查询单表即可。本系统已深入到优采云Golden Service中的各个核心业务系统,通过数据组的数据服务统一跨系统的数据获取,省去了业务系统开发API和内存聚合的开发工作数据代码。

  智慧芽

  PatSnap 是一个全球专利搜索数据库,整合了自 1790 年以来来自全球 116 个国家和地区的 1.3 亿条专利数据和 1.7 亿条化学结构数据。检索、浏览、翻译专利,生成 Insights 专利分析报告,用于专利价值分析、引文分析、法律搜索,并查看 3D 专利地图。

  Wisdom Buds 用 Flink + TiDB 取代了原来的 Segment + Redshift 架构。

  原Segment + Redshift架构只搭建ODS层,数据写入的规则和schema不受控制。并且需要为ODS编写复杂的ETL,根据业务需求计算各种指标,完成上层需求。Redshift掉数据量大,计算慢(T+1时限),影响对外*敏*感*词*能。

  替换为基于 Kinesis + Flink + TiDB 的实时数仓架构后,不再需要构建 ODS 层。Flink作为预计算单元,直接从业务构建Flink Job ETL,完全控制数据库drop规则,自定义schema;即只对业务关心的指标进行清洗,写入 TiDB 进行后续分析查询,写入数据量大大减少。根据用户/租户、区域、业务动作等关注的指标,结合分钟、小时、天等不同粒度的时间窗口,在 TiDB 上构建一个 DWD/DWS/ADS 层直接服务于业务统计、列表等需求,上层应用可以直接使用构建好的数据,

  用户体验:使用新架构后,存储数据量、存储规则、计算复杂度大大降低。数据已根据业务需求在 Flink 作业中处理并写入 TiDB,不再需要基于 Redshift 的全 ODS。T+1 ETL 层。基于 TiDB 构建的实时数仓,通过合理的数据分层,结构大大简化,开发和维护变得更简单;数据查询、更新、写入性能大幅提升;针对不同的即席分析需求,不再需要等待类似Redshift预编译的过程;扩展方便、简单、易于开发。

  目前该框架正在上线,用于分析和跟踪Smart Bud内部的用户行为,总结公司运营市场、用户行为分析、租户行为分析等功能。

  网易互动娱乐

  网易于2001年正式成立网络游戏事业部,经过近20年的发展,已成为全球七大游戏公司之一。网易在 App Annie 发布的“2020 年全球发行商 52 强”榜单中位列第二。

  在网易互娱计费组的应用架构中,一方面使用 Flink 完成业务数据源到 TiDB 的实时写入;分析报告。此外,网易互娱现已内部开发了Flink作业管理平台,对作业的全生命周期进行管理。

  

  知乎

  知乎是中国互联网综合内容平台,以“让大家高效获得可靠答案”为品牌使命和北极星。截至 2019 年 1 月,知乎 拥有超过 2.2 亿用户,并产生了 1.3 亿条回复。

  知乎作为 PingCAP 的合作伙伴和 Flink 的深度用户,他在自己的实践中开发了一套 TiDB 和 Flink 交互工具,并为开源社区做出了贡献:pingcap-incubator/TiBigData[5],主要包括以下功能:

  TiDB 作为 Flink Source Connector 用于批量同步数据。TiDB 作为 Flink Sink Connector,基于 JDBC 实现。Flink TiDB Catalog,可以直接在 Flink SQL 中使用 TiDB 表,无需重新创建。在 docker-compose 中尝试一下

  为了方便读者更好的理解,我们提供了一个基于 docker-compose 的 MySQL-Flink-TiDB 测试环境供大家测试使用。

  Flink TiDB 实时数仓 Slides[6] 提供了该场景的简单教程,包括概念讲解、代码示例、简单原理和一些注意事项,示例包括:

  Flink SQL 简单尝试使用 Flink 从 MySQL 导入数据到 TiDB,双流 Join 维表 Join

  启动 docker-compose 后,可以通过 Flink SQL Client 编写和提交 Flink 任务,通过 localhost:8081 观察任务的执行情况。

  如果您对 Flink+TiDB 实时数仓方案有兴趣、疑惑,或者在探索实践过程中积累了经验想分享,欢迎来到 TiDB 社区(如 AskTUG[7])和Flink 社区(如 Flink Chinese Mail[8] ])或通过我的邮箱(​​​)。

  参考读物

  Flink中文社区关于实时数仓概念和Join on stream的讨论:

  基于 Flink 的典型 ETL 场景实现​​​

  小红书分享使用 TiDB文章 的实践:

  我们如何使用横向扩展 HTAP 数据库进行实时分析和复杂查询

  TiDB 的 HTAP 架构及其在数据平台上的应用:

  我们如何构建简化 DataPlatform 的 HTAP 数据库

  TiDB 原理论文:

  TiDB:基于 Raft 的 HTAP 数据库

  Flink中文社区,关于Flink SQL CDC的运维生产经验:

  FlinkSQL CDC 上线!我们总结了13条生产实践经验​​​​

  参考链接:

  [1]​​​​

  [2]​​​​

  [3]​​​​

  [4]​​​​

  [5]​​​​

  [6]​​​​

  [7]​​​​

  [8]​​​​

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线