无法为项目决定MySQL或MongoDB

时间:2015-04-18 22:53:40

标签: 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.So我已经逐步检索数据。我认为它会增加应用程序和数据库服务器之间的流量。

另一个问题是MongoDB不支持事务。是一个好的应用程序的问题。我对交易知之甚少。由于这些原因,我也考虑MySQL而不是MongoDB。但我无法清楚地确定什么是最佳解决方案。您对此有何看法。提前感谢任何帮助

1 个答案:

答案 0 :(得分:2)

比较优缺点,我建议仅在您确实需要关系数据库时才使用mySQL 。我使用mongoDB,它的一大优势是快速访问和数据输入,很容易适应项目需求的变化,几乎所有在SQL中进行的事务都可以在NoSQL中进行。

因为你有一个想法,工作不需要关系的项目和mySQL需要几分钟才能处理mongoDB是几秒钟。

但是只有你在构建它之前才知道项目和真正的需求分析。