mysql - 无法为项目选择 MySQL 还是 MongoDB

标签 mysql mongodb transactions

我在为我的项目选择数据库 MongoDB 或 MySQL 时遇到问题。这是 MongoDB 数据库设计。

Ride:{
    Id: 12wtywbty21,
    driverId: t1@gmail.com,
    slectedRouteJunctions:[
                            Loc:{
                                    lat:50.25,
                                    lng:67.56
                            },
                            Loc:{
                                    lat:50.25,
                                    lng:67.56
                            },
                            Loc:{
                                    lat:50.25,
                                    lng:67.56
                            }
    ],
    availableSeats: 5 ,
    startDateTime: 2015-04-05 7:00 ,
    passengers:[
                Passanger:{
                    passangerId:t3gmail.com,
                    joinTime:2015-04-05 7:15,
                    endTime:null
                },
                Passanger:{
                    passangerId:t4gmail.com,
                    joinTime:2015-04-05 7:15,
                    endTime:null
                }
    ]
}

-----------------------------------------------------

User:{
    userId:t4gmail.com,
    name:t4,
    currentLocation:{
        lat:50,
        lng:60
    },
    friendRequest:[
                    FriendRequest:{ 
                        f_request_id:2,
                        friend_type:1
                    },
                    FriendRequest{  
                        f_request_id:3,
                        friend_type:2
                    }

    ]
}

--------------------------------------------------------

FriendRequest{
    id:1,
    RequestDate:2015-04-05 7:15 ,
    assecptData:2015-04-05 7:15 ,
    State : 0

}

我想存储这类数据集。但问题是MongoDB不支持关系查询。检索数据时,MongoDB只能使用一个Collection。所以我一步步检索数据。我认为它会增加应用程序和数据库服务器之间的流量。

另一个问题是 MongoDB 不支持事务。对于一个好的应用程序来说这是一个问题吗?我对交易不太了解。由于这些原因,我也考虑使用 MySQL 而不是 MongoDB。但我无法明确决定什么是最好的解决方案。您对此有何看法。提前感谢您的帮助

最佳答案

比较优缺点,只有当你确实需要关系数据库时我才推荐mySQL。我使用 mongoDB,它的巨大优势是快速访问和数据输入,轻松适应项目需求变化,并且几乎所有在 sql 中进行的事务都可以在 NoSQL 中实现。

如果你有一个想法,项目中的工作不需要是关系型的,mySQL 需要几分钟来处理,而 mongoDB 则需要几秒钟。

但只有您在构建项目之前了解该项目和真正的需求分析。

关于mysql - 无法为项目选择 MySQL 还是 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723820/

相关文章:

mysql - 在mysql中对unix类型日期进行排序

php - 我正在为网站制作时事通讯,但它没有连接到服务器

MySQL:获取匹配多个 WHERE 条件的多键行(可能很简单)

mysql - 如何从 MySQL 表中删除除具有最新日期的行之外的所有重复行?

javascript - 在 Angular 应用程序的 API 调用中处理发送两个参数

php - 如何开始和回滚数据库事务以包装用于 Magento 的 PHPUnit 套件

php - 如何判断一笔交易是成功还是失败?

java - Spring 同步 Hibernate 和 JMS 事务

java - 将 @ShouldMatchDataSet 与 NoSQLUnit 一起使用时,有什么方法可以忽略某些字段吗?

ruby-on-rails-3 - 如何从 Mongoid 直接访问 MongoDB API?