나는 그것에 대해 실용적이며 "아직 최적화하지 마십시오"원칙을 따릅니다. 현재 적합한 솔루션과 제대로 구현할 개발 리소스가있는 솔루션을 만드십시오. 잠재적 인 문제 가 많이 있습니다 . 그러나 반드시 실제 문제가되는 것은 아닙니다. 예를 들어 100 명의 사용자가 있다면 문제가되지 않을 것입니다. 이 수 는 100,000 10,000,000 사용자가있는 경우 문제가 될 수. 그러나 후자의 경우 더 많은 개발 리소스가 모든 문제를 처리 할 수있는 기반이 있어야합니다.
그러나 데이터베이스에 데이터를 저장하면 파일 저장 위치, 백업 방법 등의 다른 문제를 해결하지 않아도됩니다. 웹 응용 프로그램을 작성하기 때문에 보안상의 이유로 매우 좋습니다. 응용 프로그램을 호스팅하는 프로세스에 파일 시스템에 대한 쓰기 권한이 없는지 확인하려면 프로세스가 데이터가 저장된 폴더에 대한 읽기 / 쓰기 액세스 권한을 갖도록 서버를 구성해야합니다.
개인적으로 데이터베이스에 데이터를 저장하기로 선택했지만 실제로 필요할 때까지 블로그를 읽지 않아야합니다. 즉 블로그가 포함 된 테이블에서 "SELECT * FROM ..."이 실행되지 않습니다. 성능 문제가 발생하면 디자인을 통해 데이터베이스에서 파일 시스템으로 데이터를 쉽게 옮길 수 있습니다. 예를 들어, 파일 정보를 별도의 파일 테이블 에 저장하여 파일 정보 를 다른 비즈니스 엔티티로부터 멀리하십시오.
데이터베이스에서 읽은 파일을 나타내는 File 클래스 가 있다고 가정하면 나중에 해당 파일을 옮길 때의 코딩 영향은 최소화됩니다.