稍微大型的php网站,mongoDB和mysql在项目里怎么搭配,是二选一还是二者都用,如果二者都用的话,怎么合理搭配?

php专注 发布于 2019/08/28 15:30
阅读 688
收藏 0

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

稍微大型的php网站,mongoDB和mysql在项目里怎么搭配,是二选一还是二者都用,如果二者都用的话,怎么合理搭配?

加载中
0
盒饭加鸡腿
盒饭加鸡腿
混合着用,mysql是关系型数据库,因为具有ACID的特性,所以重要的数据,事务操作等需要放在mysql中。mongoDB是Nosql,存放的是类似于json格式的bson数据,你可以用它存放缓存,或者直接和前端交互数据,这些数据不要有太多的逻辑(牵扯到事务,关联查询等)。还有redis,通常做缓存,高频热点数据等,是kv键值对存储,数据存放在内存中(也可以进行持久化)。总之,每个数据库都有自己的优缺点,像关系型数据库的数据处理速度就远远不及nosql的速度,所以开发的时候要取其精华去其糟粕。还有,同一个数据并不是只能存放在一个数据库中,存的时候可以存多处,但取(查)的时候就择优取
0
不会飞的小龙人
不会飞的小龙人

保险行业,我们是两者混用,redis就不谈了,热数据缓存;mysql存事务和关系数据,如用户、订单记录(不是详情)、产品记录(不是详情)、报表数据;mongo中存放订单详情、产品详情、较多字段的填表表单等数据,这些数据(bson)特点,一级字段统一,但子节点字段不统一可能存在多层级并且无强关系的大数据结构;

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部