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

Abase数据库管理系统

Abase数据库管理系统的架构介绍如下:

1. 概述
Abase是一个开源的分布式数据库中间件,实现MySQL数据库的自动扩缩容、故障转移和查询路由。

2. 功能架构 
- 读写分离:拆分为主从两套服务
- 自动扩缩容:根据负载水平完成扩容
- 负载均衡:基于查询解析的路由
- 故障转移:快速切换新主库提供服务
- 监控平台:SQL监控和性能监控

3. 技术架构
- Proxy代理节点:实现连接接入和查询转发
- Syncer节点:同步主库binlog至从库 
- Heartbeat模块:集群心跳检测
- SQL解析模块:解析SQL以确定路由

4. 部署架构
- Proxy代理层部署
- MySQL主从集群部署
- 增加Syncer和Heartbeat模块

5. 安全架构
- 支持SSL/TLS数据传输加密
- 通过Proxy过滤不安全语句
- 支持IP白名单限制访问

6. 数据架构
- MySQL主从复制的日志 binlog
- Metadata元数据存储路由规则
- 心跳和状态数据存储

关于Abase的优缺点和对标分析如下:

优点:

- 支持MySQL数据库的无缝水平扩展
- 实现了MySQL的读写分离、负载均衡
- 简化了MySQL高可用和故障转移方案
- 保证主从数据强一致性
- 部署和使用都比较简单
- 性能影响很小,OVERHEAD低

缺点:

- 仅针对MySQL数据库,无法通用
- 功能相对单一,只作为数据库中间件 
- 无法处理跨数据中心的场景
- 复杂SQL可能出现解析错误路由的情况
- 只支持静态路由配置,灵活度稍差

对标产品:

- CDB: 阿里云的数据库代理服务,但不是开源的
- MyCAT: 功能类似,但Abase配置简单部署更佳 
- ProxySQL: 性能更好,但不支持自动扩缩容
- Atlas: MongoDB的中间件,不同数据库领域
- MaxScale: 功能丰富,但复杂,不开源

总体来说,Abase作为MySQL中间件,拥有性能和易用性优势。适合要容易实现MySQL扩展和高可用的场景。

相关文章:

Abase数据库管理系统

Abase数据库管理系统的架构介绍如下: 1. 概述 Abase是一个开源的分布式数据库中间件,实现MySQL数据库的自动扩缩容、故障转移和查询路由。 2. 功能架构 - 读写分离:拆分为主从两套服务 - 自动扩缩容:根据负载水平完成扩容 - 负载均衡:基于查询解析的路由 - 故障转移:快速切换…...

系统架构设计高级技能 · 大数据架构设计理论与实践

系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…...

ubuntu上使用osg3.2+osgearth2.9

一、介绍 在ubuntu上使用osgearth加载三维数字地球,首先要有osg和osgearth的库,这些可以直接使用apt-get下载安装,但是版本有些老,如果需要新版本的就需要自己编译。 #查看现有版本 sudo apt-cache madison openscenegraph #安装…...

C语言巧妙打印64位整数

使用C语言打印64位整数时,如果用的是32位编译器,那么打印如下, int64_t data 0x1234567890123456; printf("0x%llx\n", data);如果是64位编译器,那么打印代码如下, int64_t data 0x1234567890123456; pr…...

c语言每日一练(11)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…...

SLAM十四讲学习笔记 第二期:部分课后实践代码

持续更新.... 前期准备第二讲实验一:简单输出 第五讲任务一:imageBasics(Ubuntu配置opencv)任务二:双目匹配点云(Ubuntu配置pangolin)检验部分我认为可以加深对CMake的理解 任务三:r…...

Android kotlin 跳转手机热点开关页面和判断热点是否打开

Android kotlin 跳转手机热点开关页面和判断热点是否打开 判断热点是否打开跳转手机热点开关页面顺带介绍一些其他常用的设置页面跳转 其他热点的一些相关知识Local-only hotspot 参考 判断热点是否打开 网上方法比较多,我这边使用了通过WifiManager 拿反射的getWi…...

Redis 执行 RDB 快照期间,主进程可以正常处理命令吗?

执行了 save 命令,会在主进程生成 RDB 文件,由于和执行操作命令在同一个线程,所以如果写入 RDB 文件的时间太长,会阻塞主进程。 执行 bgsave 过程中,由于是交给子进程来构建 RDB 文件,主进程还是可以继续工…...

Python加入Excel--生产力大提高|微软的全方面办公

Python作为一种功能强大的编程语言,已经逐渐成为了数据分析、机器学习、Web开发等领域的主流语言之一。而将Python集成到Excel中,则可以为Excel用户提供更加强大的数据处理和分析能力,同时也可以为Python开发者提供更加便捷的数据处理和可视化…...

Excel 分组排名

分组排名 公式&#xff1a;SUMPRODUCT((A:AA2)*(C:C>C2)) 1 降序&#xff1a;> 改为 < ⚠️注意1&#xff1a;此处空值参与排名&#xff1b;不参与排名则公式改为&#xff1a;IF(C2“”,“”,SUMPRODUCT((A:AA2)*(C:C>C2)) 1) ⚠️注意2&#xff1a;相同值的项…...

Redis初始以及安装

"梦却了无影踪&#xff0c;梦仍不曾改动" 初始Redis (1) Redis是什么&#xff1f; 要认识、学习一个软件&#xff0c;最重要的途径无一是去该软件的官方文档里瞅瞅、转悠转悠。 从官方文档的介绍中得知&#xff0c;Redis是一种工作于内存&#xff0c;…...

react导出、导入文件

导出文件&#xff1a; if (res) {let binaryData [];binaryData.push(res);let blobUrl ;blobUrl res;// let blobUrl window.URL.createObjectURL(new Blob(binaryData, { type: application / zip }));console.log(blobUrl);const eleLink document.createElement(a);el…...

(一)Redis——String

以下是在Ubuntu上安装Redis的步骤&#xff1a; 打开终端并输入以下命令以更新软件包列表&#xff1a;sudo apt update输入以下命令以安装Redis&#xff1a;sudo apt install redis-server SET key value GET key key & value 区分大小写 127.0.0.1:6379> set name no…...

Spring Boot多环境指定yml或者properties

Spring Boot多环境指定yml或者properties 文章目录 Spring Boot多环境指定yml或者properties加载顺序配置指定某个yml 加载顺序 ● application-local.properties ● application.properties ● application-local.yml ● application.yml application.propertes server.port…...

MinDoc:针对IT团队的文档、笔记系统

作为一名IT从业者&#xff0c;无论是在公司团队中&#xff0c;还是在平时自己写一些笔记、博客等文档&#xff0c;我都习惯使用markdown来进行书写。在使用过许多支持markdown语法的系统或软件&#xff08;如Typora、未知、我来、思源、觅道等&#xff09;后&#xff0c;我总觉…...

【分享】华为设备登录安全配置案例

微思网络www.xmws.cn&#xff0c;2002年成立&#xff0c;专业IT认证培训21年&#xff0c;面向全国招生&#xff01; 微 信 号 咨 询&#xff1a; xmws-IT 华为HCIA试听课程&#xff1a;超级实用&#xff0c;华为VRP系统文件详解【视频教学】华为VRP系统文件详解 华为HCIA试听课…...

Starrocks与MySQL函数的区别

Starrocks与MySQL函数的区别 Starrocks是一款分布式OLAP数据库&#xff0c;而MySQL则是一种关系型数据库。由于其不同的架构和用途&#xff0c;它们在支持的函数方面存在一些差异。下面将详细介绍Starrocks和MySQL之间常见函数的区别。 1. 聚合函数&#xff08;Aggregate Fun…...

【HTML】学习笔记(自用持续更新)

HTML基本框架 只定义信息&#xff0c;通过标签组成整个页面框架&#xff0c;再通过CSS渲染使得前端页面做的好看 <!DOCTYPE HTML> \\html类型 <html><body><h1>这是一个标题</h1><p>这是一段文字</p></body> </html> …...

代码随想录训练营第四十二天|0-1背包理论基础(一)、0-1背包理论基础(二)、416分割等和子集

0-1背包理论基础(一) 文章讲解/视频链接&#xff1a;代码随想录 小节&#xff1a;本节课讲得是0-1背包的二维数组解法&#xff0c;dp[i][j]的含义是从物品0-i中不重复的拿出可以装进容量为j的背包的最大价值的物品&#xff0c;状态转移公式为&#xff0c;dp[i][j] max(dp[i - …...

linux 免交互

Linux 免交互 1、免交互概念2、基本免交互的例子2.1命令行免交互统计2.2使用脚本免交互统计2.3使用免交互命令打印2.4免交互修改密码2.5重定向查看2.6重定向到指定文件2.7重定向直接指定文件2.8使用脚本完成重定向输入2.9免交互脚本完成赋值变量2.10关闭变量替换功能&#xff0…...

AI文本检测技术解析:从原理到实践,如何有效识别AI生成内容

1. 项目概述&#xff1a;为什么我们需要“避开AI写作”&#xff1f;最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“avoid-ai-writing”。光看名字&#xff0c;你大概就能猜到它的核心诉求&#xff1a;帮助人们识别和规避由AI生成的内容。作为一个写了十几年东西的人&am…...

Android 14+ Gemini深度整合设置手册(2024官方未公开的12项关键开关)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Android 14 Gemini深度整合的底层架构概览 Android 14 引入了面向 AI 原生体验的系统级重构&#xff0c;其中 Gemini 模型不再以独立 APK 或云端 API 形式存在&#xff0c;而是通过 Project Starline 框…...

终极指南:Marketing-for-Engineers心理学应用——影响用户决策的12个心理效应

终极指南&#xff1a;Marketing-for-Engineers心理学应用——影响用户决策的12个心理效应 【免费下载链接】Marketing-for-Engineers A curated collection of marketing articles & tools to grow your product. 项目地址: https://gitcode.com/gh_mirrors/ma/Marketin…...

CMU开源localPlanner避坑指南:从仿真到实车,ROS小车部署的5个关键步骤

CMU开源localPlanner避坑指南&#xff1a;从仿真到实车&#xff0c;ROS小车部署的5个关键步骤 当学术论文中的算法终于有了开源实现&#xff0c;那种跃跃欲试的心情每个机器人开发者都懂。但真正把代码下载到本地&#xff0c;准备部署到自己的ROS小车上时&#xff0c;才发现从理…...

AI建站案例:一家外贸工厂如何用“AI+系统”拿下海外订单

AI建站案例&#xff1a;一家外贸工厂如何用“AI系统”拿下海外订单【引言&#xff1a;别让网站成为“电子名片”】我们看过太多外贸工厂的网站&#xff1a;花了几千块&#xff0c;做得金碧辉煌&#xff0c;但一年下来询盘屈指可数。问题不在产品&#xff0c;而在“数字化基建”…...

Linux内核开发避坑:你的kmalloc申请到底浪费了多少内存?(附slab/slub实战分析)

Linux内核内存优化实战&#xff1a;kmalloc申请背后的隐藏成本与调优策略 在性能敏感的内核模块开发中&#xff0c;每个字节的内存使用都可能成为系统瓶颈的导火索。我曾亲眼见证过一个网络驱动模块因为不当的kmalloc调用模式&#xff0c;导致系统在高压下额外消耗了12%的内存—…...

Gemini插件无法访问本地PDF/网页源码?手把手教你绕过Chrome沙箱限制(含Manifest V3兼容性补丁代码)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini插件本地资源访问受限的本质原因 沙箱隔离机制的强制约束 Gemini 插件运行于 Chromium 扩展沙箱环境中&#xff0c;该环境默认禁用所有 Node.js API&#xff08;如 fs、 child_process&#xf…...

别再被Linux的free命令骗了!手把手教你读懂‘可用内存’和‘实际空闲内存’的区别

别再被Linux的free命令骗了&#xff01;手把手教你读懂‘可用内存’和‘实际空闲内存’的区别 刚接触Linux服务器管理时&#xff0c;看到free -m输出里那个触目惊心的"free"数值&#xff0c;我的第一反应是&#xff1a;"天哪&#xff0c;内存快用完了&#xff0…...

西门子“工业软件驱动的数字孪生”模式

西门子&#xff08;Siemens&#xff09;的“工业软件驱动的数字孪生”模式是全球离散制造业&#xff08;如汽车、航空航天、电子&#xff09;公认的技术制高点。其核心逻辑不是简单的 3D 建模&#xff0c;而是“数物融合”&#xff0c;即利用完整的软件工具链在物理实体投产前&…...

算法23,寻找峰值

这是一道经典的二分查找应用题&#xff1a;寻找峰值&#xff08;Find Peak Element&#xff09;。笔记中已经总结了核心逻辑&#xff0c;我将为你梳理其背后的数学原理&#xff08;二段性&#xff09;&#xff0c;并提供标准的代码实现。1. 核心原理&#xff1a;什么是“二段性…...