SQLite

SQLite는 자체 포함되고, 서버가 필요 없고, 설정이 필요 없고, 트랜젝션을 지원하는 SQL 데이터베이스 엔진입니다.

SQLite  코드는 공공재 이다. 그러므로 상업적으로던 개인적으로던  자유롭게 이용할 수 있다.


SQLite는 여러 high-profile 푸로젝트를 포함해서 우리가 셀 수 있는 것 보다 더 많은 프로그램에서  계속 발견된다.


SQLite는 엠베디드 SQL 데이터베이스 엔진이다.


거의 모든 다른 SQL 데이터베이스들 과 달리, SQLite는 독립적인 서버 프로세서를 가지고 있지 않다.


SQLite는 일상적인 디스크파일에 직접 읽고 쓴다.


멀티플 테이블과 인덱스들과 트리거들과 뷰들을 포함한 완벽한 SQL 데이터베이스는 하나의 디스크 파일이 포함하고 있다.


데이터베이스 파일 포맷은 크로스 플랫폼을 지원한다. – 당신이 32비트나 64비트 시스템간이나 빅인디언과 리틀인디언 아키텍쳐 사이에도 데이터베이스로 자유롭게 복사가 가능하다.


이 특징은 SQLite를 어플리케이션 파일 포맷으로써 좋은 선택으로 만들어 준다.


SQLite의 생각는 Oracle을 바꾸는 것이 아니고 fopen()을 바꾸는 것이다.


SQLite는 컴팩트한 라이버러리이다.


모든 특성들이 가능하도록 설정하면 라이버러리 크기는 250Kib 이하로 줄일 수 있다. 컴파일러의 옵티마이제이션 설정에 의존적이지만,( 공격적인 함수 inlining 과 loop unrolling 같은 어떤  컴파일러 옵티마이제이션은 목적코드가 훨씬 더 크게 만들 수도 있다.)


만약 선택적으로 특성들이 생략된다면 SQlite 라이버러리의 크기는 180Kib 이하로 줄일 수 있다.


SQLite 는 물론 최소의 스택공간(16Kib)에서 사용하도록 만들 수 있다. 그리고 매우 작은 힙(Heap)(100Kib)을 사용한다. 핸드폰이나, PDA, MP3 플레이어 같은 작은 메모리 가젯에 적합한  데이터베이스 엔진을 선택하도록 해준다.


그것은 메모리와 속도 사이의 교환 조건이다.


SQLite는 일반적으로 더 많은 메모리를 주면 매우 빠르게 동작한다.


그럼에도 불구하고, 작은 메모리 환경에서도 보통 꽤 좋은 성능을 나타낸다.


SQLite는 매우 신뢰할만 하다고 평판이 나 있다.


소스코드의 거의 3/4 정도가 테스팅과 검증에  순수하게 노력을 기울인다.


자동 테스트 슈트는 100만번의 개별적인 SQL 문장과 99퍼센트 이상의 문장의 보장범위를 보장 하는 등 수십만번의 테스를 실행 했다.


SQLite는 메모리 어로케이션 페일류어와 디스크 입출력(I/O) 오류에 대해 깨끗하게 응답했다.


트랜젝션들은 시스템 고장이나 전원이상에도 ACID를 유지했다.


이 모든 것을 시스템 오류를  시뮬레이트 해보는 것 같은 특별한 테스트 작업을 이용한 자동 테스트가 검증했다.


물론 이 모든 테스트에도 아직 버그가 있다.


그러나 약간의 비슷한 제품들(특히 상용 경쟁자들(제품들))과 달리 SQLite는 공개되어있고 모든 버그에 관해 정직하고 치명정인 버그리스트와 버그 리포트의 지속적인 연표 형식의 버그 리스트와 코드 변화를 제공한다..

SQLite의 코드 기반은 SQLite에 적적으로 매달리는 개발자들의 세계적인 팀이 지원한다.

개발자들은 SQLite의 가용성을 확장하고 그것의 실뢰성과 제공된 인터페이스 스펙과 SQL 문법 그리고 데이터베이스 파일 포맷에 대해 과거버젼 호환성을 유지하는 동안의 퍼포먼스를 보장하고 계속한다.

이 소스 코드는 원하는 누구에게나 전적으로 사용이 자유롭다. 그러나 전문적인 지원 서비스도 물론 가능하다.

우리 개발자들은 당신이 SQLite의 유용성을 발견하기를 희망한다. 그리고, 우리는 빠라고 신뢰성이 간단하게 사용할 수 있는 좋고 예쁜 제품을 만들기위해서 그것을 당신이 잘 사용하기를 바란다.

당신이 다른 사람들에게 관대하듯이 당신을 위한 관대함 찾아라.

그리고 단지 당신이 SQLite를 자유롭게 얻었듯이 그래서 역시 앞으로 빚을 갚듯이  자유롭게 제공해라.

댓글 남기기