前几天听了听SQL SERVER 2008的讲座,感觉讲的比较好,自己问了几个问题,比较明白,现在记录一下当时自己问的问题:
(1)数据库分区,设计数据表的分区要在建表之前就设计好,假如一个数据表数据会很大,就像订单式的数据,最好按照分区设计表,不然以后很难扩展
(2)数据冗余与查询效率,两个表连接查询肯定比不上在一个表里查询块了,但是若把一些数据放到一张表里,这张表里的数据势必会有冗余。但是查询会块,更新,删除操作会慢一点。范式越高,冗余度越小,一般,实际设计时并不追求高范式。
(3)数据仓库有维表和事实表,一般维表的结构自设计之后不会再有很多改变,维表中的数据变化也不会很多。主要变化的是事实表的数据,一般ETL过程中首先是建好维表,加载维表数据的,然后才根据相关外键整合事实表的数据,最后Load进入数据仓库。在整合事实表数据的过程中,求一条记录中相应维值的键,会用到SSIS(集成服务)中的 LookUp 组件,它可以直接获取维度的键。
(4)SQL SERVER 并没有集群,类似Oracle RAC的负载均衡集群,但是SQL SERVER有故障转移功能,支持从一台节点瞬间切换到另一台备份服务器中。若数据量很大,他仍是使用单点服务器,那个讲解人告诉我,他们做到最高的是单点支持64T,每秒30000个事务。
(5)很想问Bing上的数据是否是存储在SQL SERVER上的,后来给忘了,不过我感觉应该不是。