易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Databases Don't Scale (简译)

我经常问的一个问题是:你是如何来扩展SQL Database的?有很多的方法可以做到,比如使用缓存,共享或者用其他的技术将压力从数据库释放,但实际上我们没有。SQL Database从根本上来说是不具有扩展性的,我们也没有魔法使它忽然具有扩展性。
什么是扩展性?
必须具有几下几点:
横向扩展:更多的server可以带来更高的性能。
对应用程序的透明性:扩展的实现对于业务逻辑来说是透明的,逻辑上只有一个server服务于业务。
单点失败不会导致故障:单个server或者节点的宕机不会导致系统的失败。
接下来,让我们看一些技术如何“扩展”SQL Database以及他们为什么没有达到以上几点。
纵向扩展
一种方法去扩展SQL Database是买更大的server或者存储。这带来的问题是:
运输变的复杂
原来的机器落后,升级变的浪费资源
你不知道到底类似容量这样的问题会变的有多大
这个不符合扩展性的第一条。
分区,共享
根据逻辑对数据进行分区。这种方法也是纵向扩展的一种方法,它紧密依赖于应用并且你需要仔细的去计划你的schema。
这种方法对于程序来说是不透明的,必须和业务结合在一起,不符合扩展性的第二条。更严重的问题是,数据库是关系数据库,存储的数据也是相关的,这样的相关数据分布在多个server上,你需要为这样重复的关系服务,而且当他们返回时必须在客户端重新构建这样的关系。
只读的Slave
MySql的杀手级应用就是配置方便的master-slave复制,你可以用一个read-only-slave来处理你的读应用而把所有的insert update delete都由master来处理。
这种方式是最好的扩展方式,这也是很多大型的MySql在使用的方法。对于读扩展来说这样的方法是好的,对于写扩展来说这样的效率还是不行的,而且当你维护master server的时候,也会造成整个系统的宕机。
原文:http://adam.blog.heroku.com/past/2009/7/6/sql_databases_dont_scale/


相关文档:

SQL脚本字段[content]和content区别

      今天我在SQL Server 2005中用脚本创建一张表,查资料发现有的脚本中字段有加[]中符号,我问了冬季,得知是这回事,用[]的字段名,即便是sql关键字也可以作为字段名,不会报错。
      SQL Server里的表中添加一个字段,如:time系统会自动加一对方括号即:[time] ......

自己总结的不定条件SQL查询语句的写法

  我说的不定条件是指查询条件的个数不定。有时一个,有时两个,有时好几个。
首先我发现
select * from A where a='kkk' 与
select * from A where a like 'kkk'
其实效果是一样,只要 like 后面的字符串不包含通配符。这样一来就很方便了。譬如有
select * from A where a='KKK' and b='LLL'
有两个查询条件, ......

VC使用SQLDMO操作SQL Server

BOOL StartServer()
{
    if(FAILED(CoInitialize(NULL)))
    {
        AfxMessageBox(_T("Com初始化失败"));
        return FALSE;
    }
    _SQLServerPtr spSQLServer ......

SQL 字符串函数

SQL字符串函数
要看a的ASCII码,sql语句
select ascii(a)
要看ASCII码为56的字符
select char(56)
ASCII() --函数返回字符表达式最左端字符的ASCII 码值
CHAR() --函数用于将ASCII 码转换为字符
--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值
LOWER() --函数把字符串全部转换为小写
UPPER() ......

SQL注入

    SQL注入攻击的危害性很大。在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理。这有利于管理员采取有针对性的防治措施。
  一、 SQL注入攻击的简单示例。
  statement := "SELECT * from Users WHERE Value= " + a_variable + "
  上面这条语句是很普通的一条SQL语句,他主要实 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号