千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:重庆千锋IT培训  >  技术干货  >  分布式存储里的文件存储和数据库存储有什么区别?

分布式存储里的文件存储和数据库存储有什么区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-20 12:44:23

一、分布式存储里的文件存储和数据库存储的区别

首先你要区分使用方式不同,对于文件存储,往往调用的接口就是打开文件,读写文件和关闭文件。对于数据库,操作的对象就是表格,通过SQL语句实现表格的定义、插入删除和属性修改,所以数据库往往更加的灵活,也更加的复杂。分布式存储中,常见的接口一般就是文件、对象和表格等。这是从使用者角度来说。

我们再说一下存储的实现,我们可以通过文件存储的方式实现数据库存储的部分功能。为什么这么说呢,因为数据库存储不仅要存储数据,还要涉及到索引和事务的ACID。对于数据库中的数据,可以通过文件的形式保存,同时还要实现索引更新、事务保证等等,所以数据库存储更加的复杂。

那我们最后说说分布式的区别,分布式系统中,一份文件可能对应一份物理文件,一份文件也可能被切割打散到不同的机器上,这是不同的实现方式,可以参考下GFS和Haystack的设计。对于文件存储,最主要的是一致性问题处理,有强一致同步方法,亚马逊提出的nwr模型,还有paxos/raft等多数派协议。这些方法也可以用来存储数据库的数据,但是分布式数据库还要在这之上实现分布式事务等复杂技术,可以看一下目前流行的数据库论文spanner和Aurora。

延伸阅读:

二、Vertica是什么

Vertica是一款基于列存储的MPP(massively parallel processing)架构的数据库。

它可以支持存放多至PB(Petabyte)级别的结构化数据。Vertica是由关系数据库大师Michael Stonebraker(2014 年图灵奖获得者)所创建,于2011年被惠普收购并成为其核心大数据平台软件。Vertica 采用无共享的MPP 架构,基于工业标准的x86 服务器,拥有高可扩展性。Vertica 集群中的所有节点100%对等,集群中没有主节点或其他共享资源。通过增加节点,就可以线性地扩展集群的计算能力和数据处理容量。Vertica 是真正的纯列式数据库,优化器和执行引擎可以忽略表中与查询无关的列。Vertica 不仅仅按列式存储数据,还主动地根据列数据的特点和查询的要求选用优异的算法对数据进行排序和编码压缩,这就极大地降低磁盘I/O 消耗。同时,Vertica 的执行引擎和优化器也是基于列式数据库设计的,编码压缩过的列数据在Vertica 的执行引擎中进行过滤、关联、分组等操作时不需要解反编码,从而大大降低了CPU 和内存消耗。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

python异步中selectors的使用

2023-11-14

python交集有什么作用?

2023-11-14

pythonfloat函数怎么用

2023-11-14

最新文章NEW

pythonreversed的反向迭代

2023-11-14

python匿名函数的命名规则

2023-11-14

python使用协程的缺点

2023-11-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>