發表文章

目前顯示的是 1月, 2015的文章

[筆記] Database 重點整理

圖片
0. What is Database? Collection of persistent(長存) data 長存資料的收集 由 entities(實體), relationships(關聯) 與 properties(屬性) 所組成 Collection of true propositions(命題) 檔案中存在"Record"  就是邏輯上的真命題 1. 組成DB的四大部分為何? Data, hardware, software, users 2. DBA的工作項目? DBA是資料庫管理師,為使用者與  DBMS間的橋樑,負責管理維護資料庫 工作項目: 提供一個中央控制的整合資料庫,決定資料的儲存結構 協調個部門以決定資料呈現方式,負責維護資料庫的綱要(conceptual schema) 維護使用者的綱要(external schema, user view) 舊資料轉換,確保轉擋正確性 資料備份(Backup) ,回復原貌(Recovery) 藉由log來監督並調整資料庫的效能 Security Control與Integrity(一致性) Checking 提供適當的防措施以防止系統資料損毀 3-1. 何謂DBMS  說明operation flow of DBMS 並說明使用DBMS 的優缺點 一種套裝軟體負責處理所有使用者存取資料庫的需求 運作流程: - 收到使用者用 DSL 存取資料庫的要求 - 分析它 - 依序檢查      使用者的外部層綱要 External schema      相對的 External 與 Conceptual 的 Mapping      Conceptual 層的 schema      Conceptual層與 Internal層的Mapping      以及資料的儲存結構 - 對儲存的資料庫執行該做的動作 3-2. 何謂異質性分散式 DBS? 異質性資料庫系統 – 整合不同機構的資料庫 – 由下至上(Buttom‐Up)整合 – 各個資料庫有其完全獨立的自主性,不傷害內部利益的情況下,酌量開放某些資訊整合 – 難以達成最佳化的運作 4. 何謂DA? Data Administra

[查用] All-Pairs Shortest Path 與 Floyd's Algorithm

圖片
All-Pairs Shortest Path 目標:任兩點之間的最短距離 這個圖之中 edge 上面的數字代表距離 這個圖沒有所謂的 root 跟  leaf 找不到一個點,他的 edge 只有單一方向 演算法  Floyd's Algorithm 找兩點之間的距離 演算法核心: 找  i  到  j  的距離,與  i  經過  k  再到  j  的距離做比較 取比較小的 例如圖上的 C -> D 直接走的距離是 5 但如果走 C -> E -> D 的距離只有 3 比較短!

[查用] C 語言動態陣列用法

C語言: 宣告一維動態陣列(長度 n): int *a; ... a = (int *) malloc (n * sizeof(int)); 宣告二維動態陣列(m rows, n columns): int **b; int *b_storage; int i; ... b_storage = (int *) malloc (m * n * sizeof(int)); b = (int **)malloc(m * sizeof(int *)); for(i=0 ; i < m ; i++)         b[i] = &b_storage[i*n];

[筆記] 平行計算 MPI_Function整理

圖片
MPI Function整理: MPI_Init (&argc, &argv): to initailize MPI 初始化使用 MPI_COMM_WORLD : 一個communicator的object (直接使用) MPI_Comm_rank (MPI_COMM_WORLD, &id): to determine a process ID number 獲得process的ID 結果會紀錄到變數 id 當中 MPI_Comm_size (MPI_COMM_WORLD, &p): to find the number of processes 知道目前有多少數量的proces  結果會紀錄到變數 p 當中 MPI_Reduce (void *oprand, void *result, int count, MPI_Datatype type, MPI_Op op, int root ,MPI_Comm comm): 用來做collective communication,例如大家(每個process)做完事之後,全部的結果總和收集在一起 每個process都丟出 solutions,用來收總和的全域變數叫 global_solutions, 最後的結果全部交給 process 0 則第六個參數 root 就要設定成 0 這樣寫 MPI_Reduce (&solutions, &global_solutions, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); MPI_Finalize (): 這會讓一個MPI process結束關掉,把記憶體資源還回去 MPI_Wtime () : 用來計算執行時間的秒數 MPI_Wtick () : to find the accuracy of the timer MPI_Barrier (MPI_COMM_WORLD) : to perform a barrier synchronization MPI_Bcast () : enables a process to broadcast one or more data items of the same type to all other pro