我在为项目选择数据库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。但我无法清楚地确定什么是最佳解决方案。您对此有何看法。提前感谢任何帮助
答案 0 :(得分:2)
比较优缺点,我建议仅在您确实需要关系数据库时才使用mySQL 。我使用mongoDB,它的一大优势是快速访问和数据输入,很容易适应项目需求的变化,几乎所有在SQL中进行的事务都可以在NoSQL中进行。
因为你有一个想法,工作不需要关系的项目和mySQL需要几分钟才能处理mongoDB是几秒钟。
但是只有你在构建它之前才知道项目和真正的需求分析。