我是資料庫系統設計的新手。在閱讀了很多文章後,我真的很困惑我們應該有 1 個表格而不進行分片或分區的限制是多少。我知道提供通用答案確實很困難,事情取決於諸如
之類的因素但是當有人問這個問題
如果行數少於一百萬,並且行大小增加數千,那麼選擇很簡單。但當選擇涉及數百萬或數十億行時,事情就會變得更加棘手。
注意:我在問題中沒有提到延遲數。請 根據您可以接受的延遲數回答。另外,我們正在討論結構化資料。
我不確定,但我可以添加 3 個具體問題:
注意:在整個問題中,假設我們將選擇 SQL 解決方案。另外,如果提供的用例在邏輯上沒有意義,請忽略。目的是獲取數字方面的知識。
有人可以幫忙了解基準是什麼嗎?您目前正在從事的專案中的任何實際數字都可以表明,對於具有如此多查詢的大型資料庫,這就是觀察到的延遲。任何可以幫助我證明針對特定延遲的一定數量的查詢選擇表數量的合理性的任何東西。
P粉4019012662024-01-17 09:55:18
MySQL 的一些答案。由於所有資料庫都受到磁碟空間、網路延遲等限制,其他引擎可能類似。
SELECT
是可能的。所以你需要了解查詢是否是這樣病態的。 (我認為這是高“延遲”的一個例子。)PARTITIONing
(尤其是在 MySQL 中)的用途很少。更多詳細資訊:分區INDEX
對於效能非常重要。 每天插入
一百萬行不是問題。 (當然,有些模式設計可能會導致這個問題。)經驗法則:100/秒可能不是問題;1000/秒可能是可能的;之後就變得更難了。更多關於高速攝取當您進入大型資料庫時,它們分為幾種不同的類型;每個都有一些不同的特徵。
SPATIAL
或一些技術 此處