어떻게 하는 것이 가장 좋은 저장하기 위해 엄청난 양의 텍스트(으로 또는 DB 파일로?), 그리고 무엇에 대한 압축함으로써 그것은?

StackOverflow https://stackoverflow.com/questions/504544

문제

나는 건물 웹사-응용 프로그램을 처리하는 내부 이메일 및 기타 자주 작은 중간 크기의 덩어리의 텍스트와 사용자 사이의 클라이언트입니다.무엇이 가장 좋은 방법을 저장하기 위해 이 데이터는?에서 데이터베이스(MySQL)또는 수천으로의 개별 파일이 있는가?에 대해 무엇을 압축하는(PHP gzcompress()또는 MySQL 의 압축 기능)?

이 되지 않습니다 공 응용 프로그램,따라서 사용자는 부하를 최소화됩니다(20 명 미만 사용자가에서 시간).그러나,있을 것입 통신의 많은 돌아가 및 앞뒤로 매일 응용 프로그램 내에서,그래서 내가 기대하는 데이터의 양 성장하는 꽤 큰 시간(는 이를 압축한다).

고 싶을 유지하는 데이터베이스의 데이터에 접근성과 휴대성이 있지만,일부 의 스레드에서 본 여기에 관한 이미지를 제안을 사용하여 파일에 저장합니다.당신은 무엇을 생각하십니까?

감사합니다, Seth

편집을 위해 설명:저는 어떤 종류를 필요로하지 않는 검색의 텍스트의 이유입니다,나는 것으로 기대를 압축하에 저장 공간.

도움이 되었습니까?

해결책

이미지 및 이미 있는 문서에는 특정 형식으로(excel,word,문서,pdf 파일 등)내가 선호하는 파일을 저장합니다.하지만 단지 원시 텍스트가 아마 것이 오히려 데이터베이스를 사용하여.그것은 쉽게에 복제를 위한 기계 장애,당신이 할 수 있는 하위 문자열 검색 텍스트와 모르겠지만 특정 알고리즘을 사용하여 압축,제가 생각하는 것입하는 데이터베이스에 수있는 더 좋은 방법이 될 것입니다.하지만 경우에 당신은 이미만의 텍스트와 텍스트입니다.다른 형식으로 문서 내가 선호하는 것을 사용하여 파일에 저장합니다.

과하지 않는 한 나는 뭔가가 사용하는 것이 CLOB 대신 BLOB,만인 경우 텍스트입니다.

다른 팁

주요 이유 중 하나에 대한 유지하는 파일에서 데이터베이스를 일정하게 유지시의 나머지 부분과 데이터를 저장하고 있다.그것은 쉬울 것으로 백업을 수행,(재)과 함께 배포된 데이터 등등.게다가 그것을 보장하는 트랜잭션 무결성이 있습니다.

의 장점 중 하나는 저장하는 텍스트 파일로 수하는 것이 더 쉽다는 봉사 그들을 사용하여 웹서버는 경우,이것이 유일하게 남아있는 혜택의 파일을 사용하여 당신이 볼 수 있으로 캐쉬한 파일에서 웹서버는 당신의 많은 쉬운 백업과 거래의 데이터베이스 그러나 같은 시간에 수 속도 향상에 대한 http 요청합니다.

DB를 사용하기로 선택했을 것입니다. 많은 양의 메시지를 저장할 시나리오를 설명합니다. 시스템에 대한 많은 정보를 제공하지는 않지만 메시지에 여러 가지 속성을 분류하고 그룹화하고 적용하고 싶을 것 같습니다. 파일 스토리지를 사용하는 대신 속성으로 DB로 속성을 사용하여 메시지를 유지하는 것이 훨씬 쉽고 빠릅니다.

압축에 관해서는 어떤 방법 중 가장 효과적인 지 모르겠습니다. 선택하기 전에 둘 다 시도해야 할 것입니다.

이 "중간 덩어리"가 얼마나 큰지 궁금합니다. 텍스트가 단지 작성된 메시지 (따라서 10kb 미만) 인 경우 압축하면 더 작아서 데이터베이스 성장에 큰 영향을 미치지 않습니다. 개발 및 유지 보수는 Singl 쿼리를 사용하여 모든 것을 사용할 수 있고 파일 내용을 별도로 가져올 필요가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top