【问题标题】:Totally unstructured data完全非结构化数据
【发布时间】:2014-07-29 11:50:23
【问题描述】:

我们目前有一个解决方案,即我们越来越需要存储各种非结构化数据。例如,客户有能力定义他们自己的工作流程,他们定义应该捕获什么样的数据(各种类型......有些简单有些复杂)。然后需要存储这些数据,然后将其显示在具有一些修改数据功能的 Web 应用程序上。

到目前为止,工作流都是在内部定义的,因此设计了一个 MS SQL 数据库来满足这些特定的工作流及其数据的需求。然而,现在客户有能力定义工作流,我们需要放松数据库的结构。起初我认为 ms sql 中的键值表可能是一个好主意,但显然我失去了正在捕获的数据的类型,然后需要反序列化网站 (MVC.NET) 中的所有数据。我也在考虑像 raven db 这样的东西,但不确定这是否合适?

所以我的问题是,考虑到用户还必须能够搜索和编辑/显示这些数据,存储这种非结构化数据的最佳方式是什么?

【问题讨论】:

  • 也许每个用户都有一个表,以他们的姓名或员工 ID 作为键。该表将按日期、名称和授权详细说明每个项目,然后有一个大字符串字段详细说明他们的项目地图?图像中可能有某种工作流程图,托管在同一台服务器上?
  • @Wolfish 我事先不知道用户,我也希望以后能够添加数据。有点像关系数据库,但没有固定的结构,如果这有意义的话。
  • 我投票给mongodb.org,它支持全文搜索、非结构化数据等。现在很多大公司都在使用它,mongodb.org/about/production-deployments
  • @Murdock 是的,制作一个简单的 winform,要求用户注册他们的姓名和员工编号,然后通过他们的编号附加任何项目。类似于 sproc 的东西,它创建了一个新表,以及它们的详细信息。不知道我的意思是不是明白了,抱歉
  • @Murdock 另外,mongo 相当不错。如果您已经拥有 MS-SQL 的许可证,我会考虑先使用它。

标签: sql sql-server database database-design key-value-store


【解决方案1】:

如何组合两种类型的数据库。为非结构化数据使用 NO-SQL 数据库,使用关系 MS SQL 数据库为每个工作流保存数据的引用,以便以后检索它们?

数据类型永远是个问题,你总是需要反序列化它。可以通过使用工作流中每个值的字符串表示形式并将它们组合到 MS SQL 行的可搜索字段中来完成搜索。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-10
    • 2015-10-09
    • 1970-01-01
    • 2019-12-10
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多