Sql-Server

SQL Server vs SOLR(或任何文件數據庫)

  • February 8, 2016

我在規範化的 sql server 數據庫中有我的“客戶”數據。

在我的應用程序中獲取客戶數據需要很長時間。這是因為我必須去 10 多個表才能獲取我需要的所有數據。

我的公司安裝了 SOLR,我考慮儲存一個 Json 對象,該對象包含我需要的單個“客戶”已經放在一起的所有數據。

我認為這會給我一些顯著的速度改進。

但是,這讓我想知道將這些數據放在一個包含 Json 的 varchar(max) 列的單個表中會有什麼不同。我可以在與 json 相同的表上索引我的 10 個可搜尋列。

我知道文件數據庫非常流行。 所以我想在 sql server 中使用非規範化數據來滾動我自己的好處一定是有好處的。誰能告訴我它們是什麼?

許多 NoSQL 產品都內置了分片。DBMS 本身負責在特定伺服器上儲存特定的鍵範圍並保留冗餘副本以實現高可用性。客戶端連接在 DBMS 中而不是在應用程序中路由。以犧牲 CAP 為代價,多伺服器橫向擴展變得容易。

作為替代方案,如果您已經設置了 Solr,您可以讓它索引您的文件並以多種格式(JSON、XML 甚至 Python 字典)將其返回給您。

Solr 提供了一種非常快速地搜尋您的資訊的方法,並且還允許您進行分面查詢。

雖然在 RDBMS 中創建自己的非規範化結構是可行的,但 RDBMS 的重點是關係方面。你會打敗使用一個的目的。Solr 將是目前最簡單的解決方案(很可能是因為我不知道您的技能),因為它是為處理非規範化文件而創建的。

使用 SQL Server 來存放 JSON 的明顯好處是,所有資訊都儲存在您正在工作的同一個地方和同一個環境(很可能)中。

注意:最後,重要的是您的最佳判斷。Solr 目前可以很好地滿足您的需求,但它會長期有效嗎?

引用自:https://dba.stackexchange.com/questions/97253