2013-08-18 4 views
1

큰 파일 (약 100GB)을 데이터베이스에 저장하는 것이 좋습니까?
현재 NBT 형식을 사용하거나 mysql/postgresql 데이터베이스를 사용하여 폴더에 데이터를 저장하는 방법에 대해 생각합니다.데이터베이스에 매우 큰 파일 저장

+1

거의 동일한 질문 : http://stackoverflow.com/q/3748/983992 –

+1

*** *** 데이터베이스 란 무엇입니까?이는 사용중인 구체적인 데이터베이스 시스템에 크게 의존합니다. 그러나 일반적으로 크기가 1MB를 초과하는 항목 (개별 파일)은 데이터베이스에서 제외해야합니다. 하지만 다시 말하지만 : 이것은 매우 일반화 된 성명서입니다 ** ** 당신의 실제 데이터베이스와 저장할 파일의 종류에 따라 ** 달라질 수 있습니다. –

답변

1

이어도 일지라도 큰 파일을 데이터베이스에 저장하는 것은 매우 나쁜 생각입니다.

데이터베이스에 파일 이름을 저장하기 만하면됩니다. 파일을 디스크에 두십시오.

gbe 데이터베이스에서 큰 파일을 지키지 않는 주된 이유는 데이터베이스 백업 시간이 어리석은 일이며 아무 것도 얻을 수 없기 때문에 콘텐츠를 분산 된 저장소에 저장하지 못하게됩니다.

데이터베이스가 손상되어 백업에서 다시 작성해야하는 경우에도 복구 시간이 너무 길어집니다.


아무 것도 할 수는 있지만 꼭 그래야한다는 의미는 아닙니다.

+0

디스크에 파일을 백업하지 않으시겠습니까? 기술적으로 백업 공간의 양에는 실제 차이가 없습니다. 증분 백업을 수행하면 두 시나리오 모두 거의 동일한 공간이 필요합니다. 물론, 데이터 파일 크기가 100GB 인 경우 솔루션을 사용하는 것이 좋습니다. – alzaimar

+2

@alzaimar 크기가 같을 수도 있지만 걸리는 시간은 훨씬 더 길어집니다. 일부 데이터베이스는 백업 (예 : mysql)에 읽기 전용 모드 여야하므로 오랫동안 오프라인 상태가됩니다. 겸손한 데이터베이스 크기조차 백업 시간이 오래 걸립니다. 디스크 기억 장치 백업이 아닌 데이터베이스 * 유틸리티 백업에 대해 얘기하고 싶습니다. – Bohemian

+0

방금 ​​크기에 대해 이야기하고 있었고 기술적으로 차이가 없었습니다. – alzaimar

1

데이터베이스는 많은 수의 작은 데이터에 대해 정렬, 필터링 및 계산을 수행합니다. 파일 시스템을 갖고 싶다면 (예를 들어, 업로드 날짜별로 그룹화 된 총 파일 수를 집계하는 데 제한된 지원이 있음) 파일 시스템 만 사용하면됩니다.

0

파일 시스템을 사용하십시오.

또한 (유닉스 시스템 안락함과 가격의 균형을 맞 춥니) 잘라 내기, 붙여 넣기 등의 유틸리티를 사용할 수있는 파일의 위치와 이름

를 저장하고 참여하기 위해 데이터베이스를 사용 (example)
는 파일 수준에서 파일 작업을합니다.

2

SQL Server FILESTREAM 및 Oracle BFILE과 같이 파일 시스템 인식 스토리지를 지원하지 않는 한 데이터베이스가 대형 BLOB에 적합하지 않습니다.

대부분의 구름이 얼룩에 대해 별도의 저장소를 제공해야하는 이유가 있습니다. 큰 데이터 파일의 라이프 사이클은 일상적인 데이터와 다릅니다. 수명, 내용에 따라 다른 방법, 다른 캐싱 전략, 다른 백업 계획 등.

다음을보십시오.

I은 ​​(는) 점수 차를 따라 하나 위스콘신 올 것이다 "파일 시스템 인식"스토리지 시스템 (예 : 데이터베이스에 파일 시스템 경로 저장) 또는 별도의 스토리지 메커니즘 사용

데이터베이스 (이미지, pdf 등)에 blob을 저장하는 응용 프로그램을 다룰 때마다 필자는 백업/정적 파일 검색/백업 설정보다 테이블 공간, 백업 및 성능 문제를 처리하는 데 더 많은 시간을 투자했습니다. 파일 시스템 인식 솔루션에 대한 캐싱 전략

관련 문제