2009-09-14 5 views
0

플랫 파일에 응용 프로그램의 실제 데이터를 저장하는 것이 얼마나 빠를 것인지 생각하고있었습니다.SQL 및 플랫 파일 ... 조화?

이제 플랫 파일에 모든 것을 저장하지 않아도됩니다 ... 때로는 정렬 및 검색이 필요하며, 디렉토리와 파일을 반복적으로 탐색하는 것은 어려울 수 있습니다.

이제 모든 검색 가능한 데이터를 데이터베이스에 저장하고 데이터 파일을 가리키는 포인터 필드가 있다고 가정 해보십시오.

이것은 앱별로 매우 구체적이지만 검색 가능한 모든 데이터가 데이터베이스에 저장되어있는 한 왜 실제 데이터를 데이터베이스에 저장해야합니까?

(잠금을 해제하고 데이터 무결성을 제외하고) 더 빠를 것이라고 확신합니다.하지만 얼마나 효과적입니까?

답변

0

검색을 수행하기 위해 SQL 데이터베이스를 구현할 필요가 없습니다. 많은 응용 프로그램이 데이터를 XML로 저장하므로 Lucene을 사용하여 여러 가지 방법으로 검색 할 수 있습니다. 얼마나 빠른지는 전적으로 데이터베이스와 마찬가지로 데이터의 양과 구조에 따라 달라집니다.

매우 빠르게 수행 할 수 있지만 둘 이상의 응용 프로그램 서버를 실행하려는 경우 복잡 할 수 있습니다.

-2

BTrieve은 필수 항목입니다. DOS 시대에 매우 빠른 데이터베이스였습니다.

1

글자를 검색하는 것 이상의 데이터를 쿼리하려는 경우가 종종 있습니다. 예를 들어 cost_center라는 필드를 검색하지 않을 수도 있지만 필드의 정보에 따라 상황을 다르게 처리하는 사례 통계가있을 수 있습니다. 또는 정보를 함께 연결해야 할 수도 있습니다. 다른 필드의 정보를 기반으로 한 필드를 업데이트 할 수 있습니다. 오늘은 현장을 검색하지 않고 내일 검색해야 할 수도 있습니다.

제대로 설계된 관계형 데이터베이스는 테라 바이트의 데이터로 쉽게 수행 할 수 있습니다.

솔직히 "데이터 무결성을 제쳐두고"고려해야합니다. 데이터 무결성이 없다면 데이터가 없습니다.

당신이 원하는 것이 좋은지는 당신이 저장하고있는 데이터의 유형과 그것을하고자하는 일의 유형에 달려있다. 확실히 말할 충분한 정보가 없습니다.

1

글쎄, "잠금, 데이터 무결성 제쳐두고"빠른 시스템을 의미해야합니다. 제약 조건을 삭제하면 성능이 향상됩니다.

하지만 실용적인 측면에서 볼 때 더 빠를 것이라고는 생각하지 않습니다. RDBMS에 뒤 따르는 많은 개발 시간이 있기 때문에 빠른 것입니다. 물론 비 관계형 데이터베이스는 고도의 병렬 상황과 시나리오를 통해 성능이 뛰어납니다. 그러나, 당신의 생각은 ... 어떤 성능 이점이 ... RDBMS에의 품질을 떨어 뜨리는

1

뿐만 아니라 다른 답변 ...의

  • 공유를 올 것 같은 병렬 처리를 이용하는 등의 개선을 제공하지 않습니다 데이터 : 여러 클라이언트가 공유에있는 데이터에 액세스하는 방법은 무엇입니까?
  • 백업/복원 : 텍스트 맞추지 및 텍스트 데이터에
  • 보안/권한 "검색"
  • Change anomalies
관련 문제