MySQL开发规范
一、基础规范
1) 使用InnoDB存储引擎
2) 数据库字符集使用UTF8,校对字符集使用utf8_general_ci
3) 所有表、字段都尽量添加注释
4) 库名、表名、字段名使用小写字母,禁止超过32个字符,须见名知意
5) 非唯一索引以 “idx_字段1...
OpenSearch:轻松构建大数据搜索服务
如何从海量的历史、实时数据中快速获取有用信息,令搜索变得越来越具挑战性。OpenSearch是阿里云推出的一款云搜索服务,本文将介绍OpenSearch的发展历程、基本功能、以及实现原理和架构,以实际应用场景为例讲述应用实践过程。
Google Protocol Buffer使用经验分享(一) C++动态消息与静态消息的博弈
# 写在前面
相信正在浏览这篇文章的同学,一定已经对PB(Protocol buffer)有所了解,所以这里不罗嗦何为PB了。
我自己从去年年底开始对PB的使用逐渐有一些了解,直到在搜索排序框架(iRank)的重构中尝试应用PB,希望能在“数据结构灵活增删改”和“高效的数据传输反序列化”之间求得平衡。
在这过程之中,对PB 动态消息和静态消息的C++使用方式进行了一些调研
利用MongoDB的SplitVector命令实现并发数据迁移
数据迁移是数据库运维中一个很常见的场景。数据迁移分为全量和增量。为了追求速度,通常我们会采用并发的方式对数据进行全量迁移。在全量导出数据时,通常都会选择做到记录级的并发,因此通常会涉及到对需要导出的某个表(集合)按照并发度进行切分(分区)的过程。现有常用做法是通过若干个skip加limit来找到一些分区点,然后就可以并发同时导出多个分区。事实上MongoDB还有一个SplitVector命令特别适合用来做集合的分区。本文将介绍一下如何利用这个命令来对集合做分区,实现并发数据迁移。