队长心语Home | Article | SoftWare
记录我们的程序人生

2012-04-27 星期五 14:19:49 by :Philip, 26 Visits, 0 Comments 

北京时间2012年3月8日上午8时,微软发布SQL Server 2012 RTM版本。标志着SQL Server 2012已经可以进入生产领域了。

SQL Server 2012在大数据处理方面有了更大的发展,为了进一步把SQL Server,Microsoft Excel、PowerPivot for Excel 2010与Power View等丰富的商业智能工具和其他非结构化数据连接起来,微软宣布计划将在2012年上半年发布面向Windows Azure平台的一项基于Apache Hadoop服务的限量预览版。

 

有不少专业数据处理人员对于Excel这样的产品嗤之以鼻,特别是在统计分析领域。在统计计算精度上确实会有些许的偏差,所以微软会把上面提到的多项产品整合在一起。比如Excel虽然稍逊于SAS这样的专业软件,但与SQL Server的无缝连接可以让员工节约更多的时间,也有助于整个IT系统以一个更加紧密的整体工作。

更高、更快、更强,这已经被微软用来形容SQL Server 2012的强大。在可靠数据的基础上实现更快的数据查询,建立属于团队自己的云,BI智能等等方面都是SQL Server 2012的亮点。

这次微软发布SQL Server 2012时提到SQL 2012将做到“Any Data,Any Size,Any Where”。SQL Server 2012将连接全世界的数据,从金融到人际交互。SQL Server将作用于用户的个人电脑和手持智能终端,如手机和平板电脑。这些数据都将透过SQL Server 2012连接起来。

Windows 8的主要改进就在于无缝链接PC机与其他手持智能终端,而SQL Server 2012将从后台数据链将这种连接更加牢固。

 

现在呢,让我们来看看这个新版给我们带来了什么激动人心的功能吧。

1.AlwaysOn - 这个功能将数据库的镜像提到了一个新的高度。用户可以针对一组数据库做灾难恢复而不是一个单独的数据库。

2. Windows Server Core 支持- Windows Server COre 是命令行界面的 Windows,使用 DOS 和 PowerShell 来做用户交互。它的资源占用更少,更安全,支持 SQL Server 2012。

3. Columnstore 索引- 这是 SQL Server 独有的功能。它们是为数据仓库查询设计的只读索引。数据被组织成扁平化的压缩形式存储,极大的减少了 I/O 和内存使用。

4. 自定义服务器权限- DBA 可以创建数据库的权限,但不能创建服务器的权限。比如说,DBA想要一个开发组拥有某台服务器上所有数据库的读写权限,他必须手动的完成这个操作。但是 SQL Server 2012 支持针对服务器的权限设置。

5. 增强的审计功能 - 现在所有的 SQL Server 版本都支持审计。用户可以自定义审计规则,记录一些自定义的时间和日志。

6. BI 语义模型- 这个功能是用来替代“Analysis Services Unified Dimentional Model”的。这是一种支持 SQL Server 所有 BI 体验的混合数据模型。

7. Sequence Objects - 用 Oracle 的人一直想要这个功能。一个序列(sequence)就是根据触发器的自增值。SQL Serve 有一个类似的功能,identity columns,但是现在用对象实现了。

8. 增强的 PowerShell 支持- 所有的 Windows 和 SQL Server 管理员都应该认真的学习 PowderShell 的技能。微软正在大力开发服务器端产品对 PowerShell 的支持。

9. 分布式回放(Distributed Replay)- 这个功能类似 Oracle 的 Real Application Testing 功能。不同的是 SQL Server 企业版自带了这个功能,而用 Oracle 的话,你还得额外购买这个功能。这个功能可以让你记录生产环境的工作状况,然后在另外一个环境重现这些工作状况。

10. PowerView- 这是一个强大的自主 BI 工具,可以让用户创建 BI 报告。

11. SQL Azure 增强- 这和 SQL Server 2012 没有直接关系,但是微软确实对 SQL Azure 做了一个关键改进,例如 Reporint Service,备份到 Windows Azure 。Azure 数据库的上限提高到了150G。

12. 大数据支持- 这是最重要的一点,虽然放在了最后。去年的 PASS(Professional Association for SQL Server)会议,微软宣布了与 Hadoop 的提供商 Cloudera 的合作。一是提供 Linux 版本的 SQL Server ODBC 驱动。主要的合作内容是微软开发 Hadoop 的连接器,也就是 SQL Server 也跨入了 NoSQL 领域。

SQL Server 2012 对微软来说是一个重要产品。微软把自己定位为可用性和大数据领域的领头羊。

下载地址:

http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=a74d1b60-6566-4551-b581-03337853b82b

 


2011-12-18 星期日 18:19:30 by :Philip, 141 Visits, 2 Comments 

例:SELECT * FROM table_name ORDER BY rand() LIMIT 5;

  rand在手册里是这么说的:

  RAND()

  RAND(N)

  返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。

  mysql> select RAND();

  -> 0.5925

  mysql> select RAND(20);

  -> 0.1811

  mysql> select RAND(20);

  -> 0.1811

  mysql> select RAND();

  -> 0.2079

  mysql> select RAND();

  -> 0.7888

  你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做: SELECT * FROM table_name ORDER BY RAND(),这是有利于得到一个来自SELECT * FROM table1,table2 WHERE a=b AND c

  测试了一下,8千条记录的表,执行一次需要0.08 sec,慢了些

  后来调整了一下,得到如下代码

  SELECT *

  FROM table_name AS r1 JOIN

  (SELECT ROUND(RAND() *

  (SELECT MAX(id)

  FROM table_name)) AS id)

  AS r2

  WHERE r1.id >= r2.id

  ORDER BY r1.id ASC

  LIMIT 5;

  执行效率需要0.02 sec,要注意的是,只有mysql 4.1.*以上才支持这样的子查询。


2011-12-12 星期一 12:26:41 by :Philip, 209 Visits, 1 Comments 

MySQL数据库5.5.19发布了,该版本的改进包括:

新增功能

◆ 通过为元数据锁对象创建缓存,提升了Windows XP系统中元数据锁操作的性能,这可以使服务器避免在XP中创建和销毁同步对象的高成本操作。

◆ 增加了一个新的系统变量metadata_locks_cache_size,允许控制缓存大小,默认大小为1024。

◆ 复制:在此之前,主从服务器通过使用非本地认证的主账户进行复制连接。现在也适用于Windows本地认证。

Bug修复

◆ InnoDB存储引擎:当DML操作的缓冲做了大量改变时,尤其是使用DELETE语句时,可能造成服务器死锁。

◆ DBL_MAX返回DBL_MAX,而不是“inf”。

◆ 当使用--write-binlog或--skip-write-binlog选项运行时,mysql_upgrade不升级系统表或创建mysql_upgrade_info文件。

◆ 如果一个插件被卸载,使用PLUGIN_VAR_MEMALLOC标记的字符串类型变量的局部变量不被释放。

 

详细信息参阅:http://dev.mysql.com/doc/refman/5.5/en/news-5-5-19.html

下载地址:http://www.mysql.com/downloads/mysql/




Notice

aboutimg

每一个时代都是平等的,但是天才总是超越自己所属的时代。

在那山的这边海的那边有一群程序员,他们老实又腼腆,他们聪明又有钱。他们一天到晚坐在那里熬夜写软件,如果饿了就咬一口方便面!哦 苦命的程序员,哦苦命的程序员,只要一改需求他们就要重新搞一遍,但是期限只剩下最后两天。

文章分类

©2011 www.chnlee.com 关于本站
Total : 31.5333 ms , Time now is: 2012-5-21 5:56:06