파일 시스템은 데이터베이스입니다. 실제로 관계형 DBMS 대신에 더 단순하고 계층적인 데이터베이스이지만 그럼에도 불구하고 데이터베이스입니다.
파일 시스템에 로깅하는 것이 널리 사용되는 이유는 텍스트 로그가 Unix 철학에 잘 맞기 때문입니다. "텍스트는 범용 인터페이스입니다."
유닉스는 텍스트 로그와 잘 작동하는 많은 범용 도구로 개발했다. 텍스트 로그가 mysql, apache, 사용자 정의 응용 프로그램, 오래 지원되지 않는 타사 소프트웨어에 의해 생성되는지 여부는 중요하지 않습니다 .sysadmin은 grep, sed, awk, sort, uniq, cut, tail과 같은 표준 Unix 도구를 사용할 수 있습니다 등을 사용하여 로그를 모두 트롤합니다.
모든 앱이 자체 데이터베이스, 하나는 MySQL, 다른 하나는 Postgres, 다른 하나는 Elasticsearch에, 다른 하나는 ELK에 로그를 원하고 다른 하나는 MongoDB에만 로그 할 수있는 경우 각 로그를 트롤하는 20 가지 도구를 배워야합니다 신청. 텍스트는 모든 사람이 로그인 할 수있는 보편적 인 매체입니다.
MySQL과 같이 모든 로그가 단일 데이터베이스로 전달되도록 관리하더라도 각 응용 프로그램이 서로 다른 테이블 스키마를 사용하여 로그를 원할 수 있으므로 각 로그를 쿼리하는 사용자 지정 도구를 작성해야 할 수도 있습니다. 신청. 그리고 어떻게 든 모든 애플리케이션이 단일 스키마에 로그하도록 구성한 경우, 일반 스키마는 실제로 각 애플리케이션의 전체 스토리를 알려줄 수 없으므로 여전히 로그 텍스트를 구문 분석해야합니다.
데이터베이스에 로깅하는 것이 실제로 실제로 작업을 훨씬 쉽게 만들어주지는 않습니다.
데이터베이스에 로깅하면 특정 분석을 염두에 두거나 특정 감사 보존 요구 사항에 대해 유용 할 수 있습니다. 특정 감사 보존 요구 사항은 특정 데이터베이스 스키마를 설계하여 특정 목적을 위해 데이터 만 수집 할 수 있습니다. 그러나 법의학 및 디버깅 및 특정 목표를 염두에 두지 않고 로그를 수집 할 때 텍스트 로그는 일반적으로 전문 도구를 배우거나 작성하는 비용이 가치가 없을 정도로 충분합니다.