• 沒有找到結果。

含有圖片或影音的資料庫

第五章 實驗成果

第二節 含有圖片或影音的資料庫

第二節我們探討資料庫中存有大檔案的案例,因為使用改良的證明違約協 定,Merkle Tree 中對於資料庫存有大檔案的欄位是取其雜湊值儲存,我們從表 格 五-5 得知不管 SQL 指令操作這些大檔案的欄位值資料量有多大稽核時間都 不受影響,稽核時間只隨著 Merkle Tree 的大小和 SQL 指令操作次數有所變化,

Merkle Tree 的大小也會比實際資料庫的資料量小很多,因為 Merkle Tree 是由資 料庫的所有資料建構而成。

我們進一步的比較兩種不同內容的 Merkle Tree,一種是皆以明文儲存資料 庫的值,另一種是針對資料庫的大檔案欄位會取雜湊值儲存,其餘欄位以明文 儲存的混合型。我們藉由表格 五-5 與表格 五-6 來探討這兩種不同內容的

Merkle Tree 稽核時所耗費的時間與稽核時產生的 Merkle Tree 大小,可以發現混 合型的 Merkle Tree 所耗費的稽核時間遠小於全部資料皆以明文儲存的 Merkle

Tree,隨著 Query 的資料量越大、操作的次數越多,可以明顯地看到兩種不同內 容的 Merkle Tree 所耗費的稽核時間與其本身的大小,相差的倍數越來越大。

SQL 指令

OP4: SELECT `UltEx_img` FROM `Ultrasound_Exam` WHERE

`UltEx_id` = ‘1’

OP5: INSERT INTO `Ultrasound_Exam`

(`UltEx_id`,`Pat_id`,`Doc_id`,`UltEx_date`,`UltEx_img`) VALUES (NULL, '1', '1', CURRENT_TIMESTAMP, 'img.jpg')

OP4: 查詢一個 row OP5: 寫入一個 row

表格 五-4 是 10 個使用者執行 1000 次 transaction 後所得的平均執行時間,

Non POV 架構與 POV 架構的 Double Hashes 10 個使用者可以平行執行 1000 次 transaction,所以平均執行時間可以省下 10 倍左右,但 POV 架構的 C&L Scheme 則無法平行執行 transaction 理由我們在第二章有加以說明。

表格 五-4 操作平均執行時間

SQL Queried Data size Non POV POV (C&L) POV (DH) OP4 1 MB 2.7 ms 75 ms 7.7 ms OP4 10 MB 15.9 ms 203 ms 20.7 ms OP4 100 MB 167.4 ms 1718 ms 178.9 ms OP4 1000 MB 1848.0 ms 18553 ms 1942.7 ms OP5 1 MB 5.5 ms 93 ms 9.4 ms OP5 10 MB 36.5 ms 425 ms 43.4 ms OP5 100 MB 439.3 ms 4426 ms 456.3 ms OP5 1000 MB 5551.6 ms 55615 ms 5854.2 ms

表格 五-5 為不同操作所耗費的稽核時間,稽核時間又分為大檔案欄位有取 雜湊值的混合型與全部欄位都以明文儲存這兩種。我們可以看出隨著 query 的檔 案越大,不管是讀取或寫入的 SQL 指令,資料內容以明文儲存的 Merkle Tree 其 稽核時間比起混合型的 Merkle Tree 會相差越來越多倍,混合型的 Merkle Tree 其 稽核時間不受 query 的資料大小影響,因為其中的大檔案欄位都會以雜湊值儲

存,所以在 Merkle Tree 中每筆檔案的大小其實是差不多大。

檔案欄位而有所不同。

表格 五-6 稽核產生的 Merkle Tree 大小 SQL Queried

data size

Merkle Tree (hash) Merkle Tree (non hash) 10 OP 100 OP 10 OP 100 OP OP4 1 MB

1.76 KB

1.0017 MB

OP4 10 MB 10.0017 MB

OP4 100 MB 100.0017 MB OP4 1000 MB 1000.0017 MB

OP5 1 MB 2.86 KB 12.63 KB 10.012 MB 100.012 MB OP5 10 MB 100.012 MB 0.976 GB OP5 100 MB 1000.012 MB 9.766 GB OP5 1000 MB 10000.012 MB 97.656 GB

表格 五-7 服務提供者保存的證據除了所有操作的承認訊息外,如果是採用 明文儲存的 Merkle Tree,需額外保存寫入 SQL 的大檔案,混合型的 Merkle Tree 則不用,因為保存的承認訊息中含有該次客戶端裝置的請求訊息,客戶端裝置 的請求訊息內就有記錄此次操作欲寫入的大檔案雜湊值。

表格 五-7 服務提供者保存的證據

SQL 10 個操作 100 個操作

OP4 33 KB 328 KB

OP5 (hash) 35 KB 348 KB

OP5 (non hash) (Insert data size + 35KB)*10 (Insert data size + 348KB)*100

相關文件