哪种数据库可以节省各种类型的变量集?

时间:2016-08-25 07:36:48

标签: database-design architecture microservices

我想设计一个微服务。目标是保存和提供变量集:

1套由几个变量组成:

  • 身高:Float
  • 名称:String
  • birthDate:Date
  • ...

每个集合都有一个预定义的变量列表:( height,name,birthDate)具有不同的类型,总是相同的列表。但是,列表有时会发生变化,我们不想编写新代码然后构建,然后每次我们这样做时都要部署它。理想情况下,此列表也将存储在数据库中。

此外,一组必须具有对存储在微服务之外的对象的引用。我们假设一个集合与一个User相关联,因此我们必须在某处保留用户标识符。

问题是:我知道SQL数据库,我已经明白它们不适合这类问题(这不是不可能,只是丑陋)。那么我还有其他解决方案吗?

1 个答案:

答案 0 :(得分:2)

我相信你要找的东西是schemaless database

在那里的混凝土产品上 - 选择一个适合您需求的产品。一些例子:

  • MongoDB的
  • CouchDB的
  • (许多其他人可用 - 只是google for it!)

您示例的可能解决方案:

您可能想要存储的json可能如下所示:

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

现在,根据您需要对应用程序逻辑中的数据执行的操作,您必须将属性映射到您的语言/程序可以处理的内容,您尝试将这些键/值通用,即不对他们强制执行任何架构 - 如果这是可行的!