오래된 프로그래머의 요즘 이야기

그리고 소소한 일상들...

허니의 소소한 일상들이 켜켜이 쌓여가고......

Tech Story

[SQL] SQLiTE 장단점

쭝허니 2025. 5. 31. 21:03

SQLite, 나 혼자 쓰기 딱 좋은 간편 데이터베이스?

혼잣말로 풀어보는 SQLite 이야기: 장점, 단점, 그리고 내가 선택해야 할 때!

아, 오늘은 SQLite에 대해 혼잣말처럼 떠들어볼까 해.  요즘 프로젝트 하면서 SQLite를 써볼까 말까 고민이 많거든.  일단 장점부터 짚어보자!

**1. 가볍고, 심플하고, 그냥 딱 내 스타일! (경량성 및 내장형)**

SQLite는 진짜 가벼워.  설치 따로 할 필요 없이, 파일 하나로 뚝딱!  내장형이라서 배포도 엄청 쉽고, 관리도 간편해.  마치 내가 좋아하는 간편한 컵라면 같은 느낌?  서버 따로 돌릴 필요도 없으니 자원 낭비도 없고!

**소스코드 예시 (Python):**

```python
import sqlite3
conn = sqlite3.connect('mydatabase.db') # 파일 하나로 데이터베이스 생성 및 연결
cursor = conn.cursor()
cursor.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY,
        name TEXT,
        email TEXT
    )
''')

cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('John Doe', 'john.doe@example.com'))
conn.commit()
cursor.execute("SELECT * FROM users")
results = cursor.fetchall()
for row in results:
    print(row)
conn.close()
```

이 코드처럼 간단하게 데이터베이스를 만들고, 데이터를 넣고, 꺼낼 수 있어.  진짜 쉽지?  이미지로 보면 더 와닿겠지?  (아래 이미지 추가 예정 - 간단한 다이어그램으로 SQLite 파일과 Python 코드 간의 연결을 시각적으로 보여줌)

**(이미지 추가: SQLite 파일과 Python 코드 연결 다이어그램)**

**2. 돈 안 들고, 마음 편하게 쓸 수 있어! (무료 및 오픈 소스)**

오픈 소스라서 라이선스 걱정 없이 마음껏 쓸 수 있어.  게다가 무료!  돈 아끼는 것도 중요하지.  프로젝트 예산 아껴서 맛있는 거 먹어야지!

**3. SQL 문법이 쉽다니? 나도 할 수 있겠어! (간단한 사용법)**

SQL 문법을 지원해서 데이터베이스를 다루는 게 어렵지 않아.  SQL 좀 다뤄봤다면 금방 익숙해질 수 있을 거야.  초보자도 쉽게 사용할 수 있다는 점이 가장 큰 매력이지.

**4. 읽기는 정말 빠르다! (효율적인 읽기 작업)**

읽기 작업 속도가 엄청 빨라.  읽기 중심의 애플리케이션이라면 SQLite가 최고의 선택일 수 있어.  데이터를 많이 읽어야 하는 경우에는 정말 빛을 발하지.

**5. 어디서든 쓸 수 있어! (데이터 이식성)**

파일 기반이라서 플랫폼에 구애받지 않고 어디서든 쓸 수 있다는 점도 장점이야.  윈도우, 맥, 리눅스… 상관없어!  내가 원하는 곳 어디든 데려갈 수 있지.

하지만... 모든 게 장점일 순 없잖아?  단점도 분명히 존재해.

**1. 여러 명이 동시에 쓰면 힘들어! (다중 사용자 지원 한계)**

동시에 여러 명이 접근해서 데이터를 수정하면 문제가 생길 수 있어.  다중 사용자 지원이 제한적이라 대규모 트랜잭션에는 적합하지 않아.  혼자 쓰거나, 동시 접근자가 적은 경우에만 적합해.

**2. 쓰기 속도가 느려! (쓰기 작업 성능)**

읽기는 빠르지만, 쓰기 속도는 다른 데이터베이스에 비해 느린 편이야.  데이터를 자주 추가하거나 수정해야 한다면 고려해야 할 부분이지.

**3. 기능이 부족해! (제한된 기능)**

고급 기능이나 복잡한 쿼리가 필요하다면 SQLite는 부족할 수 있어.  더 강력한 기능을 제공하는 다른 데이터베이스를 선택해야 할 수도 있지.

**4. 파일이 너무 커지면 느려져! (파일 기반 구조의 제약)**

파일 크기가 커지면 성능이 저하될 수 있다는 점도 고려해야 해.  데이터 용량이 계속 늘어날 것으로 예상된다면 다른 솔루션을 찾아봐야겠지.

**그래서, 결론은?**

SQLite는 경량이고 간편한 데이터베이스야.  혼자 쓰는 프로젝트나, 소규모 프로젝트,  읽기 중심의 애플리케이션에 적합해.  하지만 대규모 프로젝트나 다중 사용자 환경에서는 MySQL, PostgreSQL, MSSQL 등 다른 데이터베이스를 고려하는 게 좋아.  나 같은 경우에는…  (고민 중…)  프로젝트 규모와 특성에 따라 신중하게 선택해야겠어!  아직 결정은 못 내렸지만,  이렇게 정리하고 나니 좀 더 객관적으로 판단할 수 있을 것 같아.  다음에는 다른 데이터베이스도 비교해봐야겠다!