簡體   English   中英

Azure存儲表與SQL

[英]Azure storage tables vs SQL

我剛剛開始學習Azure,我看不到太多的場景,你想要把東西放到Azure存儲表而不是SQL。 我想也許我習慣在需要相關數據的環境中工作?

何時將某些內容放入Azure存儲表而不是Azure SQL數據庫中的表中更好?

當您希望使用關系,索引,約束等處理結構化數據時,SQL Azure非常有用。

當您需要使用沒有關系且通常具有大量卷的集中式結構化數據時,Azure存儲表非常有用。

價格:SQL Azure:5GB,25.98美元/月

存儲表:175 GB(無交易或帶寬)$ 21.88 / m因此,當您存儲大量數據時,存儲表便宜很多......例如,記錄日志記錄。

集中化:Windows Azure是服務器的分布式環境,因此如果您在一台計算機上保存某些內容,其他人將無法了解它,因此存儲表是集中式登錄,會話處理,設置或其他任何內容的良好解決方案(請記住,即使在一個數據中心也有延遲)

速度:如果你設計得對,在很多情況下,存儲表應該比sql azure快,但它可能取決於用例,我還沒有真正測試過。

雖然我在這篇文章中添加的時間較晚,但我確實想提一件似乎沒有涉及的內容。 Azure SQL有數據限制(我懷疑很快就會上升)。 Web版為5 GB,Business Edition為150 GB。 對於某些解決方案,這非常合適。 但對於其他人來說,它可能不是,而且我個人遇到過這種情況。

Azure表的上限磁盤限制要高得多。 我相信它的100 TB。

而且,雖然NoSQL本質上是非關系型的,但這並不一定是壞事。 事實上,如果我們以不同的方式考慮我們的問題,我們通常認為我們需要關系。 您可以在代碼本身內強制執行關系 - 我懷疑大多數開發人員所做的事情比他們真正想象的要多得多。

如果出現以下情況,我會一直使用azure表作為更便宜的解決方案:

  • 我只通過PK執行表選擇(由於整個反序列化,選擇屬性很慢)
  • 我可以使用有限的Linq集( 查詢運算符(表服務支持))
  • 我不需要連接表並在服務器上執行復雜的查詢
  • 我需要對數據進行分層“分割”(Sql Azure Federations是從第0天開始使用PartionKey的那個方向的步驟)

您應該了解'NoSQL'的好處http://en.wikipedia.org/wiki/NoSQL

非關系數據庫,沒有架構,大數據,縮放等等!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM