Amazon S3를 데이터베이스로 사용하려면 어떻게해야합니까?


최상의 답변

먼저 Amazon S3를 데이터베이스로 사용할 수 있는지 여부에 대한 혼합 이론이 있습니다. 개인적으로 Amazon S3는 약간의 아키텍처 변환을 통해 데이터베이스로 사용될 수 있다고 생각합니다. 그러나 이것은 약한 사람을위한 것이 아니며 소금 한 꼬집으로 가져 가야합니다! 당신이 그것을 할 수 있고 당신이 찾고있는 것을 달성 할 수 있다고하더라도, 그것 자체의 단점이있을 수 있습니다.

건축 적 통찰력 : 데이터베이스에서 S3를 전환하는 방법을 설명하기 위해 먼저 S3의 기본 아키텍처를 이해하겠습니다. Amazon S3는 그 ​​자체로 단순한 객체 스토리지 플랫폼이 아니라 파일 시스템입니다. 사실 Amazon S3 자체는 기본적으로 NoSQL 데이터베이스입니다. 키는 파일 이름이고 값은 파일 콘텐츠 인 대규모 키-값 저장소입니다.

S3로 ” 기본 사용 사례는 객체를 저장하는 것이며 기본 아키텍처 자체는 주로 파일 시스템입니다. 자동으로 데이터를 버킷 내부에 분할하고 키의 기본 색인을 유지합니다.

접근법 : S3를 의사 파일 시스템 으로 간주하면 ACID 데이터베이스. 다른 데이터베이스와 마찬가지로 쿼리 할 수는 없지만 복잡한 데이터 레이크에서는 어쨌든 임의의 쿼리를 실행할 수 없습니다.

반면에 AWS S3에서는 Elastic MapReduce 를 지능적으로 사용하여 통찰력있는 지표를 추출 할 수 있습니다. Hadoop 파이프 라인으로 지원됩니다 . 이 접근 방식을 사용하려면 기본적으로 OpenHeatMap에서 생성 된 모든 데이터를 S3 버킷 에 JSON 파일로 저장해야합니다. 가장 중요한 것은 데이터 구조에 따라 Athena 또는 S3 선택 . 데이터베이스에 액세스하기 위해 다른 AWS 서비스가 필요한 경우 SQL 트랜잭션을 허용하는 API 스크립트 가 있어야합니다.

Give 시도해 보시면 도움이 될 것입니다.

도움이되기를 바랍니다.

S3 학습에 도움을 찾고 있고 직접 설정하려는 경우 S3 버킷은 저에게 연락하십시오.

답변

할 수 있습니까? 확실한. 그럴까요? 절대 아닙니다.

AWS S3는 파일 저장을위한 훌륭한 서비스입니다. 그러나 파일을 편집하려면 전체 파일을 다운로드하고 원하는 내용을 변경 한 다음 다시 업로드해야합니다. 그 동안 수행 된 변경 사항을 덮어 씁니다.

데이터베이스는 파일을 항상 열어두고 데이터를 이동하고 검색하고 점진적으로 쓸 수 있다는 이점이 있습니다. 따라서 다중 사용자 및 느린 성능을 기대하는 데이터베이스는이 컨텍스트에서 작동하지 않습니다. 그리고 이것은 “퓨즈”또는 다른 mount-S3-as-a-file-system 소프트웨어를 사용한다고 가정합니다.

그러나 특정 사용 사례에서 S3를 데이터베이스로 사용하는 방법이 있습니다. 어떤 경우에는 “사이드카 파일”과 함께 S3에 파일을 저장하는 것이 합리적 일 수 있습니다. 즉, 예를 들어 image123.jpg가 저장되어 있고 그 옆에는이 파일에 대한 정보가있는 image123.json이 있습니다.

예를 들어 백업 또는 파일이 있는지 확인할 수있는 기타 데이터의 경우 예를 들어 날짜를 포함하는 명명 체계를 사용하고, 그렇다면 파일에 대한 추가 정보와 함께 사이드카 파일도 가져옵니다. 이렇게하면 실제 데이터베이스를 사용하지 않고도 무제한으로 확장 할 수 있습니다.

프로젝트에 따라 사이드카 파일은 단일 파일 기반이고 SQL (대부분) 호환되는 SQLite 데이터베이스도 가능합니다. 위에서 언급 한주의 사항에 유의하세요.

아래에서 자유롭게 댓글을 달 수 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다