![]() |
1
3
好吧,特别是关于Couch和Mongo,您必须处理的第一个问题是在一些相关的JSON负载中转换soapxml负载,因为这是这些DBs所理解的。 接下来,这些数据库中的大多数都要求您在初始设计期间,以及理想情况下在开始向它们加载数据之前,很好地了解希望从它们中进行哪些查询。对于现有数据集,尤其是大型数据集,添加新索引的成本可能会很高。 这都是非常可行的,但是您想从您的头脑中摆脱任何像RDBMS中那样的“特殊”查询的概念。它们在NoSQL系统中通常表现不好。 最后,由于您已经必须将数据从XML转换为JSON,因此最好从SOAP请求中提取“感兴趣的字段”,即您要查询的字段,然后简单地填充您自己的索引字段和行,并将数据存储在您(我假设)已经存在的SQL数据库中。 编辑以供评论:
也就是说,您可以简单地提取您关心的一些信息,而不是对整个文档进行整理。在这种情况下,你必须把你感兴趣的所有东西都打包,包括过滤。
然后您可以根据JSON文档中公开的任何内容构建视图或索引。您将无法(轻松地)从原始SOAP请求中查询任何内容。只有专门提取并放入JSON负载中的元素才能通过DB轻松访问。 我的基本观点是,tho,如果您必须通过任何编组过程来转换数据并为数据库做好准备,那么您最好使用您已经知道并且在您的公司得到支持的数据库(即可能是您现有的RDBMS),而不是通过添加新的DB向堆栈中引入另一块砖块。
但是在大多数现代RDBMS中,您可以轻松地创建一个或多个表来处理这些数据。 |
![]() |
2
1
|
![]() |
3
0
为什么是nosql?例如,如果您使用Postgres,您可以使用一个简单的insert触发器将XML有效负载和提取的数据块转储到XML字段中,以将您想要的数据直接提取到DB中。你可以有这样一张桌子:
我相信其他SQL数据库也可以做到这一点。 我能看到使用无SQL解决方案的唯一原因是如果您有大量的数据。无论哪种方式,您都可能需要一些数据生命周期管理工具来归档旧数据。 |
![]() |
4
0
如果在.net或java的对象实例中加载了这些数据: db4o型 如果是xml格式的,我会使用一些直接支持它的东西。我认为SQLServerExpress是这样的。 |