DW/BI 數據庫面試題html
基礎題面試
簡單描述Table/Extent/Segment/Block之間的關係.算法
table建立時,默認建立了一個data segment, 數據庫 每一個data segment含有min extents指定的extents數, 數組 每一個extent據據表空間的存儲參數分配必定數量的blocks安全 |
描述Tablespace和Datafile之間的關係.性能優化
一個tablespace能夠有一個或多個datafile,每一個datafile只能在一個tablespace內, 服務器 table中的數據,經過hash算法分佈在tablespace中的各個datafile中, 架構 tablespace是邏輯上的概念,datafile則在物理上儲存了數據庫的種種對象。ide |
描述日誌的做用.
記錄數據庫事務,最大限度地保證數據的一致性與安全性 重作日誌文件:含對數據庫所作的更改記錄,這樣萬一出現故障能夠啓用數據恢復,一個數據庫至少須要兩個重作日誌文件 歸檔日誌文件:是重作日誌文件的脫機副本,這些副本可能對於從介質失敗中進行恢復很必要。 |
請列舉幾種錶鏈接的內部算法(非Inner、left、Right、Join).
Nest loop, hash join 經常使用的2種吧。。前者是大小表,小小表關聯,後者是大表 join 大表。。 Answer:等鏈接(內鏈接)、非等鏈接、自鏈接、外鏈接(左、右、全) Or hash join/merge join/nest loop(cluster join)/index join |
SQL調整最關注的是什麼.
查看該SQL的response time(db block gets/consistent gets/physical reads/sorts (disk)) |
描述對索引的認識(索引的結構、對DML的影響、爲何提升了查詢性能).
索引是與表和聚類相關的可選結構。你能夠建立,也能夠不建立。能夠在一個表的一個或多個列上建立索引,以加速 SQL 語句在該表上的執行。索引比沒有索引能更快地定位信息,Oracle 數據庫對錶數據提供更快的訪問路徑。正確使用索引是減小磁盤 IO 的重要手段。 b-tree index/bitmap index/function index/patitional index(local/global) 索引一般能提升select/update/delete的性能,會下降insert的速度 關於Oracle索引結構,請參考以下:關於 Oracle 索引以及 Bitmap 索引和 B-tree 索引(歸檔)http://www.cnblogs.com/liuning8023/archive/2013/03/10/2952511.html
關於SQLSERVER索引結構,存儲數據的方式請參考 SQLSERVER底層存儲和性能優化總結分享http://www.flybi.net/article/123 【數據後臺存放在頁面面,可是他的排列順序不像咱們select 是有順序的。。數據庫存儲頁比較凌亂,雜亂無章。,這個page用滿了,在存放另一個列的數據。不建立任何索引,就很雜亂,至關於一堆數據。。】 |
綁定變量是什麼?綁定變量有什麼優缺點?
綁定變量就是將變量的數據經過必定的數據訪問技術來和相應的實體捆綁在一塊兒,使之成爲一個總體。是數據綁定的一種形式,也是變量訪問的一種方法。 綁定變量能夠減小SQL分析,節約共享池的空間。可是在某些狀況下,使用綁定變量也是有缺點的。好比說,若是使用綁定變量,那麼優化器就會忽略直方圖的信息,在生成執行計劃的時候可能不夠優化。 |
比較TRUNCATE和DELETE命令.
二者均可以用來刪除表中全部的記錄。區別在於:truncate是DDL操做,它移動HWK,不須要 rollback segment .而Delete是DML操做, 須要rollback segment 且花費較長時間. Delte 刪除的時候記錄日誌,而truncate 不記錄日誌。 |
FACT Table上須要創建何種索引?
位圖索引 適合位圖索引的字段(重複率高的、經常使用於AND、IN、OR等)如時間、非惟一型的鍵 |
什麼是SCD?請列舉SCD的種類與區別.
關於緩慢變化維的使用 ,求舉例講解? http://www.flybi.net/question/136 緩慢變化維的歷史數據你們是如何處理的? http://www.flybi.net/question/2974 數據倉庫系列 - 緩慢漸變維度 (Slowly Changing Dimension) 常見的三種類型及原型設計 http://www.cnblogs.com/biwork/p/3363749.html |
SQL試題
有一張表T(F1,F2,F3,F4),要根據字段F2排序後取第8-16條記錄顯示,請寫出SQL。
對應的SQL以下:
with cte as ( select ROW_NUMBER()over(order by F2) as RN,* from T ) select * from cte where RN between 8 and 16 或者 select top 8 * from T where F2 not in (select top 8 F2 from T order by F2)
|
指出下面SQL語句的執行順序:
select a.column1 , COUNT(*) AS CountValue, SUM(b.column3) AS SumValue fromTableAainner joinTableB b on a.column1 = b.column1 and a.column2 = 1 where b.column3 = 10 group by a.column1 havingCOUNT(*)> 10 order by a.column1
1. From 2. ON
3. INNER JOIN 4. WHERE
5. GROUP BY 6. having
7. SELECT 8. ORDERBY
3、DW/BI 試題
描述ROLAP、MOLAP、HOLAP的區別與優點。
多維存儲方式(MOLAP) MOLAP在服務器上對數據立方體數組及其管理技術的實現,能夠全部的信息查詢都從MOLAP服務器上得到。 a, 優點 ¨ 性能好、響應速度快; ¨ 支持高性能的決策支持計算; ¨ 複雜的跨維計算; ¨ 多用戶的讀寫操做。 b, 缺點 ¨ 佔用的存儲空間較大 ¨ 難以達到TB 級數據量; ¨ 須要進行預計算,可能致使數據爆炸; ¨ 沒法支持維的動態變化; ¨ 缺少數據模型和數據訪問的標準。
二. 關係數據庫存儲方式(ROLAP) ROLAP充分利用關係數據庫技術將明細數據和聚合數據存儲在一個關係型結構中的存儲方式。 a, 優點 ¨ 沒有大小限制;現有的關係數據庫的技術能夠沿用; ¨ 能夠經過SQL實現詳細數據與概要數據的儲存; ¨ 現有關係型數據庫已經對OLAP作了不少優化,包括並行存儲、並行查詢、位圖索引、SQl 的OLAP擴展等大大提升了ROALP的速度; ¨ 查詢性能較不如MOLAP方式。 ¨ 佔用的存儲空間較少 b, 缺點 ¨ 通常比MDD響應速度慢; ¨ SQL沒法完成部分計算,主要是沒法完成多行的計算,沒法完成維之間的計算。
三. 混合存儲方式(HOLAP) 將聚合存儲到分析服務器計算機上的多維結構中,並將分區的源數據保留在它現有的關係型結構中的存儲方式。 特色 ¨ 查詢性能介於以上兩種方式之間 ¨ 佔用的存儲空間介於以上兩種方式之間 ¨ 適用於在對基於大量基本數據的彙總進行查詢時須要快速響應的多維數據集 |
描述星型與雪花型的區別與優點。
參考下社區裏面的 星型模型仍是雪花模型? http://www.flybi.net/question/115 |
描述一下DW設計架構,及ETL設計方法。
參考下附件裏面 數據倉庫架構實際例子.mht 案例 |