- 博客(35)
- 资源 (1)
- 收藏
- 关注
翻译 数码相机如何工作(三)
捕捉颜色不幸的是,每个感光体都是色盲。它只能跟踪撞击其表面的光的总强度。为了获得全彩色图像,大多数传感器使用滤波来观察三原色的光。一旦相机记录了所有三种颜色,它就将它们组合起来创建全光谱。在数码相机中记录三种颜色的方法有几种。最高质量的相机使用三个独立的传感器,每个都有不同的过滤器。分束器将光引导到不同的传感器。光线进入相机就好比是水流经一个管道。使用分束器就像把相同量的水分成三个不同的管...
2018-12-04 00:51:45 490
翻译 数码相机如何工作(二)
CCD 和 CMOS:无胶片相机相比起胶片相机,数码相机里会有个传感器将光能转换为电能。大多数数码相机使用的图像传感器是电荷耦合器件(CCD),有些数码相机也会使用互补金属氧化物半导体(CMOS)技术,以上两种技术原理都是将光能转换为电能。如果你阅读过太阳能电池如何工作,你就会了解到完成这种转换需要的其中一种技术。简单来比喻,你可以把传感器想象成是由数千或数百万个微型太阳能电池组成的二维阵...
2018-12-02 17:16:36 501
翻译 数码相机如何工作(一)
过去 20 年,消费电子产品领域很多关键技术都取得了较大突破。细数一下,CDs、DVDs、HDTV、MP3s 和 DVRs 背后的技术都是基于相同的基本原理:将传统的模拟信号(由波动波表示)转换为数字信号(由1和0或比特表示)。这种基础技术的转变,完全改变了我们原先处理视觉和音频信息的方式。数码相机是这种转变中最显著的例子之一,它与它的"前辈"-传统相机完全不同。传统相机完全依赖于化学和机械操...
2018-12-01 21:50:00 579
翻译 Python Descriptors 指南
原文地址:http://users.rcn.com/python/download/Descriptor.htm约定 descriptor:描述符 data descriptor:数据描述符 non-data descriptor:非数据描述符 object attribute:对象属性(包括 class instance 和 class object) attribute access:
2017-01-07 21:16:46 431
转载 MySQL 从库延迟原因以及分析
背景在 MySQL 5.6 之前从库复制都是单线程的,因此当主库压力比较大,从库访问量也比较大的时候容易出现从库延迟的状况,以下列出了一些造成从库延迟的原因以及可能的解决办法。参考了淘宝内核月报的文章,这篇文章比较好延迟的原因1、内存配置过小或者 iops 配置(这个指的是 io capacity,sas 盘和 ssd 盘配置有区别)不当。2、主库 TPS 过高。(从库单线程复制会遇到此问题)3、主
2016-12-04 17:56:36 5331
转载 Linux Swap 解读
本文内容来自前辈邹立巍的 《Linux SWAP 深度解读》。 这是目前为止看到过的比较深入详细介绍 Swap 的文章,这里先把内容保存下,方便以后细读。 可以关注下邹立巍的博客。概述本文讨论的swap基于Linux4.4内核代码。Linux内存管理是一套非常复杂的系统,而swap只是其中一个很小的处理逻辑。希望本文能让读者了解Linux对swap的使用大概是什么样子。阅读完本文,应该可以帮你解决以
2016-12-04 00:48:03 351
原创 Xtrabackup 2.2.12 线上使用过程中遇到的 FTWRL 问题
背景最近线上使用 Xtrabackup 做热备份的时候遇到一个非常奇怪的问题: 线上在从库上进行热备的时候,从库的 SQL 线程堵在了 waiting for global read lock 上,时间最长的堵了 7 小时。原理在摆开问题之前先来看下 Xtrabackup 2.2.12 备份的原理。xtrabackup 2.3 之前有两个程序:一个是 innobackupex perl 脚本,一个
2016-12-04 00:27:09 945
转载 MySQL InnoDB 的 Double Write Buffer
参考原文: http://blog.itpub.net/22664653/viewspace-1140915/partial page write 问题InnoDB 的 Page Size 一般是 16KB,其数据校验也是针对这 16KB 来计算的,将数据写入到磁盘是以 Page 为单位进行操作的。而计算机硬件和操作系统,在极端情况下(比如断电)往往并不能保证这一操作的原子性,16K 的数据,写入
2016-12-01 23:13:19 994
原创 zabbix 的一次优化尝试
背景笔者维护的 zabbix 数据库,由于监控几千台机器,几百个监控项,后台数据库压力比较大。zabbix 数据默认存放在 MySQL,基本 SQL 都是自己生成,当监控的机器数多了,监控项也多了之后,很多低效 SQL 的问题就暴露出来了。下面记录下对 zabbix 的运维改造过程。问题读写量大。写量每天 1 亿次,曾一度超过微博最大端口的写量。读量每天 2 亿,也排在所有端口读量的前 6 名。
2016-12-01 01:12:13 7596 2
原创 慢查询堆积导致从库不可用
现象收到报警,提示某个端口的某几个从库连接超时,偶尔连接失败。凭经验,猜测应该是慢查造成的(如果是机器挂了,应该一直报连接失败,并且 MySQL 服务器千兆网卡很少会存在网络带宽打满的问题)。登上机器查看负载情况(由于机器负载较高,卡在了登录过程中,kill 了之后才能上去。因为 CPU 基本上都忙于处理 SQL 语句,影响其他比如 ssh 服务的连接处理。),看到如下状况:CPU 基本占满(8 核
2016-12-01 00:58:25 1010
原创 记一次库级别的拆分
背景线上有个 LBS 的端口,每秒1600左右的写入,从库经常延迟。经观察后发现大部分写入操作都集中在更新某个 DB 上,该 DB 容量也有将近 400G,占了整个端口的 70%,并且容量还处于上涨的趋势。大量的 update 导致从库追不上,对于日常备份、扩容都是问题。(如果表结构以及 update 语句使用不当,update 造成的资源消耗将会非常多,可参考何登成的 MySQL 源码分析视频)需
2016-12-01 00:22:26 405
原创 MySQL 慢日志解析推送
背景方案确定搭建配置文件部署问题背景之前有用 pt-query-digest 做的慢日志分析的方案,定期将所有机器的慢日志的收集起来,传到中心机上用 pt-query-digest 分析一遍,最后展示出来。 基于 pt 分析展示的结果比较详细,有 SQL 排行,占比等,但是用户体验不是特别好,不能一目了然。该功能本来是可以给开发看的,但是很少有开发会去看,每次有慢查询需要和开发配合进
2016-11-30 23:30:58 1128
原创 mysql5.6自带工具集(一)
一、innochecksum — Offline InnoDB File Checksum Utility原理:按page读取并计算表空间文件中的所有page的checksum值,并和每个page中保存的checksum进行比较,如果checksum不一样就打印出不一样的地方。5.6.16以后可以支持校验2GB以上的文件。限制:不能校验已经打开的文件使用方式:inn
2015-12-19 18:05:59 884
原创 innodb_buffer_pool特性和参数调整学习
一、Innodb buffer pool prefetch技术为减少IO次数,提高mysql性能,innodb利用局部性原理,使用了两种page预取技术(预取page时,会读取整个extent,并且是异步读取):Linear read-ahead 和 Random read-ahead。(问题:若是之前读取的page很随机,这种预取技术是否反而带来负面效果?)1、Linear read
2015-12-13 17:29:06 1449
原创 mysql5.6-buffer pool 预热
参考:http://dev.mysql.com/doc/refman/5.6/en/innodb-preload-buffer-pool.htmlSeveral InnoDB system variables control the size of the buffer pool and let you tune the LRU algorithm:***innodb_bu
2015-11-30 22:34:47 922
原创 mysql5.6-独立undo log
参考:http://dev.mysql.com/doc/refman/5.6/en/innodb-undo-tablespace.htmlThis feature involves the following new or renamed configuration options:innodb_undo_tablespacesinnodb_undo_directory
2015-11-30 22:30:52 829
转载 mysql5.6-5.7配置文件自己的理解
改模版来自:http://www.innomysql.net/[client]user=xxxxxpassword=xxxxx[mysqld]########basic settings########server-id = 11 port = 3306user = mysqlbind_address = 10.166.224.32autocommi
2015-11-30 22:26:06 619
原创 mysql5.6新特性--transportable tablespace
背景1、5.6之前所有table的元数据,表空间id,都在system tablespace,导数据、恢复数据比较麻烦。作用1、导数据、恢复数据、数据迁移(比如考到ssd等性能好、容量高的机器)使用条件以及约束1、file_per_table开启 2、import table的page_size大小一样 3、不支持分区表导出 4、不支持有外键约束的其中一个表导出,除非关闭foreign_key
2015-11-28 14:41:17 458
原创 新项目上线
1、项目启动讨论会,要做什么,怎么做,指定初步方案,定业务逻辑,初步估量,建表字段。 2、在数据库层面,业务先定表,结合查询和业务需求定字段,确定查询SQL,DBA审核。 3、估量。总体数据量、每张表记录数。 4、分表。按年、按月、按天,还是固定分表等等 5、估算每类查询的频率,初步建索引
2015-11-28 14:31:10 613
原创 ssh和while的竞争
背景有个需求,需要登录到公司所有服务器上运行一个命令取出服务器的某些信息,于是借助ssh就写了个小小的shell脚本如下#! /bin/bashwhile read hostdo echo -n ${host} echo -n " " /usr/bin/ssh -i "/usr/home/xxxxxxxx/.ssh/id_rsa" -o 'Str
2015-11-28 13:55:11 312
原创 mysql
mysql5.6的xin'gong'nengPerformance: up to 230% better than MySQL 5.5Scalability: up to 48 coresConfiguration: New Default SettingsPerformance SchemaInnoDB: Online DDL (Schema Changes)Inno
2014-10-02 15:34:31 400
原创 数据库基本理论
第一范式:主键唯一第二范式:列不可分第三范式:要求在一个关系中不能出现在其他关系中已经包含的非主键信息(除主键外的数据冗余)SQL定义的四种隔离级别:Read Uncommitted(RU):读取其他事务已经修改但未提交的数据。(脏读,违反事务的隔离性)Read Committed(RC):读取已经提交的数据。但是,在一个事务中(当前事务还未提交),对同一个项,前后两次读取
2014-08-04 20:54:10 604
原创 java io重定向
PrintStream consoleOut = System.out; InputStream consoleIn = System.in; BufferedInputStream in = new BufferedInputStream(new FileInputStream("Redirect.in")); PrintStream out = new PrintStream
2014-08-04 20:12:12 407
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人