다음과 같이 사용합니다.
일반 텍스트
해당 카테고리에 YAML 또는 특성 파일과 같이 좀 더 정교한 형식이 포함 된 경우 사람들이 직접 읽고 편집 할 수있는 모든 옵션에 가장 적합한 옵션입니다. 또 다른 큰 장점은 작은 스크립트 (예 : sed)를 통해 간단하게 수정할 수 있다는 것입니다.
단순성과 사용 편의성을 능가하는 것은 없습니다. 지원 팀이 원격 시스템에서 무언가를 구성해야하거나 (예 : 클라이언트 문제 해결) IT가 소프트웨어를 실행하는 여러 서버를 재구성해야하는 경우이 형식을 선택해 주셔서 감사합니다. 또한 일회성 소프트웨어를 작성하지 않아도됩니다.
XML
일반 텍스트 XML이 스크립팅을 통해 처리하기가 어렵고 수동으로 편집하는 악몽과 달리 @Ingo에 동의합니다.
그럼에도 불구하고 YAML을 해독 할 수없는 정교한 구조의 데이터가 있고 여전히 사람이 읽고 편집 할 수있게하려면 XML이 최선의 선택 일 것입니다.
관계형 데이터베이스
SQL 명령 및 GUI를 통해 타사에서 수동으로 편집 할 수있는 데이터가 많을 때 (일반 텍스트와 XML을 번거롭게하는 경우) 적합한 선택입니다.
또 다른 장점은 내용을 관리하는 코드를 읽을 수 있다는 것입니다. @ Richard-Harrison은 그의 훌륭한 답변에서 다른 장점의 좋은 목록을 제공했습니다.
NoSQL 데이터베이스
RDBMS에 비해 한 가지 장점은 배포를 통한 확장 성입니다. 이는 아마도 귀하의 질문과 관련이 없을 것입니다. 아마도 더 관련성이 높은 장점은 키-값 저장소의 단순성과 스키마없는 유연성 (이것이 단어입니까?)입니다. 관계형 패러다임을 깨뜨리는 경우 : 데이터베이스에 Blob을 저장하고 키로 액세스하고 코드를 통해이를 처리 한 다음이 옵션을 고려하십시오. 일부 선택 (예 : CouchDB)은 이식성이 뛰어나고 설치 공간이 작으며 확장 가능하여 MySQL 및 SQLite에 대한 비 관계형 대안을 제공합니다.
이진
바이너리의 장점은 빠르고 컴팩트하다는 것입니다. 파일을 읽고 수정해야하는 유일한 프로그램이 프로그램이고 데이터가 관계형 패러다임이나 속도에 맞지 않는 것이 정말로 중요한 경우에는 이것이 좋은 선택 일 수 있습니다. 미디어 파일에 가장 적합합니다.
초기 설계 중에 고려되지 않은 이유로 인해 프로그램 데이터에 대한 간단한 액세스가 필요하지 않은 경우가 아직 발생하지 않았 음을 지적해야합니다. 요즘 나는 표준 형식을 가지며 다른 소프트웨어 (예 : 오디오, 비디오)로 인코딩 / 디코딩 해야하는 파일 이외의 다른 데이터베이스 옵션을 개인적으로 선택합니다.
참고 : 바이너리가 불투명하고 어쨌든 더 안전하다는 일반적인 오해가 있습니다. 추가 보호가 없으면 소프트웨어를 해킹하려는 경우 구성을 바이너리 또는 바이너리로 저장하면 중단되지 않습니다.
압축 아카이브
실제로 위의 대안이 아니라 추가 조치입니다.
네트워크를 통해 전송해야하거나 많은 양의 데이터를 저장하고 공간을 절약하려는 경우에 유리합니다. 요즘에는 스토리지 공간이 풍부하므로 대상 플랫폼을 고려하십시오.
오늘날 거의 모든 것 (무어의 법칙, 베이비)에서 매우 빠르게 수행되므로이를 사용하지 않는 유일한 이유는 코드에 복잡성을 더하기 때문입니다. 복잡하지는 않지만 KISS 원칙을 여전히 위반합니다. 특히 수동으로 또는 스크립팅을 통해 편집해야하는 구성 파일의 경우 번거 롭습니다. 실제로 공간을 절약해야하는 경우 데이터베이스 옵션을 사용해야합니다.