首页 文章 精选 留言 我的

精选列表

搜索[水平分库],共10033篇文章
优秀的个人博客,低调大师

Vitess 10 发布,MySQL 数据库集群水平扩展系统

Vitess 10 发布了。Vitess 是一个分布式 MySQL 工具集,它可以自动分片存储 MySQL 数据表,将单个 SQL 查询改写为分布式发送到多个 MySQL Server 上,支持行缓存(比 MySQL 本身缓存效率高)与复制容错等。 此版本主要新特性包括: Major Themes 在这个版本中,Vitess 的维护者仍继续专注于兼容性。它仍然是 Vitess 成为 MySQL 生态系统一部分的最关键的组成部分。开发团队也已经开始着手进行基准测试和性能优化。这些改进让其对 Vitess 的哪些方面可以在性能上有所提高有了清晰的认识。 兼容性(MySQL、框架) 随着 V10.0 的发布,Vitess(unsharded) 通过了 Ruby on Rails 框架的所有自动化端到端测试。现在,即使你使用得不是 Rails,这些改进也可能使你受益。接下来,开发团队还计划继续增加对更多框架的测试。 Migration Freno-style throttling 已添加到 VReplication 工作流程中。source 和 target tablets 都可以根据 corresponding shards 的 replication lag 来 throttled。 通过新的安装和迁移命令,你可以从另一个 Vitess cluster 导入数据。 该版本还包括还包括 VReplication V2 用户指令的改进指标、错误修复和微调。 Schema Management Online DDL在第 9 版的基础上继续发展,一些新的和值得注意的内容有: 改进的 SQL语法 通过@@ddl_strategy='online'VReplication 引入基于 VReplication 的迁移是 resharding、materialized views、MoveTables 等背后的基础机制。现在,它可以运行架构迁移 Revertible Online DDL:对已完成的迁移进行无损、online revert Declarative schema更改 性能优化 为 query plans 添加了一个新的、性能更好的缓存实现。新的缓存使用 LFU 驱逐算法,使其对 pollution 有更强的适应性,所以它在 pathological cases 下表现得特别好(比如大量插入活动数据库),同时在正常操作中具有更快的响应时间和更好的命中率。 Vitess SQL Parser 的性能在解析速度和减少内存分配方面都得到了极大的提高。这将减少 vtgate 实例的 CPU 使用率,缩短查询时间,并减少 GC 流失。如果依赖 Vites 解析器的第三方应用程序升级到最新版本,它们也将获得这些好处-外部 API 基本上保持不变。 Vitess 在 SQL 语法树上执行的许多 AST 操作已经过重新设计,因此除非绝对必要,否则它们不会分配内存。这将导致 vtgate 进程的内存使用量明显减少,尤其是在 busy Vitess clusters 中。 大多数改进是在 vtgate 的 CPU 和内存使用方面。开发团队正在努力对延迟和吞吐量的影响进行基准测试,一旦有结果就会公布。 User Interface Vitess 10.0 引入了一个实验性的 multi-cluster admin API 和 Web UI,称为 VTAdmin。部署 vtadmin-api 和 vtadmin-web 组件是完全自愿的。值得注意的是,VTAdmin 依赖于新的 VtctldServer API,所以你必须在你的 vtctlds 上运行新的 grpc-vtctld 服务才能使用它。 Benchmarking 为了确保 Vitess 为用户提供高性能,自 Vitess 9.0 以来,开发团队一直在改进基准测试和性能监控技术。项目arewefastyet是这些技术的核心,目前仍在开发中,其目标是自动测量和观察 Vitess 的性能。 详情可查看:https://vitess.io/blog/2021-04-27-announcing-vitess-10/

优秀的个人博客,低调大师

如何通过互联性的方法提升威胁管理水平

威胁管理框架通常用于评估和管理您为了检测和响应网络威胁所采取的一切措施。该框架涵盖人员、流程和技术,而若要实现高效的威胁管理,所有这三者应达到无缝协作。 当然,这一点说起来容易做起来难。如果仅从威胁管理的技术层面来看,显然会发现很多东西。这反映了网络安全的总体情况:组织平均使用多达 10 个不同提供商的 25 至 49 种不同的工具。这种情况带来了额外的复杂性,而且导致一些组织已采取工具合理化措施,以便更好地了解他们从每种工具中实现的优势、工具之间可能存在的重叠之处以及可能存在的差距。不过,即使执行了这类操练,采取更少或更多不同的单点解决方案也并非最佳之选。 高效威胁管理的挑战 太多不可执行的威胁情报 威胁情报本身与令威胁情报在组织范围内可执行的因素之间存在脱节。在当今威胁订阅源非常丰富的情况下,收集威胁情报并不是问题所在,不过威胁的数量却令安全分析人员难以确定需要优先处理的关注事项。我最近与某位安全主管的对话很好地总结了这一挑战。他说,他们组织采取的一项重大举措是实施“托管威胁情报”,具体来说就是向团队提供经过优先排序的威胁情报,而不是提供所有可用的威胁情报。 在去中心化的分布式数据中寻找洞察力 Forrester Consulting 于 2019 年受 IBM 委托进行的调研结果显示:随着安全和 IT 工具数量的增加,数据量及其位置的数量也随之增加。大多数组织已经开始使用内部解决方案和多云部署,即使他们可能尚未意识到这一点。此外,数据本身要么不统一,要么不可预测。因此,如果分析人员或威胁捕获人员需要在组织环境中查找某种类型的威胁指示器,就会难以跨孤立的数据源进行搜索,而且这个过程非常耗时。此外,随着每个新数据源的添加,只会增加集成成本和复杂性。过去,组织一直希望通过集中式数据湖来解决这一问题,但是随着数据量、成本和准确性要求的不断提高,尤其是在多云和端点平台之中,这种方法所能实现的成功变得非常有限。 缺乏熟练的资源来管理威胁数量 如今,缺乏熟练的网络安全分析人员已经不再是什么秘密了,而且每个企业都在从同一个人才库中挖掘人才。此外,从分析人员到首席信息安全官 (CISO),即便所有安全专业人员承受着巨大压力,也无济于事。负责威胁管理及优先排序的人员数量与事件响应人员数量之间的脱节,导致组织无法达到他们对自身威胁计划的预期。 本质上,这些挑战中的每一个都与某种脱节有关:威胁情报与组织脱节,数据分散在不同的工具和孤岛之中,并且工作所需资源的供需不匹配。 转变为互联式威胁管理方法 我们需要一种不同的威胁管理方法,而不是在没有人员能够高效使用威胁订阅源或工具的情况下,继续添加更多威胁订阅源或其他工具。转换为更具互联性的方法的方式之一是着重于一对多集成,而不是增减单个工具。使用能够最大限度利用现有安全解决方案和数据源的功能,有助于组织以多种方式推进其威胁管理计划。 通过量身定制的威胁情报提升识别效率 如果威胁情报源与您组织的相关信息(例如所属行业、地理位置)相关联,则可以根据它们与业务的相关性自动对其进行优先排序。如此便可减少分析人员需要评估的情报数量。此外,通过与现有环境的关联,您可以更快、更轻松地查看组织中是否确实存在某个相关威胁,以及是否需要进行更多调查或立即做出响应。 通过合并的搜过功能来改善可视性、缩短响应时间 如果搜索功能可以位于所有安全工具和数据源之上并与之连接,则安全运营中心 (SOC) 的分析人员便无需深度探索每个工具和数据源来寻找感染指标 (IoC)。互联在这里很关键,因为将所有数据迁移到单个位置会带来成本和复杂性。通过连接数据而不必移动数据,安全分析人员便可在调查威胁时节省时间、获得可视性并提高效率。 通过嵌入式自动化释放分析人员的精力,使其投入到更高价值的任务 如果将自动化功能嵌入到您的安全功能中,则可以帮助安全分析人员免于执行手动、重复任务,进而使其可以专注于更高价值的责任,例如主动威胁捕获。此外,借助既与其他安全工具相连又与更广泛的 IT 工具相连的自动化,可以帮助企业改善和加快事件响应流程并编排整个企业的行动。 互联式威胁管理方法可以帮助组织实施更有效的计划。借助 IBM Cloud Pak for Security,我们可以实现数据和工作流的互联,更轻松地实现互联式威胁管理。 点击了解更多IBM安全观 【责任编辑: 贺鑫 TEL:(010)68476606】

优秀的个人博客,低调大师

Vitess 4.0 发布,MySQL 数据库集群水平扩展系统

Vitess 4.0 发布了。Vitess 是一个分布式 MySQL 工具集,它可以自动分片存储 MySQL 数据表,将单个 SQL 查询改写为分布式发送到多个 MySQL Server 上,支持行缓存(比 MySQL 本身缓存效率高)与复制容错等。 此版本主要新特性包括: 改进 SQL 查询支持 支持的 MySQL 语法的覆盖范围有了不小的进步,例如现在可以跨分片边界插入。 还支持更广泛的 SELECT 语句,包括对诸如 COUNT(DISTINCT …)不同聚合查询的支持。也可以通过 ALTER VSCHEMASQL 修改 Vitess 本身。 现在也已经开始使用常见的应用和框架测试 Vitess,并向测试套件中添加故障。目的是使从单一的 MySQL 或 MariaDB 迁移到分片的 Vitess 成为可能,而应用对此有所感知。 改进可用性 Vitess 4.0 中有许多改进,可以使新用户更容易使用: 完善 Kubernetes 和 Vagrant 的本地开发入门教程。 入门所需的配置较少,因为在许多情况下可以自动检测到 MySQL 版本。 改进了许多错误消息,并着重于确保它们处于正确的日志级别(error、warning 或 info)。 VReplication 的实验性支持 分片的缺点之一是可能不得不做出权衡取舍,例如,在具有买家和卖家的电子商务平台中,可以选择按买家分片,在这种情况下,卖家在分片系统中的查询可能会变慢。对于需要买卖双方都有效查询的应用,VReplication 提供了一种方式来订阅对每个分片进行的更改(使用 MySQL 二进制日志),并保留关键数据的冗余副本在其它分片上的可用性。可以认为此功能类似于其它商业数据库中可用的实例化视图。 此外 Vitess 4.0 还支持表等效的概念,这意味着可以指示 Vitess 从原始表或 VReplication 实例化视图中进行读取,无论哪种查询都能更快地执行。 详情查看更新说明: https://vitess.io/blog/2019-11-05-vitess-4.0-has-been-released

优秀的个人博客,低调大师

OpenCV的+安卓+号牌识别(OpenCV + Android + 图像水平矫正)

/** * 价签矫正 */ public void getContouresPic (Bitmap source) { Mat imageSobleOutThreshold = new Mat(); Mat gray = new Mat(); Utils.bitmapToMat(source, imageSobleOutThreshold); Imgproc.cvtColor(imageSobleOutThreshold, imageSobleOutThreshold, Imgproc.COLOR_BGR2GRAY); Imgproc.threshold(imageSobleOutThreshold, gray, 125, 225, Imgproc.THRESH_BINARY);//maxVal就是控制黑白反转的,0是黑 //Utils.matToBitmap(gray, source); ArrayList<RotatedRect> rects = new ArrayList<RotatedRect>(); ArrayList<MatOfPoint> contours = new ArrayList<MatOfPoint>(); Imgproc.findContours(gray, contours, new Mat(), Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_NONE); for(int i=0;i<contours.size();i++){ Rect rect = Imgproc.boundingRect(contours.get(i)); if (rect.width > 500 && rect.width/rect.height == 1) { MatOfPoint2f mp2f = new MatOfPoint2f(contours.get(i).toArray()); RotatedRect mr = Imgproc.minAreaRect(mp2f); double area = Math.abs(Imgproc.contourArea(mp2f)); double angle = mr.angle+90; Mat ratationedImg = new Mat(gray.rows(), gray.cols(), CvType.CV_8UC3); ratationedImg.setTo(new Scalar(0, 0, 0)); Point center = mr.center;//中心点 Mat m2 = Imgproc.getRotationMatrix2D(center, angle, 1); Imgproc.warpAffine(imageSobleOutThreshold, ratationedImg, m2, imageSobleOutThreshold.size(), 1, 0, new Scalar(0) );//仿射变换 Utils.matToBitmap(ratationedImg, source); File file = new File(Environment.getExternalStorageDirectory()+"/AiLingGong/", "ll"+System.currentTimeMillis()+".jpg"); try { FileOutputStream out = new FileOutputStream(file); source.compress(Bitmap.CompressFormat.JPEG, 100, out); out.flush(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Log.d("----------------", "旋转角度是:"+angle+"------"+"-----"+mr); } } }

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册