python
python dict vs SQLite
jaeha_lee
2024. 1. 18. 00:17
대용량의 데이터를 설계하고, 해당 데이터 접근을 위해 python dictionary 파일을 만들어 데이터에 접근하였다.
그러나 다중 조건의 경우 데이터 접근이 어려웠고, 그 과정에서 SQLite를 찾게 되었다.
그럼 dict와 SQLite 차이점과 장단점은 무엇일까
dict
사용하기:
장점:
- 데이터에 빠르게 접근 가능:
dict
는 간단하게 Key를 통해 데이터에 빠르게 접근할 수 있다. - 메모리 내 데이터 관리: 작은 규모의 데이터를 간편하게 메모리에 저장할 수 있다.
단점:
- 영속성 부족: 프로그램이 종료되면 데이터가 소멸되어 영속적인 데이터 저장이 불가능하다.
- 복잡한 쿼리 불가능:
dict
는 키 기반의 단순한 데이터 접근만 가능하며, SQL과 같은 복잡한 쿼리 처리는 어렵다.
SQLite 사용하기:
장점:
- 영속성: SQLite는 데이터를 영속적으로 저장해 프로그램 종료 후에도 데이터가 보존된다.
- 복잡한 쿼리 및 데이터 관리: SQL을 사용하여 복잡한 쿼리 수행과 데이터 구조화 및 관리가 가능하다.
- 다중 프로세스 및 다중 스레드에서 안전: 여러 프로세스나 스레드에서 동시에 사용할 수 있다.
단점:
- 파일 I/O 및 레이턴시: 디스크 기반의 데이터베이스로 인해 파일 I/O가 발생하고, 레이턴시가 늘어날 수 있다.
- 설정 및 관리 복잡성: 데이터베이스 설정과 관리는 상대적으로 복잡할 수 있다.
선택 기준:
- 간단한 데이터 관리와 단일 프로세스 환경에서는
dict
가 편리하다. - 대용량이나 영속적인 데이터 저장이 필요한 경우 SQLite나 다른 데이터베이스를 고려해야 한다.
- 복잡한 쿼리나 데이터 구조화가 필요한 경우 SQLite나 다른 데이터베이스를 선택하면 된다.
- 다중 프로세스나 다중 스레드에서 안전성이 필요한 경우 SQLite나 다른 멀티스레딩/프로세스를 고려해야 한다.