2010-12-29 6 views
7

큰 사진/텍스트 파일을 SQL 서버에 저장하는 가장 좋은 방법은 무엇입니까? 확장성에 대한 요구가 급증하고 있으며 우리는 단지 1 대의 서버로 작업하고 있습니다.큰 파일을 SQL 서버에 저장

나는 blob과 반대로 sql에 파일 경로를 저장하는 것이 더 좋습니다. 사실입니까? 소프트웨어를 확장해야한다면 여전히이 방법을 따라야합니다.

답변

9

파일 크기에 따라 다릅니다.

제목에 Microsoft의 백서, here이 있습니다.

256K보다 작은 객체는 데이터베이스에 저장하는 것이 가장 좋으며 1M보다 큰 객체는 파일 시스템에 저장하는 것이 가장 좋습니다. 256K와 1M 사이의 읽기/쓰기 비율과 개체 덮어 쓰기 또는 대체 비율은 중요한 요소입니다.

물론 결론은 SQL Server (2005 및 2008 R2)에만 해당됩니다.

+0

놀라운 종이 수행하는 가장 좋은 방법을 읽어 Storing Images in DB - Yea or Nay?

! – gh9

+0

비록 MS-SQL 서버와 관련이 있어도 좋은 종이입니다! 또한 이미지 수와 응용 프로그램의 사양에 따라 다릅니다. 오류가 발생하기 쉽기 때문에 BLOB보다 안전합니다. –

1

대부분 작업에 적합한 도구를 사용하는 것이 좋습니다. 관계형 데이터를 저장하기 위해 관계형 데이터베이스를 최적화하는 데 많은 시간과 노력이 필요했습니다. 파일을 저장하기위한 목적으로 파일 시스템을 최적화하는 데 많은 시간과 노력이 필요했습니다.

전자는 후자의 일을 수행하는 데 사용할 수 있지만 후자를 사용하지 않을 이유가 충분하지 않으면 작업에 더 적합한 도구입니다. 거의 모든 경우에 걸쳐 파일 경로 (및 원하는 관련 파일에 대한 기타 관련 정보)를 DB에 저장하고 실제 파일을 FS에 저장하는 것이 사용 가능한 도구를 사용하는 데 더 적합한 방법입니다.

1

좋은 생각이 아닙니다. 데이터에 파일을 저장할 특별한 이유가없는 한. 이미 여기에 설명 : 당신은 여전히 ​​주장하는 경우, 좋은 찾고, 그래서 :) 여기 Best Practices for uploading files to database

+0

DB에 이미지를 넣기로 결정한 사람이 누구든 저주하지 않는다는 이유로 일주일도 지나지 않습니다. 나는 당시에는 좋은 생각 인 것 같았고 결코 많은 이미지를 가질 수는 없을 것이라고 생각합니다. 그러나 좋은 아이디어는 아닙니다. – dwidel

+0

:) 특히 귀하의 질문 제목 "SQL 서버에 큰 파일을 저장"라고하면 큰 의미로, 1 메가 바이트보다 큰. 하지만, 작더라도 DB에 저장하지 않을 것입니다. @David가 올바르게 말했듯이, 그것은 작업에 적합한 도구가 아니기 때문입니다. 파일 - Amazon S3를 통해 크기를 조정하거나, 압축하거나, 분할하고 싶을 수도 있습니다. 그들이 DB에 있다면 나는 단지 이것을 빨리 할 수 ​​없습니다. – Nishant