北京考试学院网站首页,制作网站的公司有哪些,使用angularjs的网站,wordpress 安装windows什么是数据库中间件
1.透明化使用方无感知#xff0c;或者尽量少感知。通过现有的接入端接入已有服务
2.增量服务不改变数据库本身功能的前提下#xff0c;提供额外的功能与服务一个原则不破坏原有逻辑#xff0c;并且让用户基于之前的经验可以快速上手接入端协议的选择 1.…什么是数据库中间件
1.透明化使用方无感知或者尽量少感知。通过现有的接入端接入已有服务
2.增量服务不改变数据库本身功能的前提下提供额外的功能与服务一个原则不破坏原有逻辑并且让用户基于之前的经验可以快速上手接入端协议的选择 1.编程语言接口jdbc 2.数据库协议数据库本身的协议不同的数据库有不同的协议而且有的公开有的还不公开
数据库 任意 单一
异构语言 单一 任意
连接数 高代理 低
性能 损耗低 损耗略高
无中心化 是 否
静态入口 无 有可独立部署确立目标
1.数据分片屏蔽数据库分片使用无感知应该和不分片的使用一样
2.分布式治理配置动态化监控调用链熔断失效转移开着飞机换引擎弹性伸缩
3.分布式事务跨片访问较大时物理存储确实可能跨库访问两阶段事务柔性事务
4.安全管控SQL审计避免慢sql等数据脱敏脱敏和非脱敏自动转换权限控制数据库中间件和NewSQL的对比 1.数据库中间件 2.NewSQL
设计理念 稳定增量 颠覆兼容架构颠覆外形兼容
存储引擎 沿用关系型数据库 自研大部分K-V为主
分布式能力 增量 原生
可信赖度 高 待验证需要时间检测数据库一般十年才能说稳定
HTAP混用 较难 较易数据库中间件可能会有重复的问题比如数据库分片需要解析sql中间件才能知道去哪片执行
但真正的数据库层也会解析sql才能知道怎么执行sql所以解析sql会有重复不可避免 ShardingSphere简单介绍本文也是听开源者张亮同学的视频的总结
核心功能数据分片分布式事务数据库治理弹性伸缩管控界面
接入端Sharding-JDBCSharding-ProxySharding-Sidecar
核心功能接入端HTAP云原生零侵入接入端技术储备
编程语言接口JDBC接口各种数据库连接池各种ORM框架和Spring相关知识Spring自定义命名空间
数据库协议MySQL PostgreSQL协议IO Netty并发 多线程数据分片技术储备
SQL解析Lexer,Parser,AST
SQL路由去哪个片
SQL改写到了某个片
SQL执行多线程
结果归并排序算法分布式事务技术储备
两阶段事务ACID事务要素XA协议以及他的各种实现Percolator事务模型时间戳两阶段事务做成强一致来自谷歌论文
柔性事务BASE和CAP理论TCC和Saga自动补偿反向SQL数据快照版本控制数据库治理技术储备
配置中心注册中心相关包括Zookeeper、Etcd等
服务治理服务化相关知识可以复用如服务发现熔断限流负载均衡失效转移等
追踪监控分布式调用链追踪OpenTracing协议等数据库以及应用状态相关指标收集和暴露基础技术储备
性能调优JVM GC调优内存泄露资源泄露排查
质量保证单元测试整合测试压力测试疲劳测试性能测试体系的搭建写中间件理念随时准备面向开源
1.保持视野的敏锐了解技术社区现状优先考虑复用和融入而非颠覆保证能被人快速上手
2.保持设计解耦技术模块与业务模块和环境相关在设计时即保证解耦
3.随时保持代码精炼面向意图编程代码随时准备开放面向社区并具备高可读性