2016-08-25 75 views
0

我想設計一個微服務。我們的目標是保存和服務的變量集:哪個數據庫節省了各種類型的變量集?

1套是由幾個變量:

  • 高度:Float
  • 名稱:String
  • 生日:Date
  • ...

每組都有一個預定義的變量列表:(身高,姓名,出生日期)與不同類型,總是相同的列表。但是,列表有時可能會更改,我們不想編寫新代碼,然後構建,然後每次部署時都會部署它。理想情況下,這個列表也將存儲在數據庫中。

另外,一組必須具有對存儲在微服務外的對象的引用。假設一個集合鏈接到一個User,所以我們必須在某個地方保留一個用戶標識符。

現在的問題是:我知道SQL數據庫,我明白它們並不適合這類問題(這不是不可能,只是醜陋)。那麼我還有什麼其他解決方案?

回答

2

我相信你正在尋找的東西是一個schemaless database

在具體的產品在那裏 - 選擇建立一個適合您的需求。一些例子:

  • MongoDB的
  • CouchDB的
  • (許多其他可用 - 只是谷歌吧!)

可能的解決方案爲您的示例:

的JSON你可能想要存儲可能看起來像這樣:

{ 
    "set_id":"someid", 
    "owner":"usrid", 
    "properties": 
    { 
     "height":2.5, 
     "name":"somename", 
     "birtDate":date, 
     ... 
    } 
} 

現在,取決於您在應用程序邏輯中需要處理的數據,您必須將屬性映射到您的語言/程序可以處理的某些東西,以嘗試處理這些鍵/值泛型,即不對他們強制執行任何模式 - 這是可行的!

+0

這是我懷疑的。儘管如此,我還是希望得到一個例子或者任何關於我可以設計的建議。 – Julien

+0

如果您需要更多詳細信息,您可能需要提供一些關於您的用例的更多信息! – enzian

+0

好的,謝謝。看起來非常靈活,我不是很舒服,這將適合我,但謝謝你的回答。 – Julien