在XML或MongoDB中存储数据

时间:2011-11-15 01:46:53

标签: xml mongodb

这是我的用例。

  1. 我有一些数据,我现在存储在xml文件中。我存储的数据不是持久的,即用户注销后我将删除用户数据。
  2. 我的服务器使用XML请求和响应与客户端通信。所以最初我们决定,因为我们将XML作为响应发送,所以我们将它存储在XML中,以便保存从数据库到XML格式的时间转换。
  3. 客户端将根据某些过滤条件请求XML。所以我将不得不使用XQUERY。
  4. 目前,XML中最多只有100个条目。
  5. 现在我想听听一些关于我是否应该使用XML或MongoDB的建议。   我的担忧:

    1. 在MongoDB中存储临时数据并在完成会话后删除/备份有多好?
    2. 从MongoDB json格式转换为XML。
    3. 处理架构设计中的更改。
    4. 我不能使用任何其他数据库而不是MongoDB,因为一些持久性操作仍然在MongoDB上完成。

      提前致谢。

1 个答案:

答案 0 :(得分:1)

最好使用MongoDB来处理会话数据。根据会话开始或会话结束创建和删除对象应该没有问题。您将充分利用高性能的MongoDB,它将为您提供随时间增长的可扩展性。

根据您选择的语言(我使用C#),您可以将Json序列化为对象而不会降低性能。例如,C#驱动程序为您处理序列化,因此从Mongo检索的每个对象都将自动表示为C#对象。与填充C#对象并将其存储在数据库中的方式相同,所有这些都由驱动程序处理。

如果您通过对象管理数据以与mongodb进行序列化/反序列化,您实际上也可以序列化/反序列化为XML。因此,您用于Mongo的相同对象可用于管理您的xml。

所以回答你的问题:

  1. 在MongoDB中存储临时数据并在完成会话后删除/进行备份有多好?应该与其他任何数据库一样合适。绝对比在服务器上的XML文件中存储数据更好。

  2. 从MongoDB json格式转换为XML。根据您的mongodb驱动程序,您可以同时使用对象并序列化/反序列化为mongodb和xml,从xml转换为mongodb来回很容易。

  3. 处理架构设计中的更改。 Mongo是无架构的,因为它使用文档而不是表。文档结构的任何更改都将由mongoDB处理,因为关系数据库中没有类似的模式。

  4. 我希望这是有道理的。