我對錶空間有些困惑,什麼需求決定了它保存數據所需的大小。如何確定在表空間中保存數據所需的大小?
我已閱讀文檔和許多文章,包括關於表空間的stackoverflow中的答案,但我仍然不明白。
比方說,我要創建3個表:
- 客戶
- 產品
- 銷售
請問上面的架構影響您選擇適合您的表空間大小?還是完全不相關?如果不相關,那麼在這種情況下什麼是相關的?
有人可以簡單地解釋一下這個研究的新人嗎?
我對錶空間有些困惑,什麼需求決定了它保存數據所需的大小。如何確定在表空間中保存數據所需的大小?
我已閱讀文檔和許多文章,包括關於表空間的stackoverflow中的答案,但我仍然不明白。
比方說,我要創建3個表:
- 客戶
- 產品
- 銷售
請問上面的架構影響您選擇適合您的表空間大小?還是完全不相關?如果不相關,那麼在這種情況下什麼是相關的?
有人可以簡單地解釋一下這個研究的新人嗎?
分配給表空間的數據文件的大小(和數量)取決於要存儲在表中的數據量。在大多數組織中,它還取決於存儲管理員喜歡使用的塊大小,需要多長時間才能獲得額外的存儲空間以及其他特定於組織的信息。
根據您想要得到多麼近以及您對數據有多少知識,估計表的大小可能會有點複雜。但是,爲了估計分配給表空間的數據文件的大小,通常可以用一個非常基本的估計值來避開,然後只監視實際利用率。
比方說,你customer
表中有一個customer_id
列,它是一個數字標識符,它有一個name
列平均值,也就是說,30個字符,並且create_date
,告訴你當它被創建。粗略地說,這意味着每行需要7字節的create_date
,30字節的name
,可以說平均爲5字節的customer_id
總共42字節。如果我們希望在前6個月內有1,000,000名客戶(我們是樂觀的一羣),我們預計我們的表格大小約爲42 MB。如果我們重複表空間中其他表的過程,並將結果相加,那麼我們就可以猜測我們需要分配多少數據文件來覆蓋前6個月的操作。
當然,現實中存在很多併發症。你不能只加上列的大小來獲得一行的大小。你必須弄清楚塊中有多少行可能取決於數據如何隨時間變化的模式。我忽略了諸如pctfree
之類的內容,它們爲將來更新行保留空間。再加上你對有多少行的估計,以及各種字符串的大小很少特別準確。所以你想要的估計是極其粗糙。不過,在這種情況下,即使你減少了2倍,這也不是一般的交易。一旦你做了初始分配,你就需要監視實際使用的空間。因此,如果您使用的空間比您猜測的要多,則您可以隨時進入並添加文件,增加文件大小等。
很好的答案,非常感謝,只是一個問題,假設我們知道前6個月所需的數據文件的大小,那麼接下來的6個月呢? –
@almostabeginner - 你可以做同樣的評估方法。但是,由於您正在監控隨着時間的推移實際使用了多少空間,因此一般來說,「現在我們使用的是8 GB,一般來說比較容易。一個月前我們使用的是7 GB。一個月後,我們可能會需要9 GB「。如果您預計下個月的增長速度會比上個月更快,請相應調整。 –
我們在談論什麼「規模」?分配給表空間的數據文件的大小和/或數量?表空間內的擴展區大小(假設一個本地管理的表空間具有統一的擴展區大小)?或者你問一個表在一個表空間裏需要多少空間?或者是其他東西? –
我正在談論分配給表空間的數據文件的大小。 –