数据库选型 mysql_数据库选型指南

架构师在工作中经常会遇到数据库存储选型的问题,而市面上数据库产品众多,往往会无从下手,甚至有时候从业务开发到上线运维过程中会多次更换底层数据库,给整个研发中心带来不必要的额外工作。

结合业务场景做数据库存储选型的时候,可以综合以下几个维度去考虑:

1、业务是否需要保证ACID事务?

YES:主流的关系型数据库:MySQL、pg等

NO:主流NOSQL如:MongoDB、hbase、cassandra等

2、要求低延迟?

对性能要求极致,不担心数据丢失的选择:memcache

数据生命周期短,数据量相对小,性能要求高,需要存储灵活的数据结构:Redis

一般scylladb>canssdra>hbase

3、是否高并发写入,随机读多于范围读?

YES: hbase、cassandra,hbase范围读更优。

4、海量数据存储,支持水平扩展,分布式容错?

YES:分布式NOSQL 如:resis、hbase、Cassandra、mongodb

5、需要全文搜索?

YES:海量数据用Elasticsearch;数据量可控用pg GIST索引。

6、存储复杂数据模型?

YES:文档数据库mongodb

7、OLTP OR OLAP OR离线分析?

OLTP:行存数据库 mysql 、pg

OLAP:列存数据库高压缩 gp 、clickhouse

离线分析:hbase

8、金融级要求高可用、数据不丢

oceanbase、阿里云mysql金融版、mysql group replication

9、需要事务而且海量数据存储

分库分表:drds、sharding-jdbc+关系型数据库

newsql:tidb

10、CAP权衡

CA :关系型数据库

CP :hbase、redis、mongodb

AP :cassandra、riak 、couchdb

11、特殊业务场景

GIS:PG>ES>Mongodb

时序:influxdb>opentsdb

12、开发角度,业务迭代快,需要schema free

对开发友好MongoDB,不过也有两面性,不如关系型数据库有严格的约束,将任意类型的任意值插入任意集合,有时候会带来负面作用。

13、运维角度

易运维 cassandra>hbase

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值