Cloud Data Management Interface: Difference between revisions

Content deleted Content added
Jonerworm (talk | contribs)
External links: co-operative effort for cloud interoperability
WikiCleanerBot (talk | contribs)
m v2.05b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation)
 
(20 intermediate revisions by 17 users not shown)
Line 1:
{{Short description|Cloud storage standard}}
{{Single source|date=May 2019}}
{{Infobox standardref
| title = Cloud Data Management Interface
| status = Published
| year_started = 2009
| version = 12.0.20
| organization = [[StorageInternational NetworkingOrganization Industryfor AssociationStandardization]]
| base_standards = [[Hypertext Transfer Protocol]]
| related_standards = [[Network File System]]
Line 10 ⟶ 12:
| ___domain = [[Cloud computing]]
| license =
| website = [http{{url|https://www.sniaiso.org/cloud CDMI Technical Working Group]standard/83451.html}}
}}
 
The'''ISO/IEC 17826''' ''Information technology — Cloud Data Management Interface'''--better known(CDMI) asVersion 2.0.0'''CDMI'''-- is aan [httpinternational standard<ref>{{Cite web|url=https://www.sniaiso.org/standard/83451.html|title=ISO/IEC SNIA]17826:2022|website=ISO|date=17 standardSeptember 2024}}</ref> that specifies a protocol for self-provisioning, administering and accessingmanaging access to data stored in [[cloud storage]], [[object storage]], [[storage area network]] and [[network attached storage]] systems. The CDMI standard is developed and maintained by the [[Storage Networking Industry Association]],<ref>{{cite web|title=Cloud Data Management Interface|url=http://www.snia.org/cdmi|publisher=SNIA|accessdate=26 June 2011}}</ref> who makes a publicly accessible version of the specification available.<ref>{{cite web|title=Cloud Data Management Interface (CDMI) v2.0.0|url=https://www.snia.org/sites/default/files/technical-work/cdmi/release/CDMI-v2.0.0.pdf|publisher=SNIA|accessdate=17 September 2024}}</ref>
 
CDMI defines new resource representations<ref>{{cite web|title=Cloud Data Management Interface (CDMI) Media Types|url=https://datatracker.ietf.org/doc/html/rfc6208|publisher=IETF|accessdate=17 September 2024}}</ref> to enable standardized management of any [[URI]]-accessible data, and defines [[REST]]ful [[HTTP]] operations using these representations to discover the capabilities of the storage system, discover stored data, access and update management metadata, specify data storage protocols (such as [[iSCSI]] and [[Network File System (protocol)|NFS]]) through which the stored data is accessed, and provide cross-system and cross-cloud import and export in order to enable [[data portability]].
CDMI defines [[REST]]ful [[HTTP]] operations for assessing the capabilities of the cloud storage system, allocating and accessing containers and objects, managing users and groups, implementing access control, attaching metadata, making arbitrary queries, using persistent queues, specifying retention intervals and holds for compliance purposes, using a logging facility, billing, moving data between cloud systems, and exporting data via other protocols such as [[iSCSI]] and [[Network File System (protocol)|NFS]]. Transport security is obtained via [[Transport Layer Security|TLS]].
 
Management functions enabled by CDMI include managing data ownership, identity mapping, access controls, user-specified metadata, and to declaratively specify desired data protection, [[data retention]], constraints on geographic placement, desired [[quality of service]], data versioning and security requirements.
 
CDMI also defines utility services to facilitate data management, such the ability to query data matching specific criteria, and includes extensions<ref>{{cite web|title=Draft CDMI Extensions and Profiles|url=https://www.snia.org/tech_activities/publicreview/cdmi|publisher=SNIA|accessdate=17 September 2024}}</ref> to perform bulk updates using CDMI Jobs.<ref>{{cite web|title=CDMI Jobs Extension Version 2.0|url=https://www.snia.org/sites/default/files/technical-work/cdmi/draft/SNIA-CDMI-Jobs-Extension-2.0-DRAFT.pdf|publisher=SNIA|accessdate=17 September 2024}}</ref>
 
==Capabilities==
Compliant implementations must provide access to a set of configuration parameters known as ''capabilities''.
These are either boolean values that represent whether or not a system supports things such as queues, export via other protocols, path-based storage and so on, or numeric values expressing system limits, such as how much metadata may be placed on an object. As a minimal compliant implementation can be quite small, with few features, clients need to check the cloud storage system for a capability before attempting to use the functionality it represents. Resource allocation assignments limited to the data management interface protocols must possess access bypass capabilities which extend beyond the layered framework.<ref>{{cite book |last1=Metheny |first1=M |title=Federal Cloud Computing: The Definitive Guide for Cloud Service Providers |date=2017 |publisher=Syngress |pages=202–245}}</ref> This integral function is vital to the prevention of transport layer session hijacking by unauthorized entities which may circumvent standard interfacing security parameters.<ref>{{cite book |last1=da Fonseca |first1=N |title=Cloud Services, Networking, and Management |date=2015 |publisher=John Wiley & Sons |pages=70–98}}</ref>
 
==Containers==
Line 25 ⟶ 31:
 
==Objects==
Objects are similar to files in a traditional file system, but are enhanced with an increased amount of and capacity for [[metadata]]. As with containers, they may be accessed by either name or OID. When accessed by name, clients use [[Uniform Resource Locator|URLs]] that contain the full pathname of objects to [[create, read, update and delete]] them. When accessed by OID, the URL specifies an OID string in the '''cdmi-objectid''' container; this container presents a flat name space conformant with standard object storage system semantics.
 
Subject to system limits, objects may be of any size or type and have arbitrary user-supplied metadata attached to them. Systems that support query allow arbitrary queries to be run against the metadata.
Line 44 ⟶ 50:
 
==Queues==
CDMI supports the concept of persistent [[FIFO (computing and electronics)|FIFO]] (first-in, first-out) queues. These are useful for job scheduling, order processing and other tasks in which lists of things must be processed in order.
 
==Compliance==
Both retention intervals and retention holds are supported by CDMI. A retention interval consists of a start time and a retention period. During this time interval, objects are preserved as immutable and may not be deleted. A retention hold is usually placed on an object because of judicial action and has the same effect: objects may not be changed nor deleted until all holds placed on them are removed.
 
==Logging==
CDMI clients can sign up for logging of system, security and object access events on servers that support it. This feature allows clients to see events locally as the server logs them.
 
==Billing==
Line 58 ⟶ 61:
Serialization of objects and containers allows export of all data and metadata on a system and importation of that data into another cloud system.
 
==Foreign Protocolsprotocols==
CDMI supports export of containers as NFS or CIFS shares. Clients that mount these shares see the container hierarchy as an ordinary filesystem directory hierarchy, and the objects in the containers as normal files. Metadata outside of ordinary filesystem metadata may or may not be exposed.
 
Line 64 ⟶ 67:
 
== Client SDKs ==
* [http://www.snia.org/forums/csi/programs/CDMIportal CDMI Reference Implementation]
* Droplet
* [https://github.com/scality/Droplet Droplet]
* [https://github.com/livenson/libcdmi-java libcdmi-java]
* [https://github.com/livenson/libcdmi-python libcdmi-python]
* .NET SDK
* [https://github.com/projectpvg1/.net-SDK .NET SDK]
 
== See also ==
*[[Comparison of CDMI server implementations]]
 
== References ==
{{reflist}}
 
== External links ==
* [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=40874 ISO-8601] International Standards Organization, "Data elements and interchange formats -- Information interchange -- Representation of dates and times”, ISO 8601:20044
* [http://www.itu.int/ITU-T/publications/recs.html ITU-T509] International Telecommunications Union Telecommunication Standardization Sector (ITU-T), Recommendation X.509: Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks, May 2000. Specification and technical corrigenda -
* [http://www.unix.org/version3/ieee_std.html POSIX ERE] The Open Group, Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
* [http://www.cloudplugfest.org/ Cloud Interoperability Plugfest project]
 
[[Category:Cloud storage]]