对象存储vs数据库:企业如何选择?

互联网 | 编辑: 何毅 2014-09-09 05:00:00转载

过去30多年中,在哪里存放数据以及如何存放数据成为了系统开发领域里最基础的问题。无论是将数据存储在数据库管理系统(DBMS)中,还是采用云存储,企业都无法将这一问题实现自动化。

过去30多年中,在哪里存放数据以及如何存放数据成为了系统开发领域里最基础的问题。无论是将数据存储在数据库管理系统(DBMS)中,还是采用云存储,企业都无法将这一问题实现自动化。

在AWS云当中,用户有以下几个数据库选项:

·Amazon RDS

·Amazon DynamoDB

·Amazon Redshift

·Amazon SimpleDB

·Amazon Machine Images多个关系型选项 (Amazon Elastic Cloud Compute 和Elastic Block Storage (EBS)提供可扩展的计算、存储与实例控制)

此外,AWS云还提供了其他三个大的存储类别:

·Instance Store (Ephemeral)

·Elastic Block Storage (EBS)

·Amazon Simple Storage Service (S3) (对象存储)

首先,我们来探讨一下使用诸如S3这样的对象存储的好处。对象存储比传统的文件系统存储更具扩展性,这也是用户在存储数据时经常考虑的问题。与以目录层次结构来组织文件的方式不同,对象存储系统以容器(S3中的bucket)的方式来存储文件,然后使用唯一ID(S3中的key)对其进行检索。

在对象存储系统中,存储和访问文件的元数据比传统文件系统要少。由于减少了管理文件元数据的额外工作,这使得对象存储的效率变得非常高。也就是说,开发人员可以通过添加节点的方式来无限地对系统进行横向扩展。

当处理非结构化数据或归档数据的时候,用户通常会采用对象存储方式。比如多媒体数据(图片、音频、视频等),Web文件,文档数据。事实上,许多云存储系统都使用了S3作为它们的存储系统选项。

此外,对象存储也适合非关系型数据库,比如基于Hadoop/MapReduce的数据分析应用。在存储日志文件以及传感器数据方面,对象存储是不错的选择。

通常来说,数据库(包括AWS的服务)会使用不同的方式和机制来存储数据,主要用来应对不同的应用场景。拿交易型数据存储举例,它提供了多用户访问机制,同时对所存储的数据进行了约束。

数据库可以检索并更新信息,同时让底层的物理存储系统对数据库用户是透明的。一个典型的数据目录和并发控制服务会保护数据不受多用户访问的干扰。

此外,数据库提供了恢复服务,能够让数据库回滚到一致性状态,同时提供了更加复杂的安全服务以及数据通信完整性服务。数据库还能够保证数据独立性,也就是说它可以更加轻松地将数据打散为多个逻辑块。而且像性能监控、数据导入导出等都是数据库所能够提供的服务。

当构建一个业务系统的时候,数据库往往是企业的首选技术。而随着像Amazon S3这样的存储系统不断地完善,它也可以用在一些特定的应用场景下。最后是一句老生常谈的话,用户选择技术时还是要将它们与业务需求紧密联系在一起,切忌盲目。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑