如何让 Instagram 在一百多万用户爆炸后稳定运行

原文链接:Keeping Instagram up with over a million new users in twelve hours


这周二我们发布了 Instagram for Android,反响空前强烈。 最近这几周我们一直(在基础设施方面)做负载计划,为所有可能发生的事故做准备。 尽管如此,在发布那天,最大的挑战仍然是如何快速定位问题,找到瓶颈并尽快修复他们。 在这里我们将分享一些帮助我们解决问题的工具和技术。

more ...

Oracle PL/SQL编程规范

学习PL/SQL不可避免遇到规范的问题,这里转载一篇比较精的文章。

当然,各个公司和个人有自己的风格和规范,甚至Oracle官方的教程代码也没有完全遵守这些规则,这里只是一个推荐和介绍。

来源:Oracle PL/SQL编程规范指南 - 51CTO.COM

更多参考:SQL,PL/SQL编程规范 - PL/SQL - IT民工杂谈

*分割线,Google真汉子***

一、PL/SQL编程规范之大小写

就像在SQL中一样,PL / SQL中是不区分大小写的。其一般准则如下:

关键字(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP)、数据类型(VARCHAR2, NUMBER)、内部函数(LEAST, SUBSTR)和用户定义的子程序(procedures, functions,packages),使用大写 …

more ...

中国省份与城市数据SQL

本文来源:中国省份与城市数据插入 - xlx - CSDN博客

在Google找到这个,实在是爱不释手,就转过来了,很多项目都需要用到这些数据。

if exists (select * from sysobjects where id = OBJECT_ID('[province]') and OBJECTPROPERTY(id, 'IsUserTable') = 1)
DROP TABLE [province]

CREATE TABLE [province] (

[id] [int] NOT NULL,

[provinceID] [nvarchar] (12) NOT NULL,

[province] [nvarchar] (80) NOT NULL)

ALTER TABLE [province] WITH NOCHECK ADD CONSTRAINT [PK_province …

more ...

DAO的设计-使用泛型来避免重复DAO

DAO的全称是Data Access Object数据访问接口。数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

我大二时候写的一个小型管理系统,那时候老师开始强调分层和MVC的思想,当时我将DAO层分了开来,把所有与数据库的交互操作封装成对应的DAO类,这样最大的好处 是实现了封装和隔离,方便系统的迁移和重构。

分层、封装、接口化是一种基本的解决思路,无论是TCP/IP协议族,还是软件工程,都是很值得使用的方案。

那么接下来的问题就是DAO类的设计,我当时遇到的问题就是DAO类之间存在大量的冗余代码,用敏捷的角度来思考,这绝对是不允许存在的。

讲相同的方法抽象出来,这也是最常见的解决方案,最简单的例子就是函数的产生,其实也是对程序的一种抽象和提炼,避免冗余,达到复用效果。

在Java1.5出来之前,用Object来操作对象,实现方法复用,就可以达到上面的目的,但是,存在类型安全的问题。Java1.5提出了泛型的概念,类似与C+ +中的Template,Java运行环境帮助会检查类型的安全。

这里有一篇IBM资料库的文章,详细阐述了泛型在DAO设计的使用「不要重复DAO」<猛击这里打开>,作者PerMellqvist (per@mellqvist …

more ...

MySQL Command Line Client乱码问题及解决方案

以前用MySQL时候都是可视化界面,如MySQL Admin使用,现在学着使用MySQL Command Line client,初次接触,就遇到乱码问题。

乱码是中文字符串的,Google后,找到一些解决方案。摘录如下:

引用自今天去祸害哪家的闺女呢?<猛击这里打开>

1:改变数据库的默认编码配置,在MYSQL的安装目录中,找到my.ini,修改默认编

码为:default-character-set=utf8

2:建立数据库时,CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE

utf8_general_ci;

3:执行脚本:指定编码格式set names utf8(注意,不是UTF-8)

4:如果你采用的是外部接入的方式,在连接中确定请求的编码格式如:

jdbc:mysql://localhost:3306 /ms_db?

useUnicode …

more ...

MYSQL数据类型长度常规的建库策略

无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用数据类型有充分的认识。下面我 就将我的一点心得写出来跟大家分享。

一、数字类型

数字类型按照我的分类方法分为三类:整数类、小数类和数字类。

我所谓的「数字类」,就是指DECIMAL和NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每 一位(包括小数点)占一个字节的存储空间,因此这种类型耗费空间比较大。但是它的一个突出的优点是小数的位数固定,在运算中不会「失真」,所以比较适合用于「价格」、 「金额」这样对精度要求不高但准确度要求非常高的字段。

小数类,即浮点数类型,根据精度的不同,有 FLOAT(单精度)和DOUBLE(双精度)两种。它们的优势是精确度,FLOAT可以表示绝对值非常小、小到约 1.17E- 38 (0.000...0117, 小数点后面有37个零)的小数,而DOUBLE更是可以表示绝对值小到约 …

more ...

mysql 数据库导出/导入

正在学JSP,用的TomCat和MySQL,没有用CSV控制,所以数据库靠导出导入

导出:

cd bin;

mysqldump -uroot -proot xxx > xxx.sql;

导入:

cd bin;

create xxx;

source xxx.sql;

more ...