What is SQLite

SQLite는 관계형 데이터베이스 관리 시스템을 제공하는 소프트웨어 라이브러리입니다. SQLite의 라이트는 설정, 데이터베이스 관리 및 리소스 측면에서 가볍습니다.

SQLite에는 다음과 같은 기능이 있습니다.

서버리스, 독립실행형, Zero-configuration, 트랜잭션 처리

 

Serverless

일반적으로 MySQL, PostgreSQL 등의 RDBMS는 별도의 서버 프로세스가 필요합니다. 데이터베이스 서버에 액세스하려는 응용 프로그램은 TCP/IP 프로토콜을 사용하여 요청을 보내고 받습니다. 이것을 클라이언트/서버 아키텍처라고 합니다.
다음 다이어그램은 RDBMS 클라이언트/서버 아키텍처를 보여줍니다.

SQLite는 위와 같은 방식으로 작동하지 않습니다.
SQLite는 서버 프로세스를 실행할 필요가 없습니다.
SQLite 데이터베이스는 데이터베이스에 액세스하는 애플리케이션과 통합됩니다. 응용 프로그램은 SQLite 데이터베이스와 상호 작용하여 디스크에 저장된 데이터베이스 파일에서 직접 읽고 씁니다.

다음 다이어그램은 SQLite 서버리스 아키텍처를 보여줍니다

 

독립실행형

SQLite는 독립 실행형으로 운영 체제나 외부 라이브러리의 지원이 최소한으로 필요합니다. 따라서 iPhone, Android 전화, 게임 콘솔, 휴대용 미디어 플레이어 등과 같은 임베디드 장치의 모든 환경에서 SQLite를 사용할 수 있습니다.
SQLite는 ANSI-C를 사용하여 개발되었습니다. 소스 코드는 sqlite3.c 및 헤더 파일 sqlite3.h로 사용할 수 있습니다. SQLite를 사용하는 애플리케이션을 개발하려면 이 파일을 프로젝트에 포함하고 컴파일하면 됩니다.

 

Zero-configuration

서버리스 아키텍처로 인해 SQLite를 "설치"할 필요가 없습니다. 구성, 시작 및 중지해야 하는 서버 프로세스가 없습니다.
또한 SQLite는 구성 파일을 사용하지 않습니다.

 

트랜잭션 처리

SQLite의 모든 트랜잭션은 완전히 ACID를 준수합니다. 이는 모든 쿼리 및 변경 사항이 Atomic, Consistent, Isolated 및 Durable임을 의미합니다.
즉, 응용 프로그램 충돌, 정전 또는 운영 체제 충돌과 같은 예기치 않은 상황이 발생하더라도 트랜잭션 내의 모든 변경은 완전히 처리되거나 전혀 처리되지(commit or rollback) 않습니다.

 

SQLite 특징

SQLite는 테이블에 동적 유형을 사용합니다. 데이터 유형에 관계없이 모든 열에 모든 값을 저장할 수 있음을 의미합니다.
SQLite를 사용하면 단일 데이터베이스에 연결하여 여러 데이터베이스 파일에 동시에 액세스할 수 있습니다. 이것은 다른 데이터베이스의 테이블을 조인하거나 단일 명령으로 데이터베이스 간에 데이터를 복사할 수 있습니다.
SQLite는 작업 속도가 매우 빠른 인메모리 데이터베이스를 생성할 수 있습니다.


SQLite 소스 코드는 공개되어 있으며 모든 사람이 어떤 목적으로든 무료로 사용할 수 있습니다.

'SQLite' 카테고리의 다른 글

SQLite DB 관리 툴 - DB Browser for SQLite  (0) 2021.12.31
SQLite 설치 및 사용법  (0) 2021.12.30

+ Recent posts