객체/블롭 스토리지를 위한 통합 SDK Files SDK

by DD
2주 전
조회수 8

Files SDK는 객체(Object) 및 블롭(Blob) 백엔드를 위한 통합 스토리지 SDK이다.

단일 API(Single API)를 통해 간결하고 일관된 인터페이스를 제공하며, 웹 표준 I/O(Web-standards I/O)를 지원한다.

네이티브 클라이언트(Native Client)가 필요한 경우, 탈출구(Escape Hatch)를 제공하여 유연성을 확보했다.

Files SDK의 핵심 기능: 통합 API

Files SDK는 객체 스토리지(Object Storage)와 블롭 스토리지(Blob Storage)를 위한 단일 API(Single API)를 제공하여 개발자가 각기 다른 백엔드(Backend)에 대한 별도의 학습 비용(Learning Cost)을 줄여준다.

API 일관성(API Consistency): 다양한 스토리지 백엔드(Storage Backend) 간의 일관된 인터페이스(Consistent Interface)를 제공하여 코드의 재사용성(Code Reusability)을 높인다.

추상화(Abstraction): 스토리지 백엔드의 세부 구현을 추상화(Abstraction)하여 개발자가 특정 기술에 종속되지 않도록 한다.

결과적으로 개발자는 Files SDK를 통해 스토리지 백엔드(Storage Backend)의 종류에 관계없이 동일한 방식으로 데이터를 관리할 수 있다.

웹 표준 I/O 지원의 의미

Files SDK는 웹 표준 I/O(Web-standards I/O)를 지원하여 브라우저(Browser) 환경 및 서버(Server) 환경 모두에서 호환성(Compatibility)을 확보한다.

Fetch API(Fetch API) 기반: Fetch API(Fetch API)를 사용하여 HTTP 요청(HTTP Request)을 처리하므로, 브라우저(Browser) 환경에서 손쉬운 사용(Ease of Use)을 제공한다.

스트림(Stream) 지원: 스트림(Stream)을 지원하여 대용량 파일(Large File)을 효율적으로 처리하고, 메모리 사용량(Memory Usage)을 최적화한다.

서버 사이드 렌더링(Server-Side Rendering) 지원: 서버(Server) 환경에서도 Files SDK를 사용하여 스토리지(Storage)에 접근할 수 있다.

이러한 특징은 Files SDK가 다양한 환경에서 유연하게 사용(Flexible Usage)될 수 있도록 한다.

네이티브 클라이언트(Native Client) 사용을 위한 탈출구

Files SDK는 필요한 경우, 네이티브 클라이언트(Native Client)를 사용할 수 있는 탈출구(Escape Hatch)를 제공하여 유연성을 극대화한다.

네이티브 클라이언트(Native Client) 직접 접근: 특정 스토리지 백엔드(Storage Backend)의 고급 기능(Advanced Feature)을 사용하거나, Files SDK가 지원하지 않는 기능을 사용해야 할 때 유용하다.

성능 최적화(Performance Optimization): 네이티브 클라이언트(Native Client)를 직접 사용함으로써, Files SDK의 추상화(Abstraction)로 인한 성능 저하(Performance Degradation)를 피할 수 있다.

유지보수 용이성(Maintainability): Files SDK의 업데이트(Update)에 관계없이, 네이티브 클라이언트(Native Client)를 사용하여 기존 코드(Existing Code)를 유지할 수 있다.

결론적으로, Files SDK는 개발자에게 유연성(Flexibility)성능(Performance) 사이의 균형을 제공한다.

[Files SDK] A unified storage SDK for object and blob backends