1、Python编程能力:熟练掌握Python编程语言,面向对象编程、异常处理等,能够编写高质量的Python代码,开发过多款工具和运维平台
2、Python框架:熟悉主流的Python后端框架,如Django、Flask等,能够基于框架快速搭建后端服务,并处理复杂的业务逻辑。
3、数据库管理:熟练掌握MySQL、Redis、MongoDB、PostgreSQL等主流数据库的使用,能够进行数据库设计、优化、维护和数据迁移等工作。
4、缓存技术:精通Redis等主流缓存技术的原理和使用方法,能够使用缓存技术提高系统性能和响应速度。
5、消息队列:熟悉主流消息队列,如RabbitMQ、Kafka等,了解消息队列的应用场景和原理,并能够使用消息队列实现异步处理等功能。
6、性能优化:熟悉数据库的架构设计与模型设计,精通数据库的性能优化与SQL查询优化
7、运维开发:精通数据库自动化运维系统的设计与建设、数据库自动化SQL审核平台的开发
一、数据库自动化运维平台的设计与开发
该项目通过Django框架和Python语言开发,主要包括以下功能模块:
1、SQL上线审核:可以提交SQL上线,实现自助SQL审核;SQL分析等功能
2、SQL查询:可以在线查询、数据字典的查询、以及提交权限申请等功能
3、SQL优化:可以使用优化工具分析sql优化;汇总慢查询日志并展现
4、实例管理:可查询数据库的会话列表、实例的管理、数据库的管理以及账号管理
5、备份管理:对所有的mysql,redis的数据备份进行管理
6、工具插件:主要集成了binlog分析工具、数据归档工具以及数据表结构的比对工具
7、系统管理:对该系统的全局配置,如sql审核权限审批流、查询权限审批流的配置、邮箱告警等配置
二、数据库的机房迁移
该项目主要是把数据库从A机房实时同步到B机房,主要涉及到的数据库有MySQL,MongoDB,Redis。
MySQL采用了主从复制的模式实现的。
MongoDB采用了副本集的方式实现。
Redis采用了cluster方式实现。
在该项目中,我负责设计与开发的角色,该项目主要的功能如下: SQL审核 MySQL实例 基于Inception/goInception实现,集成审核、执行、备份 非MySQL实例 支持提交和执行工单,依托工作流实现流程化管理 审核执行分离 审批和执行可以分配
该项目我主要负责开发与实施的角色。主要实现功能如下: 构建基于flink、kafka、MySQL、hbase的实时数仓,实现: (1)业务数据全量同步到数据仓库; (2)业务数据实时增量同步到数据仓库,使用Kafka+canal实现增量数据采集。