2012-01-10 4 views
0

우리는 템플릿으로 여러 텍스트 파일을 사용하여 WCF 데이터 서비스 - 서비스 작업 호출의 결과를 만듭니다.SQL Server 데이터베이스에 텍스트 파일을 저장해야합니까?

텍스트 파일은 각각 3000 바이트 이하입니다.

템플릿 파일을 WCF 데이터 서비스 파일과 파일 시스템에 저장하는 것과 SQL Server 2008 R2 서버에 저장하는 장단점은 무엇입니까?

+0

파일의 텍스트 콘텐츠가 아닌 파일을 저장하려는 특별한 이유가 있습니까? 호기심, 그게 다야 –

+1

3K는 매우 작습니다. SQL 2005 이전 버전에서도 varchar에 8K의 데이터를 넣을 수있었습니다. 그래서 이것은 더 일반적인 질문입니다 : "파일이나 데이터베이스에서 설정 데이터를 어디에 두어야합니까?" 이 주제에 쓰여진 톤이 있습니다. –

답변

1

SQL Server 2008 이전에는 텍스트 파일과 같은 대형 개체를 데이터베이스에 저장하지 않는 것이 좋습니다. 그것은 액세스 속도를 늦추 려하고 일반적으로 작업하기가 더 어려워졌습니다. 대신 일반적으로 문제의 파일에 대한 링크를 저장하는 것이 좋습니다.

물론 데이터베이스에서 다른 사람이 삭제해서는 안되는 파일을 보호하지 않으며 파일을 백업하고 데이터베이스에서 별도로 전송해야하는 경우가 있습니다.

SQL Server 2008에서는 이전의 많은 문제가 파일 스트림 기능을 사용하여 극복되어 왔으며 filestream을 사용하여 파일을 저장하는 것이 매우 유용 할 수 있다고 생각합니다. 데이터베이스의 외부에 실제 데이터를 계속 저장하기 때문에 이전의 많은 복잡성을 피할 수 있습니다. 그러나 여전히 두 파일을 묶어 데이터베이스가 올바른 링크를 사용하는 대신 파일을 보호 할 수 있습니다.

1

두 가지 저장 방법 중 많은 장점과 단점이 있습니다. 요즘 (내 의견이 바뀌었고 언젠가 다시 바뀔 수도 있습니다.) 저는 보안 및 관리성에 중점을 둡니다.

  • 중요한 데이터 인 경우 데이터베이스에 저장하여 보안을 강화할 수 있습니다. 그 밖의 것이 없다면 파일 시스템보다 데이터베이스를 해킹하기가 더 어려울 수도 있습니다. 보안이 중요하지 않은 경우 OS에 저장하는 것이 더 쉽고 간단 할 수 있습니다.
  • 관리를 위해 데이터가 업데이트되면 (그리고 업데이트되는 빈도) 얼마나 쉽게 업데이트 할 수 있습니까? 데이터베이스의 인스턴스 하나가 웹 팜에있는 많은 서버에있는 인스턴스보다 업데이트 (또는 손상)되는 것이 더 간단합니다. (서버 1 개, 문제 없음, 서버 20 개, 두통이있을 수 있습니다.)
0

데이터를 데이터베이스에 직접 저장하는 것이 좋습니다. 데이터베이스가 읽기 및 일반적으로 데이터를 효율적으로 처리하기 때문에 액세스가 더욱 빨라집니다. 항상 영화를 데이터베이스에 저장할 수 있습니다. 아무런 문제가 없습니다. 그런 다음 대용량 데이터를 스트리밍 할 수도 있습니다.

보안상의 이유로 더 많은 데이터베이스를 구성 할 수있는 충분한 옵션이 있습니다. 데이터베이스를 클러스터링하면 더욱 확장 성이 뛰어납니다.

관련 문제