您只有两个表,国家和用户是否正确。如果是这样,在我看来,唯一重复的数据是外键,这没什么大不了的。如果有更多重复,那么我质疑数据库设计本身。
从概念上讲,你可以在 NOSQL 中做到这一点,但为什么呢?仅仅因为 NOSQL 是新的?好的,那就去学习吧,但要记住,“如果它没有坏,就不要修理它。” 显然应用程序已经在关系上运行。如果数据存储在 MongoDB 中的单独文档中并且您希望将它们相互关联,则需要使用链接,这将比连接更多工作并且速度更慢。您将不得不存储一个链接,这并不比存储外键好。或者,您可以在 MongoDB 中将一个文档嵌入到另一个文档中,这甚至可能会增加重复。
如果它当前在 MySQL 上运行,那么它就没有在分布式服务器上运行,因此 Mongo 对分布式服务器的使用是无关紧要的。您必须添加服务器才能利用这一点。如果表在关系中正确索引,则不必搜索大量数据。
但是,这不是一个复杂的应用程序,您可以使用其中任何一个。如果数据存储在具有关系的 MPP 环境中,它将运行得非常好,根本不需要搜索大量数据。但是,在 MPP 中选择分区键有两个要求: 1. 选择一个能够实现数据均匀分布的分区键;和 2. 选择一个可以允许配置数据的键。我建议您在两个文件中使用与分区键(分片键)相同的键。
尽管我很喜欢 MongoDB,但我看不到移动应用程序的价值。