9

我想修改现有的 java 购物车应用程序,使其与 Amazon Dynamo DB 或 Mongo DB 等 nosql 数据库一起使用......但传统的 MySQL 数据库是一个关系数据库-它具有复合键/主键/外键 - 在相比之下,在 Amazon Dynamo DB 中,要么有一个主键,要么有一个由 2 个字段组成的复合主键......

我有关系数据库的详细数据模型......现在我该如何转换它,以便我在 Amazon Dynamo DB 中有一个能够使应用程序与 Dynamo DB 一起工作的数据库(即没有 Sql 数据库)?执行此操作时是否必须牢记任何最佳实践/预防措施?这是否也会涉及大量重写应用程序代码的工作?或者我可以在数据库级别本身处理所有更改,而不修改应用程序的逻辑?此外,是否有任何工具可以完成大部分/大部分工作?

4

2 回答 2

2

没有自动化的方法。像 MongoDB 这样的 NoSQL 数据库不像 MySQL 那样映射数据结构。有不同的性能特征和存储数据的不同方式。在某些情况下,您会将两个 SQL 表合并到一个集合中,您只需将连接的数据包含在同一个文档中。

如何以及何时执行此操作完全取决于您在逻辑上如何对数据进行分组,但同样取决于您对数据施加的工作量。例如,对于大量读取和少量写入,您可能会以不同于大量写入和少量读取的情况存储数据。

除了必须重做从应用程序到数据库的接口之外,您还必须重新构建数据模型。这将与设计 SQL 结构一样多,而且最好不要考虑如何在 SQL 中完成它。NoSQL 与 SQL 是两种完全不同的野兽,需要区别对待!

于 2012-05-01T09:22:42.803 回答
2

这是一个开始: http: //mongify.com/这不是一个“全自动”解决方案,但它看起来可能是一个有用的工具,至少可以用作逆向工程 SQl 应用程序的“大纲”以作为MongoDB 应用程序。

于 2012-09-28T01:02:15.807 回答