1-mingo分析-三大数据存储分析-nosql企业如何进行数据存储

单机会出现的问题

1.单点故障

2.多用户访问时会造成数据库宕机

数据的分类

1.结构化数据

有规则的数据,可以使用传统的数据库表即RDBMS(关系型数据库)进行存储,例如mysql,sqlServer,Oracle

      mysql:①主从复制 数据备份  高可用

                 ②读写分离  高性能   主:写   从:读

                 ③当mysql的数据量达到2000w条时,数据库的性能会下降,所以可以采用分库分表实现海量数据存储

                     分表:水平拆分  将一张大表数据水平拆分小表

                     如何进行分表?答:可以写一个分表算法,例如可以将主键%小表数量,根据余数决定怎么分表

                                                                                                            

                mycat:分库分表的数据库中间件,阿里项目

2.半结构化数据

有一定规则,但是可能会有一定变化的数据,例如json,xml。可以用nosql产品进行存储。(注:nosql:no only sql,不仅仅是sql)nosql就是用来存储海量数据,例如日志,物流

①用myredis(内存型数据库)存储,以key——value形式存储,value可以是String,Set,ZSet,Hash,List类型

②用mongodb(文档型数据库)存储

③用Hbase存储,列存储的产品

④Neo4j,图形存储的产品

以上存储方法的优点:

①高可扩展性,当数据量达到一个峰值之后,可以通过水平扩展的方式,去增大它的存储容量

②分布式计算,支持集群环境,可以使用廉价的服务器构建集群,因此有了第三点优点

③低成本

④数据结构灵活,没有限制(相比于关系型数据库)

⑤没有复杂的关系

以上存储方法的缺点

①弱事务

②查询语言不统一,功能有限

③数据安全较差

如何去选择?规则:

①事务要求高 数据完整性要求很严格 特别重要的数据 用关系型数据库

②一般的数据或者后期可能会扩展的数据 用nosql产品

③不重要的数据(缓存) redis  memcached

④二进制数据  fastdfs

3.非结构化数据

主要是指二进制数据,例如一些文件:xlsx文件,jpg,wmv

①在服务器中建立一个文件夹存放文件,但会影响服务器性能;而且磁盘损坏,就会可能造成数据丢失问题;

     如果tomcat构建集群,就会造成文件无法访问。

②mysql数据库,blog数据类型(专门存储二进制数据),会影响数据库性能,并且大规模的文件会造成数据繁多。

③fastdfs分布式文件系统  

    优点:有基础的上传下载功能,负载均衡,冗余备份,文件去重特性

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值