做产品网站设计应该注意什么网站营销的优势

web/2025/9/29 3:29:50/文章来源:
做产品网站设计应该注意什么,网站营销的优势,青岛网站产品图片设计,网站html5模板一、ShardingSphere ShardingSphere 是一款起源于当当网内部的应用框架。2015年在当当网内部诞 生#xff0c;最初就叫ShardingJDBC 。2016年的时候#xff0c;由其中一个主要的开发人员张亮#xff0c; 带入到京东数科#xff0c;组件团队继续开发。在国内历经了当当网、电…一、ShardingSphere ShardingSphere 是一款起源于当当网内部的应用框架。2015年在当当网内部诞 生最初就叫ShardingJDBC 。2016年的时候由其中一个主要的开发人员张亮 带入到京东数科组件团队继续开发。在国内历经了当当网、电信翼支付、京东数 科等多家大型互联网企业的考验在2017年开始开源。并逐渐由原本只关注于关系 型数据库增强工具的ShardingJDBC 升级成为一整套以数据分片为基础的数据生态  圈更名为ShardingSphere 。到2020年4月已经成为了Apache软件基金会的顶级项目。         ShardingSphere包含三个重要的产品ShardingJDBC、ShardingProxy和ShardingSidecar。其中sidecar是针对service mesh定位的一个分库分表插件目 前在规划中。而我们今天学习的重点是ShardingSphere 的JDBC 和Proxy这两个组  件。 其中 ShardingJDBC  是用来做客户端分库分表的产品而ShardingProxy  是 用 来做服务端分库分表的产品。这两者定位有什么区别呢?我们看下官方资料中给出的两个重要的图 shardingJDBC 定位为轻量级 Java 框架在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库以jar 包形式提供服务无需额外部署和依赖可理解为增强版的 JDBC 驱动完全兼容 JDBC 和各种 ORM  框架。 ShardingProxy ShardingProxy 定位为透明化的数据库代理端提供封装了数据库二进制协议的服 务端版本用于完成对异构语言的支持。目前提供 MySQL  和 PostgreSQL  版本它可以使用任何兼容 MySQL/PostgreSQL   协议的访问客户端。 那这两种方式有什么区别呢? 很显然 ShardingJDBC  只是客户端的一个工具包可以理解为一个特殊的JDBC驱动包所有分库分表逻辑均由业务方自己控制所以他的功能相对灵活支持的 数据库也非常多但是对业务侵入大需要业务方自己定制所有的分库分表逻辑。  而ShardingProxy 是一个独立部署的服务对业务方无侵入业务方可以像用一个 普通的MySQL  服务一样进行数据交互基本上感觉不到后端分库分表逻辑的存在 但是这也意味着功能会比较固定能够支持的数据库也比较少。这两者各有优劣。 二、ShardingJDBC实战 shardingjdbc的核心功能是数据分片和读写分离通过ShardingJDBC应用可以  透明的使用JDBC访问已经分库分表、读写分离的多个数据源而不用关心数据源的数量以及数据如何分布。 1、核心概念 逻辑表水平拆分的数据库的相同逻辑和数据结构表的总称真实表在分片的数据库中真实存在的物理表。数据节点数据分片的最小单元。由数据源名称和数据表组成绑定表分片规则一致的主表和子表。广播表也叫公共表指素有的分片数据源中都存在的表表结构和表中的数据在每个数据库中都完全一致。例如字典表。分片键用于分片的数据库字段是将数据库(表)进行水平拆分的关键字段。SQL中若没有分片字段将会执行全路由性能会很差。分片算法通过分片算法将数据进行分片支持通过、BETWEEN和IN分片。分片算法需要由应用开发者自行实现可实现的灵活度非常高。分片策略真正用于进行分片操作的是分片键分片算法也就是分片策略。在 ShardingJDBC中一般采用基于Groovy表达式的inline分片策略通过一个包含 分片键的算法表达式来制定分片策略如t_user_$-{u_id%8}标识根据u_id模   8分成8张表表名称为t_user_0到t_user_7。 2、测试项目介绍         测试项目参见配套的ShardingDemo项。首先我们对测试项目的结构做下简单的梳理 注1、引入MyBatisPlus依赖简化JDBC操作这样我们就不需要在代 码中写SQL语句了。 2、entity中的实体对象就对应数据库中的表结构。而mapper 中的接口 则对应JDBC操作。 3、所有操作均使用JUnit的测试案例执行。后续所有测试操作都会配合 application.properties 中的配置以及JUnit测试案例进行。 4、关于ShardingSphere版本由于目前最新的5.0版本还在孵化当中 所以我们使用已发布的4.1.1版本来进行学习。 3、快速实战 我们先运行一个简单的实例来看下ShardingJDBC是如何工作的。 在application.properties配置文件中写入application01.properties文件的内容 #垂直分表策略 # 配置真实数据源 spring.shardingsphere.datasource.namesm1# 配置第 1 个数据源 spring.shardingsphere.datasource.m1.typecom.alibaba.druid.pool.DruidDataSo urce spring.shardingsphere.datasource.m1.driver-class- namecom.mysql.cj.jdbc.Driver spring.shardingsphere.datasource.m1.urljdbc:mysql://localhost:3306/coursed b?serverTimezoneGMT%2B8 spring.shardingsphere.datasource.m1.usernameroot spring.shardingsphere.datasource.m1.passwordroot# 指定表的分布情况 配置表在哪个数据库里表名是什么。水平分表分两个表 m1.course_1,m1.course_2 spring.shardingsphere.sharding.tables.course.actual-data-nodesm1.course_$- {1..2}# 指定表的主键生成策略 spring.shardingsphere.sharding.tables.course.key-generator.columncid spring.shardingsphere.sharding.tables.course.key-generator.typeSNOWFLAKE #雪花算法的一个可选参数 spring.shardingsphere.sharding.tables.course.key- generator.props.worker.id1#使用自定义的主键生成策略 #spring.shardingsphere.sharding.tables.course.key-generator.typeMYKEY #spring.shardingsphere.sharding.tables.course.key-generator.props.mykey- offset88#指定分片策略 约定cid值为偶数添加到course_1表。如果是奇数添加到course_2表。 # 选定计算的字段 spring.shardingsphere.sharding.tables.course.table- strategy.inline.sharding-column cid # 根据计算的字段算出对应的表名。 spring.shardingsphere.sharding.tables.course.table- strategy.inline.algorithm-expressioncourse_$-{cid%21}# 打开sql日志输出。 spring.shardingsphere.props.sql.showtruespring.main.allow-bean-definition-overridingtrue 然后我们执行测试案例中的addcourse 案例。 执行后我们可以在控制台看到很多条这样的日志         从这个日志中我们可以看到程序中执行的Logic SQL经过ShardingJDBC处理后 被转换成了Actual SQL往数据库里执行。执行的结果可以在MySQL中看到course_1和course_2两个表中各插入了五条消息。这就是ShardingJDBC帮我们进 行的数据库的分库分表操作。 然后其他的几个配置文件依次对应了其他几种分库分表策略我们可以——演示一下。 ·application02.properties: 分库分表示例配置。内置分片算法示例 inline、standard、complex、hint。 广播表配置示例。 ·application03.properties:   绑定表示例配置 ·application04.properties:  读写分离示例配置 4、ShardingJDBC  的分片算法         ShardingJDBC 的整个实战完成后可以看到整个分库分表的核心就是在于配  置的分片算法。我们的这些实战都是使用的inline分片算法即提供一个分片键和一 个分片表达式来制定分片算法。这种方式配置简单功能灵活是分库分表最佳的  配置方式并且对于绝大多数的分库分片场景来说都已经非常好用了。但是如  果针对一些更为复杂的分片策略例如多分片键、按范围分片等场景inline   分片算 法就有点力不从心了。所以我们还需要学习下ShardingSphere 提供的其他几种分片策略。 NoneShardingStrategy - 无分片。此配置实际上不涉及数据分片但ShardingSphere提供此选项以应对不需分片的场景。 InlineShardingStrategy - 常用分片方式。配置包括 inline.shardingColumn分片键。inline.algorithmExpression分片表达式。 实现根据分片表达式执行数据分片。 StandardShardingStrategy - 仅支持单分片键的标准分片策略。配置涉及 standard.sharding-column分片键。standard.precise-algorithm-class-name精确分片算法类名必须实现io.shardingsphere.api.algorithm.sharding.standard.PreciseShardingAlgorithm接口。例如com.roy.shardingDemo.algorithm.MyPreciseShardingAlgorithm。standard.range-algorithm-class-name范围分片算法类名实现io.shardingsphere.api.algorithm.sharding.standard.RangeShardingAlgorithm接口。例如com.roy.shardingDemo.algorithm.MyRangeShardingAlgorithm。 实现使用shardingColumn指定的分片键和提供的算法进行分片。其中精确分片算法是必需的范围分片算法则是可选的。 ComplexShardingStrategy - 支持多分片键的复杂分片策略。配置包括 complex.sharding-columns多个分片键。complex.algorithm-class-name分片算法实现类。 实现综合多个分片列进行分片使用org.apache.shardingsphere.api.sharding.complex.ComplexKeysShardingAlgorithm接口的实现类。例如com.roy.shardingDemo.algorithm.MyComplexKeysShardingAlgorithm。 HintShardingStrategy - 不基于SQL分片键的强制分片策略。此策略允许程序指定分片键适用于复杂的SQL情况。配置包括 hint.algorithm-class-name分片算法实现类实现org.apache.shardingsphere.api.sharding.hint.HintShardingAlgorithm接口。例如com.roy.shardingDemo.algorithm.MyHintShardingAlgorithm。 实现通过HintManager.addDatabaseShardingValue和HintManager.addTableShardingValue方法指定分片键。注意此分片键仅在当前线程有效应在使用后立即关闭。 Hint分片策略不依赖SQL解析树可能在处理复杂语句时性能更佳。但需注意其在使用上的限制如不支持UNION和多层子查询也不能用于函数计算。这些限制导致即使使用ShardingSphere框架分库分表后对SQL语句的支持仍然脆弱。         而Hint分片策略并没有完全按照SQL解析树来构建分片策略是绕开 了SQL解析的所有对某些比较复杂的语句Hint分片策略性能有可能会比较好(情况太多了无法一一分析)。 但是要注意Hint强制路由在使用时有非常多的限制 -- 不支持UNION SELECT * FROM t_order1 UNION SELECT * FROM t_order2 INSERT INTO tbl_name (col1, col2, … ) SELECT col1, col2, … FROM tbl_name WHERE col3 ?-- 不支持多层子查询 SELECT COUNT (*) FROM (SELECT * FROM t_order o WHERE o.id IN (SELECT id FROM t_order WHERE status ?))-- 不支持函数计算。ShardingSphere只能通过SQL字面提取用于分片的值 SELECT * FROM t_order WHERE to_date(create_time, yyyy-mm-dd ) 2019-01-01 ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做一的同志小说网站wordpress虚拟资源

面向 Dev 频道的 Windows 预览体验成员,微软现已推送 Windows 11 预览版 Build 25163。主要变化1.微软宣布为 Windows 11 任务栏引入全新溢出体验,当任务栏上的应用程序图标或窗口达到任务栏容量上限时,将启用全新溢出菜单。2.微软更新了 Mic…

网站psd 模板wordpress 注册 地址

OpenEuler简介 openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智…

深圳网站平面设计网站建站的书籍

自动化备份对于维护数据库的完整性和安全性至关重要。本指南将向您展示如何使用Shell脚本来自动化MySQL数据库的备份过程。 备份脚本内容 首先,这是我们将使用的备份脚本: #!/bin/bash# 完成数据库的定时备份 # 备份路径 BACKUP/data/backup/db # 当前…

企业网站优化问题沈阳网站开发公司

最近在项目中使用到surfaceview做视频的实时流,遇到一个很奇葩的效果 ,在使用surfaceview因为surfaceview是双缓存机制,所以他需要设置 setZOrderOnTop(true); 让他显示在所依赖的窗口的最顶层才能更好的显示 这个是在surfaceview里面找到的…

做邀请函用哪个网站好呢做网站首页文件

图神经网络--GNN从入门到精通 一、图的基本表示和特征工程1.1 什么是图1.2 图的基本表示1.3 图的性质--度(degree)1.4 连通图,连通分量1.5有向图连通性1.6图直径1.7度中心性1.7特征中心性( Eigenvector Centrality)1.8中介中心性 …

自己制作网站视频教程广州wap网站制作

0x01 产品简介 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。 0x02 漏洞概述 Hikvision Intercom Broadcasting System 3.0.3_20201113_RELEASE(HIK)版本存在操作系统命令注入漏洞,该漏洞源于文件/php/ping.php的参数jsonda…

山西太原网站制作最近时事热点新闻评论及点评

在Vatee万腾的科技探险中,我们领略到了一场数字化力量的前瞻征途,这是一次引领未来的创新之旅。Vatee万腾以其独特的科技理念和数字化力量,开启了一次引领行业的前瞻性征途,为数字化未来描绘出了崭新的篇章。 Vatee万腾的数字化力…

阳江市网站备案幕布西宁服务

Redis击穿是指在高并发情况下,一个键在缓存中过期失效时,同时有大量请求访问该键,导致所有请求都落到数据库上,对数据库造成压力。这种情况下,数据库可能无法及时处理这些请求,导致性能下降甚至崩溃。 为了…

河南如何优化网站网站备案收费吗

导读:秒杀的检索结果,小米官方网站包含秒杀价格及秒杀适配机型,官方推荐秒杀产品,帮助米粉挑选合适自己的秒杀商品。 仿小米手机商城的全套页面。包含首页,订单页,列表页,商品详情页,个人中心,购物车,等等几十个页面。 有轮播的实现,demo 基于html css 实现小米官网部分内容搭…

网站后缀pw电子商务网站建设收益

一、官方网站下载 RocketMQ源码包 https://rocketmq.apache.org/zh/docs/4.x/introduction/02quickstart 二、把rocketMQ上传到Linux环境下解压,编译,执行以下命令(需要提前装jdk和maven并配置好环境变量) unzip rocketmq-all-4…

PHP做的彩票网站好用吗网站平台建立

在Vue项目中,SVG是一种非常常见的图像形式。与传统的矢量图像不同,SVG可以设置可缩放且清晰度高的图像形式。Vue使得使用SVG组件非常容易,本文将介绍如何在Vue项目中创建SVG组件。 步骤1:创建SVG文件 要创建SVG组件,…

网站与建设实训报告xin主题wordpress

Anchor生成机制 YOLOv1YOLOv2YOLOv4模型输出decode1.维度变换2.读取位置信息3.坐标变换4.构建网格5. 计算实际偏移量6.得到输出 YOLOv1 利用全连接层直接对边界框进行预测 YOLOv2 YOLOv2通过缩减网络,使用416x416的输入,模型下采样的总步长为32&#…

与网站开发相关的书籍网站主题旁边的图标怎么做的

根据教育部考试中心《关于做好2017年全国计算机等级考试工作的通知》(教试中心函〔2016〕237号)和《关于做好2017年9月全国计算机等级考试报名工作的通知》(鲁招考[2017]67号)要求,现将2017年9月我省全国计算机等级考试报名有关事项公告如下:一、 考试科…

网站建设 可行性wordpress主题 表白

Redis vs. Memcached: 持久化支持: Redis支持两种持久化方式(RDB和AOF),而Memcached不支持持久化。这意味着Redis可以在服务器重启后恢复数据,而Memcached在重启后数据会丢失。 数据结构: Redis的数据结构…

公司网站建设请示报告企业网站建设开题报告

第4章 TCP/IP 通信案例:访问 Internet 上的Web 服务器 4.1 实例总图 4.2 部署代理服务器 客户端和目标服务器之间可能存在多个代理服务器。 正向代理:要求客户端自己设置代理服务器的地址。 反向代理:设置在服务器端。 透明代理&#xff1…

深圳网站制作公司 讯神马seo教程

1.6 Spark作业提交原理 Spark作业(任务)提交就是使用spark中spark-sumbit命令将已经封装好成jar包的程序提交到spark集群中执行运行从而得到计算结果的过程,在提交过程中我们对提交的作业(任务)进行参数设置操作 spa…

后台风格网站湛江网站建设皆选小罗24专业

golangvue微服务电商系统 文章目录 golangvue微服务电商系统一、项目前置准备二、项目简介三、代码GItee地址 golang、vue redis、mysql、gin、nacos、es、kibana、jwt 一、项目前置准备 环境的搭建 官方go开发工程师参考地址:https://blog.csdn.net/qq23001186/cat…

网站建设价格差异多少wordpress月亮花园

文 | 水哥源 | 知乎Saying1. 小的性能差异在容易实现面前一文不值,这一点是XGBoost和LightGBM的最大优势2. 没能与embedding很好地结合无疑是树模型的灾难,吃不下巨量的新数据,也打不过DNN,除了一些规模比较小的公司,树…

织梦做中英文网站织梦通用seo网站模板

解锁Python装饰器的魔力:提升代码魅力的秘密武器 Python的装饰器(Decorators)是一种特殊的语法构造,它允许我们在不修改被装饰函数源代码的情况下,通过在其周围添加额外功能或行为。 装饰器本质上是一个函数&#xf…