▲neo 4달전 | parent | favorite | on: GN⁺: SQLite: 파일 시스템보다 35% 더 빠름(sqlite.org)Hacker News 의견 파일 시스템 속성이나 메타데이터가 없어서 추가적인 속성 기록이나 업데이트가 필요 없고, 물리 파일이나 파이프/심볼릭 링크 확인, 권한 검사, 블록 크기 정렬 불일치 등이 없어서 단일 오픈 명령어만 필요함 기능을 버리고 범용 설계를 무시할 때 이해할 수 있는 부분임 SQLite에 대한 fuse 매핑을 사용하고 디렉토리를 마운트하여 접근하면 성능이 비슷하거나 더 느릴 수 있음 속성을 비활성화하고 최적화된 블록 크기로 커스텀 파일 시스템을 만들면 비슷한 성능을 얻을 수 있음 rsync 같은 쉘 명령어를 사용하여 파일을 탐색하고 조작할 수 있는 단순함이 있음 SQLite는 패키지된 정적 자산이나 어플라이언스 타입 애플리케이션에 적합함 Windows 10에서 4배 속도 증가가 Windows 파일 시스템 호출이 얼마나 느린지 강조함 디지털 피아노에서 나오는 모든 노트를 실시간으로 기록하는 아이디어를 가짐 SQLite를 사용하여 각 행이 피아노의 MIDI 이벤트인 단일 테이블로 저장함 성능이 좋고 나중에 분석할 수 있음 데이터베이스 연구실에서 OS 연구와 비교하는 것이 흥미로웠음 관계형 데이터베이스는 작은 개별 레코드와 일관성을 위해 최적화됨 행 크기가 커질수록 성능이 급격히 떨어짐 WAL2 모드에서 sqlite DB에 추가하는 것을 고려 중임 쓰기 성능 페널티가 거의 없고 읽기/분석에 큰 장점이 있음 SQLite 데이터베이스에서 open()과 close() 시스템 호출이 한 번만 호출됨 개별 파일에서 블롭을 사용할 때보다 오버헤드가 적음 SQLite 블롭 필드를 사용하여 파일을 저장하는 것은 권장하지 않음 블롭 최대 크기가 2GB임 객체를 바이트로 직렬화/역직렬화해야 함 다른 시스템/서비스와 상호작용하려면 파일이 필요함 SQLite는 병렬 요청을 처리하는 설정이 있지만, 경쟁 요청으로 인해 데이터베이스가 잠김 파일 시스템 위에 구축된 것이 파일 시스템보다 빠르다는 것은 최적화되지 않은 방식으로 파일 시스템을 사용할 때 느리다는 의미임 SQLite 데이터베이스에서 많은 행을 삭제하는 것이 파일을 삭제하는 것보다 느림 모든 파일 시스템/드라이브 접근은 OS에 의해 관리됨 데이터베이스 파일이 디스크에 클러스터로 저장됨 데이터베이스 관리 시스템은 특정 도메인과 문제를 해결하기 위해 편리하게 만들어짐 ▲halfenif 4달전 [-]20년 전에 파일을 blob으로 oracle db에 넣는 아키텍처를 잘 사용했으나.. 매번 사람들에게 그 장점을 설명해야 했음. 물론 매번 성공적이지는 않았음. 답변달기▲narusas 4달전 [-]20년 전이면 오라클 SAN DISK 가격이 만만치 않았을텐데요.. 답변달기
Hacker News 의견
파일 시스템 속성이나 메타데이터가 없어서 추가적인 속성 기록이나 업데이트가 필요 없고, 물리 파일이나 파이프/심볼릭 링크 확인, 권한 검사, 블록 크기 정렬 불일치 등이 없어서 단일 오픈 명령어만 필요함
Windows 10에서 4배 속도 증가가 Windows 파일 시스템 호출이 얼마나 느린지 강조함
디지털 피아노에서 나오는 모든 노트를 실시간으로 기록하는 아이디어를 가짐
데이터베이스 연구실에서 OS 연구와 비교하는 것이 흥미로웠음
WAL2 모드에서 sqlite DB에 추가하는 것을 고려 중임
SQLite 데이터베이스에서 open()과 close() 시스템 호출이 한 번만 호출됨
SQLite 블롭 필드를 사용하여 파일을 저장하는 것은 권장하지 않음
파일 시스템 위에 구축된 것이 파일 시스템보다 빠르다는 것은 최적화되지 않은 방식으로 파일 시스템을 사용할 때 느리다는 의미임
SQLite 데이터베이스에서 많은 행을 삭제하는 것이 파일을 삭제하는 것보다 느림
모든 파일 시스템/드라이브 접근은 OS에 의해 관리됨