如今短视频发展迅猛,数据的增长速度比以往任何时候都快,其中大部分数据是非结构化的:如图片、视频、音频等等。
数据大小不再是以前的kb、mb,更多的是gb、tb,甚至pb级别,如何存储这些飞速增长的数据呢?
总结了一下,有如下存储方式:
分布式文件系统: 这类系统将数据分散存储在多个物理位置,通常用于处理大规模数据集,如Hadoop分布式文件系统(HDFS)。
对象存储: 以对象为单位存储数据,每个对象包含数据本身、元数据和唯一标识符。对象存储适用于非结构化数据,如图片和视频。
块存储: 将数据存储为块设备,类似于传统的硬盘驱动器。块存储通常用于需要高性能和低延迟的应用,如数据库和虚拟机。
文件级存储: 允许用户通过网络文件共享协议(如NFS或CIFS/SMB)访问和管理文件系统。
如何存储速度又快,成本更低呢?对象存储应运而生,对象存储系统专为 PB 级的数据而设计的。
什么是对象存储? 对象存储,也称为基于对象的存储,是一种将数据存储寻址和操作为离散单元的方法,对象保存在单个存储库中,并且不会作为文件嵌套在其他文件夹中的文件夹中。
对象存储是一种数据存储架构,它将数据存储为对象,而不是传统的文件系统结构。对象存储通常用于存储大量的非结构化数据,如图片、视频、音频文件等。以下是对象存储的一些关键特点:
- 扁平化存储:对象存储不使用传统的文件系统层次结构,而是将所有数据存储在一个扁平的命名空间中。
- 元数据丰富:每个对象都可以有丰富的元数据,这些元数据可以用于描述对象的内容、访问权限等。
- 可扩展性:对象存储设计用于水平扩展,可以轻松地添加更多的存储节点来处理不断增长的数据量。
- 数据冗余:为了提高数据的可靠性和可用性,对象存储系统通常会在多个位置存储数据的副本。
- 访问控制:对象存储提供了细粒度的访问控制机制,可以控制谁可以访问特定的对象。
- API驱动:对象存储通常通过RESTful API进行访问和管理,使得它能够与各种应用程序和平台集成。
- 多租户:对象存储支持多租户架构,允许多个用户或组织使用相同的存储基础设施,同时保持数据隔离。
- 成本效益:由于其可扩展性和管理效率,对象存储通常比传统的存储解决方案更具成本效益。
对象存储服务的一些常见例子包括Amazon S3、Google Cloud Storage和Microsoft Azure Blob Storage等。这些服务通常作为云服务提供,允许用户通过互联网访问和管理他们的数据。
对象存储有这么多优点,那如何将非结构化数据存入到对象存储中去呢? 需要用到一些协议:
S3 协议(对象存储协议) Amazon Simple Storage Service (简称 Amazon S3) 是一个公开的云存储服务,Web 应用程序开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档。S3 提供一个 RESTful API 以编程方式实现与该服务的交互。 多年来,Amazon S3 接口已经发展成为一个非常强大的数据管理接口,与传统的文件系统接口不同,它为应用程序开发人员提供了一种通过丰富的 API 集控制数据的方法。 这些方法慢慢地发展成了S3协议,在国内外很多云存储厂商都是基于S3协议,并且都支持通用的S3接口,比如国内著名的阿里云的oss、腾讯云的cos、华为云的obs等等。 S3 API 是一个应用程序编程接口,提供在 S3 中存储、检索、列出和删除对象的能力。 还有其他功能,比如:元数据、多租户、安全和策略、生命周期管理、原子更新、搜索、日志记录、通知、复制、加密、计费等。可以说国内阿里云、腾讯云、华为云等厂商的云存储已经与标准的S3功能对齐,基本上该有的都有。
ArchiveLink协议
ArchiveLink协议是SAP系统中用于连接SAP应用程序和第三方归档系统的一种接口。它允许SAP系统与外部内容管理或归档系统进行交互,以存储、检索和管理文档。通过ArchiveLink,用户可以在SAP系统中直接访问和管理归档在外部系统中的文档,实现文档的长期保存和高效检索。
ArchiveLink协议的主要功能包括:
- 文档存储:将SAP系统中生成的文档存储到外部归档系统中。
- 文档检索:从外部归档系统中检索文档并在SAP系统中显示。
- 文档链接:在SAP系统中创建文档与外部归档系统中存储的文档之间的链接。
ArchiveLink协议支持多种通信协议,如HTTP和RFC(Remote Function Call),以适应不同的外部系统和网络环境。通过配置ArchiveLink协议,可以定义SAP系统与外部归档系统之间的通信细节,如服务器地址、端口号、认证信息等。
此外,ArchiveLink还提供了一系列的事务代码和配置步骤,使得用户可以在SAP GUI中方便地进行配置和管理。例如,用户可以通过事务代码OAA3
来管理ArchiveLink的通信接口,以及通过事务代码OAC0
来管理内容存储库。
总的来说,ArchiveLink协议是SAP系统与外部归档系统之间的重要桥梁,它为文档的长期保存、高效管理和合规性提供了有力支持。
CMIS协议 内容管理互操作性服务(Content Management Interoperability Services,简称CMIS):
- CMIS是一个开放标准,定义了一个领域模型和Web服务、RESTful AtomPub和浏览器(JSON)绑定,允许应用程序与一个或多个内容管理存储库/系统进行交互。
- CMIS旨在促进不同内容管理系统之间的互操作性,允许用户访问和管理存储在不同系统上的非结构化数据。
- CMIS定义了一系列的服务,包括存储库相关服务、遍历服务、内容对象服务、多文件服务、发现服务(查询和发现内容变更)、版本服务、关系服务、策略和规则服务、ACL服务,以及AtomPub的绑定等。
- CMIS由AIIM发起,并由OASIS(结构化信息标准促进组织)管理,得到了包括Adobe Systems、Alfresco、EMC、HP、IBM、Microsoft、Oracle、SAP等在内的多家公司的支持。
CMIS(Content Management Interoperability Services)协议被应用于多种ERP(企业资源规划)和OA(办公自动化)系统中,以实现内容管理的互操作性。以下是一些使用CMIS协议的ERP和OA系统的例子:
- Microsoft SharePoint Server 2010:
- SharePoint Server 2010提供了CMIS连接器,允许用户与任何已实施CMIS标准的存储库中的内容进行交互。
- IBM Cloud Pak for Business Automation:
- IBM提供了CMIS API,允许应用程序与内容管理系统一起工作,这表明CMIS协议被用于IBM的业务自动化解决方案中。
- Alfresco:
- Alfresco是一个开源的内容管理系统,它支持CMIS协议,允许与其他系统进行互操作性。
- SAP:
- 在CMIS的介绍中提到了SAP作为支持CMIS标准的参与者之一,意味着SAP系统可能利用CMIS协议来实现内容管理的功能。
- Oracle:
- 同样作为CMIS标准的支持者之一,Oracle可能在其产品中集成了CMIS协议以支持内容管理。
- OpenText:
- OpenText作为一个内容管理解决方案提供商,也可能在其产品中使用CMIS协议。
- Nuxeo:
- Nuxeo是一个提供企业级内容管理解决方案的公司,它支持CMIS协议以增强系统的互操作性。
- Liferay:
- Liferay是一个门户框架和内容管理系统,它也支持CMIS协议。
这些系统和解决方案通过使用CMIS协议,能够实现不同内容管理系统之间的数据交换和操作,提高企业内容管理的灵活性和效率。
对于大型公司,有各种不同的系统,如ERP系统,OA系统,CRM系统,SCM系统,文件系统分散在各个系统中,有没有一个方法,将不同系统的对象存储,汇总到一个存储中,或者通过协议,将不同系统的存储打通,做到内容分发呢?
笔者构建了一个系统,架构如下:
这样文件就可以做到在一个系统,或者多个系统里存储或分发了。
这样做的好处:
- 提升系统性能和节约成本,存算分离,为系统减负。
- 统一分发和存储,而且对用户无感知,不改变用户使用习惯;
- 促进系统之间文档互通,消除数据孤岛;
- 异构系统统一,方便管理和维护,降低企业成本;
- 数据可以进一步做治理,数据备份,安全管理,权限管控,数据汇总,ocr识别,流程自动化,知识提炼,大模型训练等,为企业数字化转型提供基础。
- 提升数据安全性和合规性;
完美!