V2EX POST
640 subscribers
138 photos
31 videos
99 files
102K links
v2ex新贴定时推送,可按需置顶本频道然后关闭通知
Download Telegram
Lock wait timeout exceeded; try restarting transaction

有个业务需要同时更新 15000 多条记录,报了这个错误,应该是 mysql 的锁超时了。这种情况我把 15000 多条记录分成几份批量执行可以解决问题嘛?这是我目前能想到的办法,或者有没有什么更好的方法?

#15000 #多条 #记录 #有个 #mysql #超时 #几份 #批量 #解决问题 #分成
招长期远程数据库管理工程师(40-60K)

有兴趣联系电报 TG:@fc18866


需熟悉 MySQL 架构 & 了解 MySQL 数据库基础知识
需熟悉 Redis 、MongoDB, Elasticsearch 管理,数据备份,优化
需有 NoSQL 的管理、优化经验
需要 ES 、TiDB 经验
需熟练使用 Shell 、Python 脚本编写工具
需熟悉 Zabbix 监控系统
需了解 Archery

我们面试会两次,c 薪资方面很不错还有奖金!

#MySQL #熟悉 #优化 #TG #fc18866 #Redis #MongoDB #Elasticsearch #数据备份 #NoSQL
ddl 看到这个英文词,大家想到什么?

一个朋友给我发一段信息里有 ddl 这个词,我看第一眼想到的是 Mysql 哈哈。
其实我朋友发的意思是 deadline.

#ddl #Mysql #deadline #朋友 #给我发 #第一眼 #哈哈 #一段 #意思 #想到
[长期远程] 中高级和资深 Golang 开发工程师,薪资 35-45K 可在谈+奖金

Golang 开放远程办公职位啦!

薪资 30-45K 底薪可在谈+奖金

有兴趣请咨询电报 TG:@gfm444

资深 Go/主程级 Go 业务开发
22-45K
30-60K
① 中国籍
② 台湾籍
③ 马来籍
2-3 轮面试
1 、负责 GRPC 和大厅业务;
2 、负责需求评审、大厅框架搭建、规划和设计;负责解决方案、架构优化方案;
3 、负责代码编写、规范和标准设定;
4 、负责大数据、高并发、高承载设计;
5 、负责棋牌游戏、休闲游戏维护迭代升级
6 、负责公司后端架构的搭建和优化,持续优化服务的可用性、伸缩性、稳定性;
1 、精通 Golang 语言,五年以上 golang 经验,其中 2 年架构经验;
2 、精通数据结构和算法,深入理解多线程、net/http 等相关技术;
3 、具备良好的编码习惯,结构清晰,命名规范,逻辑性强,代码冗余率低;
4 、精通 Golang 常用框架,深入了解框架提供的特性及其实现原理细节;
5 、有大规模分布式系统的设计和开发经验,能独立完成系统的设计及开发;
6 、精通 MySQL 数据库,熟练 MySQL 索引优化、查询优化的能力;
7 、精通多种非关系型数据库,如 Redis, Mencached ,理解其使用场景及限制;
8 、精通分布式系统,掌握多种服务框架和消息中间件,了解其实现原理;
9 、精通 Internet 常用协议,如 HTTP 、TCP/IP 和 RESTful 、RESTAPI 规范;
10 、精通 Golang 微服务、Docker 部署、有 RPC 服务器开发经验;
11 、精通游戏服务器逻辑框架、系统架构、脚本引擎、内存管理、性能分析、测试、安全性等技术

中高级 Go 业务开发
15-30K
20-40K
① 中国籍
② 台湾籍
③ 马来籍
2-3 轮面试
1 、负责 GRPC 等服务端研发;
2 、根据产品需求,进行系统设计和编码;
3 、持续对系统架构进行改造和优化。
4 、负责公司后端架构的搭建和优化,持续优化服务的可用性、伸缩性、稳定性。
1 、三年以上 Golang 开发经验;
2 、具备良好的基本功,熟练使用基本的数据结构和算法,深入理解多线程、net/http 等相关技术;
3 、具备良好的编码习惯,结构清晰,命名规范,逻辑性强,代码冗余率低;
4 、熟练掌握 Golang 常用框架,深入了解框架提供的特性及其实现原理细节;
5 、有大规模分布式系统的设计和开发经验,能独立完成系统的设计及开发;
6 、熟练掌握 MySQL 数据库,具备 MySQL 索引优化、查询优化的能力;
7 、熟练掌握一种以上非关系型数据库,如 Redis, Mencached ,理解其使用场景及限制;
8 、熟悉分布式系统,熟练掌握一种以上服务框架和消息中间件,了解其实现原理;
9 、熟悉 Internet 常用协议,如 HTTP 、TCP/IP 、熟悉 RESTful 、RESTAPI 规范;
10 、熟悉 Golang 微服务、Docker 部署、有 RPC 服务器开发经验;
11 、精通游戏服务器逻辑框架、系统架构、脚本引擎、内存管理、性能分析、测试、安全性等技术

#Golang #精通 #优化 #框架 #架构 #分布式系统 #负责 #开发 #MySQL #熟练掌握
[远程办公全职] 非常的资深 DBA 工程师,薪资 35-60K 可谈+奖金

招聘远程办公资深 DBA 工程师
请咨询人事部电报 TG:@gfm444
招聘名额:3 位
要求:国籍不限,长期远程办公岗
薪资范围:人民币 35-60K

岗位重点资讯
熟悉 MySQL 架构 & 了解 MySQL 数据库基础知识
熟悉 Redis 、MongoDB, Elasticsearch 管理,数据备份,优化
有 NoSQL 的管理、优化经验
需要 ES 、TiDB 经验
熟练使用 Shell 、Python 脚本编写工具
熟悉 Zabbix 监控系统
了解 Archery

DBA
2-3 轮面试
1 、负责管理和维护 MySQL 、Mongo 、Redis 、ES 、Tidb 数据库实例;
2 、设计和开发数据库运维管理工具、制定缓存系统的使用方案;
3 、持续改进数据库和缓存系统方案,保障数据库的可靠、稳定、高效地运行。
4 、处理数据库的日常维护工作,及出现重大问题时的应急恢复;
5 、提供数据库开发支持,根据业务需求进行索引优化和调优
6 、定期进行系统的健康检查,并对性能问题进行定位和排查。
7 、配合开发同事完成数据库一系列优化工作。
8 、熟练执行数据库性能调优、监控、备份、异常处理、故障恢复
9 、熟悉数据库的高可用和动态扩展方案
10 、能提供良好的读写分离方案( IO 读 /写)
1 、5 年以上 Linux 平台数据库管理经验;
2 、从事 Mysql 技术方面的支持和维护实际工作经验在 5 年以上;
3 、精通 MySQL 管理,数据备份,优化;
4 、有 NoSQL 的管理、优化经验, 熟悉 Redis 、MongoDB, Elasticsearch 管理,数据备份,优化;
5 、精通 MySQL 数据库引擎原理,深入理解数据库引擎的实现机制,能根据相关机制优化数据库;
6 、善于学习总结,关注数据库技术发展,了解新技术;
7 、具备较强的责任心,良好的沟通能力,积极分享,带头提升整个团队的技术水平;
8 、接触过千万级数据库的处理经验
9 、有灾难性故障处理经验
10 、熟悉 Tidb 实例管理,备份与优化的优先

#数据库 #优化 #MySQL #经验 #熟悉 #Redis #数据备份 #管理 #DBA #MongoDB
(远程)招聘 Go 主程、Mysql DBA

Go 主程 [税后 30-45K ]
工作内容:
1 、负责 GRPC 和大厅业务;
2 、负责需求评审、大厅框架搭建、规划和设计;负责解决方案、架构优化方案;
3 、负责代码编写、规范和标准设定;
4 、负责大数据、高并发、高承载设计;
5 、负责休闲游戏维护迭代升级
6 、负责公司后端架构的搭建和优化,持续优化服务的可用性、伸缩性、稳定性;

任职要求: [年龄 36 以下]
1 、精通 Golang 语言,五年以上 golang 经验,其中 2 年架构经验;
2 、精通数据结构和算法,深入理解多线程、net/http 等相关技术;
3 、具备良好的编码习惯,结构清晰,命名规范,逻辑性强,代码冗余率低;
4 、精通 Golang 常用框架,深入了解框架提供的特性及其实现原理细节;
5 、有大规模分布式系统的设计和开发经验,能独立完成系统的设计及开发;
6 、精通 MySQL 数据库,熟练 MySQL 索引优化、查询优化的能力;
7 、精通多种非关系型数据库,如 Redis, Mencached ,理解其使用场景及限制;
8 、精通分布式系统,掌握多种服务框架和消息中间件,了解其实现原理;
9 、精通 Internet 常用协议,如 HTTP 、TCP/IP 和 RESTful 、RESTAPI 规范;
10 、精通 Golang 微服务、Docker 部署、有 RPC 服务器开发经验;




DBA [税后 30-52K ]
工作内容:
1 、负责管理和维护 Tidb 、MySQL 、Mongo 、Redis 、ES 、Tidb 数据库实例;
2 、设计和开发数据库运维管理工具、制定缓存系统的使用方案;
3 、持续改进数据库和缓存系统方案,保障数据库的可靠、稳定、高效地运行。
4 、处理数据库的日常维护工作,及出现重大问题时的应急恢复;
5 、提供数据库开发支持,根据业务需求进行索引优化和调优
6 、定期进行系统的健康检查,并对性能问题进行定位和排查。
7 、配合开发同事完成数据库一系列优化工作。
8 、熟练执行数据库性能调优、监控、备份、异常处理、故障恢复
9 、熟悉数据库的高可用和动态扩展方案
10 、能提供良好的读写分离方案( IO 读 /写)


任职要求: [ 37 岁以下]
1 、5 年以上 mysql 经验、熟悉 MySQL 架构 & 了解 MySQL 数据库基础知识
2 、熟悉 Redis 、MongoDB, Elasticsearch 管理,数据备份,优化
3 、有 NoSQL 的管理、优化经验
4 、需要 ES 、TiDB 经验
5 、熟练使用 Shell 、Python 脚本编写工具
6 、熟悉 Zabbix 监控系统
7 、了解 Archery


联络方式:
微信:a1134551535 QQ:1134551535 telegram:@Wiz888

#数据库 #精通 #优化 #MySQL #负责 #经验 #Golang #Redis #架构 #开发
自学 docker,自己写的 Dockerfile 语法编译通过不了,有哪些错误,请前辈指正

#基于 ubuntu 最新版镜像
FROM ubuntu:latest
#更新安装包列表
RUN apt update
#安装 apache2
RUN apt install apache2
#安装 mysql-server
RUN apt install mysql-server
#启动 mysql
RUN service mysql start
#登陆 mysql
RUN mysql
#修改 root 密码
RUN alter user “root”@“localhost” identified with mysql_native_password by “12345”;
#root 密码生效
RUN flush privileges ;
#新建数据库
RUN create database wordoress ;
#新建用户
RUN create user “solve”@“localhost” identufied by “888888”;
#配置数据库用户
RUN grant all on wordpress.* to “slove”@“localhost” with grant option ;
#配置生效
RUN flush privileges ;
#退出数据库
RUN exit
#下载 wordpress 最新版到指定 /var/www/html/
ADD https://cn.wordpress.org/latest-zh_CN.tar.gz /var/www/html
#开放端口号
EXPOSE 80
CMD

#RUN #mysql #apt #root #localhost #wordpress #数据库 #最新版 #ubuntu #latest
[远程] 资深数据库 DBA 工程师、主程级 Go 开发(薪资: 30-60K)

有兴趣联系人事部电报 TG:@gfm444
DBA 工程师 JD 如下:
硬性要求:
熟悉 MySQL 架构 & 了解 MySQL 数据库基础知识
熟悉 Redis 、MongoDB, Elasticsearch 管理,数据备份,优化
有 NoSQL 的管理、优化经验
需要 ES 、TiDB 经验
熟练使用 Shell 、Python 脚本编写工具
熟悉 Zabbix 监控系统
了解 Archery
DBA
薪资范围:30-52K 可在谈
2-3 轮面试
1 、负责管理和维护 MySQL 、Mongo 、Redis 、ES 、Tidb 数据库实例;
2 、设计和开发数据库运维管理工具、制定缓存系统的使用方案;
3 、持续改进数据库和缓存系统方案,保障数据库的可靠、稳定、高效地运行。
4 、处理数据库的日常维护工作,及出现重大问题时的应急恢复;
5 、提供数据库开发支持,根据业务需求进行索引优化和调优
6 、定期进行系统的健康检查,并对性能问题进行定位和排查。
7 、配合开发同事完成数据库一系列优化工作。
8 、熟练执行数据库性能调优、监控、备份、异常处理、故障恢复
9 、熟悉数据库的高可用和动态扩展方案
10 、能提供良好的读写分离方案( IO 读 /写)
1 、5 年以上 Linux 平台数据库管理经验;
2 、从事 Mysql 技术方面的支持和维护实际工作经验在 5 年以上;
3 、精通 MySQL 管理,数据备份,优化;
4 、有 NoSQL 的管理、优化经验, 熟悉 Redis 、MongoDB, Elasticsearch 管理,数据备份,优化;
5 、精通 MySQL 数据库引擎原理,深入理解数据库引擎的实现机制,能根据相关机制优化数据库;
6 、善于学习总结,关注数据库技术发展,了解新技术;
7 、具备较强的责任心,良好的沟通能力,积极分享,带头提升整个团队的技术水平;
8 、接触过千万级数据库的处理经验
9 、有灾难性故障处理经验
10 、熟悉 Tidb 实例管理,备份与优化的优先

主程 Go 开发工程师 JD 如下:
硬性要求:
精通游戏服务器逻辑框架、系统架构、脚本引擎、内存管理、性能分析、测试、安全性等技术?
有 RPC 服务器开发经验?
有 GRPC 和大厅业务经验?
资深 Go/主程级 Go 业务开发
35-45K+奖金 可在谈
2-3 轮面试
1 、负责 GRPC 和大厅业务;
2 、负责需求评审、大厅框架搭建、规划和设计;负责解决方案、架构优化方案;
3 、负责代码编写、规范和标准设定;
4 、负责大数据、高并发、高承载设计;
5 、负责棋牌游戏、休闲游戏维护迭代升级
6 、负责公司后端架构的搭建和优化,持续优化服务的可用性、伸缩性、稳定性;
1 、精通 Golang 语言,五年以上 golang 经验,其中 2 年架构经验;
2 、精通数据结构和算法,深入理解多线程、net/http 等相关技术;
3 、具备良好的编码习惯,结构清晰,命名规范,逻辑性强,代码冗余率低;
4 、精通 Golang 常用框架,深入了解框架提供的特性及其实现原理细节;
5 、有大规模分布式系统的设计和开发经验,能独立完成系统的设计及开发;
6 、精通 MySQL 数据库,熟练 MySQL 索引优化、查询优化的能力;
7 、精通多种非关系型数据库,如 Redis, Mencached ,理解其使用场景及限制;
8 、精通分布式系统,掌握多种服务框架和消息中间件,了解其实现原理;
9 、精通 Internet 常用协议,如 HTTP 、TCP/IP 和 RESTful 、RESTAPI 规范;
10 、精通 Golang 微服务、Docker 部署、有 RPC 服务器开发经验;
11 、精通游戏服务器逻辑框架、系统架构、脚本引擎、内存管理、性能分析、测试、安全性等技术

#数据库 #精通 #优化 #MySQL #经验 #架构 #开发 #Redis #框架 #管理
总感觉数据库 SQL 语法解析的报错信息都很鸡肋

近一年高强度使用 MySQL 和 Clikhouse ,手撸 sql 出错后进行排查,数据库提供的语法错误信息总是很迷惑。

相比较其他编程语言编译期的报错信息就很准确。

在 user-friendly 这块,是不是各家数据库提升的空间还很大。

#数据库 #报错 #语法错误 #MySQL #Clikhouse #sql #user #friendly #编程语言 #信息
请教下快速生成 er 图的工具

公司的项目需要导出 er 图,
通过 navicat 和 datagrip 逆生成的数据无法编辑。

mysql 项目无法使用外键。

所以有什么工具,可以快速从 mysql 导出 er 图,并且我可以编辑的工具。

#er #mysql #导出 #编辑 #工具 #navicat #datagrip #外键 #无法 #项目
go-sql-driver/mysql 支持读写分离吗

查看官方文档没找到主从配置,
是不是需要自己实现该功能?


如果没有相关配置,有什么推荐的 mysql 包吗,orm 类的暂时不需要。

#mysql #orm #配置 #主从 #文档 #需要 #查看 #官方 #暂时 #是不是
年底被毕业, 心碎, 有公司收留心碎人儿吗?

6 年多 python + golang + docker + k8s + mysql....

#python #golang #docker #k8s #mysql #....
WordPress 测试支持 SQLite

![]( https://tva1.sinaimg.cn/large/85e52276ly1h97tghxb2kj20p00anmxe.jpg)

WordPress 是至今最流行的内容管理系统,被广泛用于从个人到电商在内的各种类型的网站。W3Techs 的统计显示,它的市场占有率一直高居 43% 左右,而距离它最近的竞争对手是 Shopify 只有 4%。至今为止 WordPress 一直是基于 PHP 和 MySQL/MariaDB 数据库,但不是所有网站都需要功能全面的 MySQL 。WordPress 现在开始测试对 SQLite 数据库的支持。SQLite 是一大优势是直接集成在 PHP 中,WordPress 网站可以不需要额外的数据库服务器,有助于降低托管费用,减少能耗。

[转自]( https://t.me/kejiqu/578)

#WordPress #数据库 #https #PHP #MySQL #SQLite #网站 #电商 #tva1 #sinaimg
有没有低成本异地容灾方案?

我自己构思的:

1.利用 MySQL binlog 跨区域同步把 A 区数据热备到区域 B 的一台 slave 数据库中
2.在区域 B 中新建若干台业务服务器,程序版本和 A 区业务服务器保持一致,和 slave 数据库保持连接
3.检测到 A 区业务中断,将域名解析到 B 区业务服务器

这样会中断 5-10 分钟,但是成本低,好操作

大家有什么好办法吗?

#服务器 #slave #业务 #数据库 #区域 #中断 #MySQL #binlog #热备 #域名解析
数据增量同步检验问题

如题,在 mysql 通过 canal 发送数据到 kafka 后,进行增量同步数据到 es ,现在的问题是如何检验增量同步过程中有没有问题呢?这个工作可能要周期运行!举例如下:此刻比对昨天以前的增量数据的总数,及抽样某个表的一些行来对比 es 中的数据。查 mysql 之前,数据无变化,查 es 期间,mysql 中某些数据已经被更新或者删除了,但数据更新还没写入 es ,这样查出来的数据比对结果不太一致。各位有什么好的方案吗?

#es #mysql #数据 #增量 #同步 #更新 #发送数据 #canal #kafka #行来
如何最低成本的同步阿里云 RDS MYSQL 到其它地方备份?

阿里云本身有数据同步功能,叫数据传输服务 DTS 。看了下最便宜的跨城同步是 560 元一个月,而且是单向同步,我这个小项目暂时不想花那么多钱。

我想能实时备份 mysql ,防止像昨天阿里云故障一样,数据也拿不到,干着急。

如果是自己想办法能实现实时同步吗?有没有更低成本的方案呢?

#同步 #实时 #阿里 #DTS #跨城 #560 #多钱 #mysql #干着急 #数据传输
数据库迁移从 MySQL 到 HBase

作为开发人员,我们有很大概率会遇到需要将当前正在使用的数据库迁移到另一个数据库的场景。比如你在项目早期选择了 MySQL 作为数据库 ,虽然它已经能满足大多数业务场景和性能要求,但随着你的数据量越来越大业务日趋复杂,继续使用 MySQL 则可能成为瓶颈,这时候你可能要开始考虑将 MySQL 替换为更适合的数据库比如 HBase (或 Cassandra...)。

对于一个在线业务系统来说,迁移数据库的挑战在于不仅要做到不停机无缝迁移还要保证迁移过程风险可控,这也正是本文要分享的内容,介绍如何使用功能开关无缝、安全地实现数据库迁移。

## 迁移案例:将 MySQL 迁移到 HBase

接下来将通过一个案例介绍整个迁移的实现过程。某个在线消息业务由于受限于 **MySQL** 性能和存储瓶颈,所以需要将数据迁移到 **HBase** 以便于进一步扩大业务规模。

### 1 、使用功能开关实现迁移控制

我们这里假设应用程序逻辑都是通过 DAO (数据存取对象)来查询 /读取 MySQL 持久化数据。为了能将数据存取切换到 HBase 中,所以第一步是编写一个针对 HBase 的 DAO ,并且和 MySQL DAO 实现相同的接口以提供相同数据读写能力。

现在已经有两种 DAO 接口实现,一种有支持 MySQL ,另一种是支持 HBase 。此时开始引入我们的功能开关管理服务 FeatureProbe 。

先在 eatureProbe 上创建四个 Boolean 类型功能开关来独立控制对 MySQL 和 HBase 的读写,以其中一个开关(**messages-mysql-write**)为例配置如下所示:

![image.png]( https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c444e0daa1964e0b987668f84c70d8e8~tplv-k3u1fbpfcp-watermark.image?)


接下来我们对外统一提供 **saveMessage** 方法保存一个消息,代码如下所示:

```
public void storeMessage(Message message, FPUser fpUser) {
if(fpClient.booleanValue('messages-mysql-write', fpUser, true)) {
mysqlMesseageDao.save(message)
}
if(fpclient.BooleanValue('messages-hbase-write', fpUser, true)) {
hbaseMesseageDao.save(message)
}
}
```
需要注意的是,我们允许同一消息可能会保存在两个地方,其目的是保证了旧存储( MySQL )的完整性的同时开始将消息写入新数据存储。对于读取来说其实现思路大致和存储类似,例如实现一个能根据 ID 查询消息的方法,代码如下所示:

```
public Message findMessageById(Long id, FPUser fpUser) {
// 同时获取查询 mysql 和 hbase 的开关结果
boolean shouldReadMySQL = fpClient.booleanValue('events-mysql-read', fpUser, true)
boolean shouldReadHbase = fpClient.booleanValue('events-hbase-read', fpUser, true)
if (shouldReadMySQL && shouldReadHbase) { // 当开关被同时开启时,将对比两者结果,但仍然返回旧存储数据
mysqlMessage = mysqlMessageDao.findMessageById(id)
hbaseMessage = hbaseMessageDao.findMessageById(id)
if(deepEqualsEntity(mysqlMessage, hbaseMessage)) {
logger.error(
"MySQL and Hbase message differ: mysql: {}, hbase: {}",
mysqlMessage,
hbaseMessage)
}
return mysqlMessage
} else if (shouldReadMySQL) { // 只从 MySQL 查询
return mysqlMessageDao.findMessageById(id)
} else { // 只从 HBase 中查询
return hbaseMessageDao.findMessageById(id)
}
}
```
这里的点在于,我们检查两个“读取”的开关结果,当发现两者都启用时,我们会分别两个数据库读取数据,并比较结果是否一致,当发现不一致时,我们会记录错误,并最终返回旧存储( MySQL )中的数据。

### 2 、渐进式放量迁移

现在我们已经将从新老存储读写的代码封装在功能开关中,接下来需要部署代码并进行测试。此时只需要关闭 HBase 读写开关,并打开 mysql 读写开关,便可以安全地将代码部署上线。

我们测试迁移时,只需要在 FeatureProbe 上修改 HBase “写开关”的人群规则,仅为特定用户 QA 开启 ,此时只有 QA 的消息会存储到 HBase ,过程中观察性能指标和错误日志,如果一切符合预期,进一步修改人群规则将写 HBase 在更多的用户上生效,直到所有用户的 “写操作” 均同时写入了两个数据库。

当我们写入性能感到满意时,此时可以开始为一小部分用户打开 HBase 的读取开关,然后再次观察性能指标和错误日志,其中特别需要关注是否有** “MySQL and Hbase message differ...”的日志来确保两个存储数据的一致性。当然,这里即便我们看到数据不一致的错误日志,对用户也不会产生任何影响,因为他们仍在使用旧数据存储中的数据。如果数据和指标均符合预期,您可以为部分用户关闭 MySQL 的读关开,将使用 HBase 的数据,并最终直到所有用户均从 HBase 中读取。

最后,当我们向所有用户开启 HBase 读取和写入操作后,应该将所有旧数据从旧数据存储迁移到新数据存储(确保以幂等方式执行此操作)来保证数据的整体完整性。

可见,通过上述功能开关渐进式放量迁移的方式,不仅让使得迁移可以无缝进行(对用户无感知),还有效保障的迁移的安全性。

### 3 、收尾工作

最后一步,我们需要确保关闭了旧数据库(MySQL)的读写开关,同时删除代码中对所有四个开关的所有引用,使代码中最终只剩下对 HBase (新数据库)的读 /写。再次部署上线后,便完成了整个数据库的迁移工作。

在 FeatureProbe 开关管理也很简单,由于以上四个开关已经完成了数据库迁移的使命,对于已经过期、已完成工作的开关都可以使用下线操作进行管理。

![image.png]( https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7f6188d3d6f540a48ae49df8ef7c00c1~tplv-k3u1fbpfcp-watermark.image?)

FeatureProbe 就是一个高效的功能管理 **( Feature management )** 开源服务,它提供了灰度放量、AB 实验、实时配置变更等针对功能粒度的一系列管理能力。目前 FeatureProbe 使用 Apache 2.0 License 协议已经完全开源, 开源地址: https://github.com/FeatureProbe/FeatureProbe

#HBase #MySQL #开关 #迁移 #数据库 #存储 #FeatureProbe #数据 #mysql #fpUser
关于 MySQL 的全文查询,是不是没有高效的办法限定在一个结果集里搜全文?

打算给 App 加个简单的搜索功能,不想搞得太复杂,所以就先试了下 MySQL 内置的全文,
比如我要限定在一个用户的文章里搜:

```sql
select * from article
where
user_id = ?
match (title) against ('+???' in boolean mode)
```

这么干的话貌似会先用全文索引搜索全部用户的文章,然后按用户 ID 一行行过滤,我试了下性能似乎不太好,在千万非 SSD 表上要个 0.5 秒。

然后我看了下 MySQL 可以同时搜索二个关键词,那我建一列 meta ,放用户 ID,然后我同时搜索这个用户 ID 和关键词:

```sql
select * from article
where match (meta, title) against ('+??? +USERID_???' in boolean mode)
```

发现性能几乎完全一致也要 0.5 秒。
但我单搜一个关键词就非常快 0.001 秒级别的。

```sql
select * from article
where match (meta, title) against ('+???' in boolean mode)
```

所以 MySQL 的全文搜索就是只能搜索一个条件是非常快的,其它的条件都是在前一个搜索结果里过滤?
所以这是 MySQL 全文的限制还是别的全文方案也是只能搜索一个关键词才是快的?

所以你们实现搜索某用户的文章是用的什么办法?

#搜索 #MySQL #用户 #sql #select #article #where #match #title #against
mysql or 关键字的执行问题

关于 mysql 的 or 查询,比如 select...from...where name=xxx or age =xxx 。这一条 sql 语句,在 mysql 执行的时候,是把 sql 拆分为 select...from...where name=xxx 拿到结果临时存起来再执行 select...from...where age =xxx 再跟前面的结果进行合并呢,还是 就当做一条语句执行?因为,在看关于 or 的索引失效的问题,解决方案是 or 前后的字段都需要加索引,我感觉是把 select...from...where name=xxx or age =xxx 拆分开执行的?有没有大佬跟我讲解下。谢谢

#... #xxx #select #where #name #age #mysql #sql #执行 #语句
[ Java 后端工程师] [全职,海外远程 ] [WFH]


Salary : 4000USDT UP

工作內容
1. 负责大型网站后端服务的开发、设计与维护
2. 了解使用者需求,并进行相关分析与设计
3. 负责内外部平台的功能界接及整合、程式撰写、测试修改、后续修订
4. 跨国团队合作,提供专业的技术建议


岗位要求
1. 资讯电脑或相关理工科系大学或以上
2. 擅长工具: #git#java#springcloud#mysql#redis#kafka#mongoDB
3. 具备 5 年以上的软体开发经验
4. 架构及模组分析设计经验
5. 熟悉云端开发语言 Java 、springcloud 、golang
6. 在工作中具有主动性,具备快速开发效率,并勇于承担任务与团队合作精神

vx : Sam_869