2014-02-20 2 views
3

내 서버에서 작업 속도를 높이기 위해 sqlite ODBC 소스에 대한 연결 풀을 할당했습니다.은 동시성이 sqlite에서 자동으로 처리됩니까?

둘 이상의 호스트가 내 데이터를 변경하려는 경우 어떻게됩니까? 이러한 다중 연결이 sqllite에 의해 자동으로 처리됩니까?

+1

check this는 https://sqlite.org/whentouse.html을 읽어보십시오. –

+0

sqlite는 쓰기 위해 단일 스레드입니다. 스레드가 내부 잠금에 의해 차단되고 쓰기가 순차적으로 수행됩니다. –

+0

Dup http://stackoverflow.com/questions/14217249/sqlite-and-concurrency? – lreeder

답변

2

당신은 this thread

를 읽을 수 있습니다. 하지만 동시에 글을 쓰기 시작하면 잠금 경쟁이 문제가 될 수 있습니다. SQLite 엔진 자체가 매우 빠르며 경합을 최소화하기위한 영리한 최적화가 많이 있기 때문에 많은 것은 파일 시스템의 속도에 달려 있습니다. 특히 SQLite 3입니다.

대부분의 데스크탑/노트북/태블릿/전화 애플리케이션의 경우 SQLite는 동시성이 충분하지 않아 충분히 빠릅니다. (파이어 폭스는 북마크, 히스토리 등을 위해 SQLite를 광범위하게 사용한다.)

얼마 전까지 만해도 일반적인 시나리오 (예 : 블로그, 블로그, 블로그 등)에서 SQLite 데이터베이스로 하루 100K 페이지 뷰를 완벽하게 처리 할 수 ​​있다고 말한 사람이있다. 포럼), 나는 그 반대의 증거를 아직 보지 못했습니다. 실제로 최신 디스크와 프로세서의 경우 웹 사이트와 웹 서비스의 95 %가 SQLite로 정상적으로 작동합니다.

정말 빠른 읽기/쓰기 액세스를 원하면 인 메모리 SQLite 데이터베이스를 사용하십시오. RAM은 디스크보다 몇 배 빠른 속도입니다. 당신은 서버의 백엔드로 SQLite는을 사용하려는 경우

그리고

2

짧은 : 그것은 좋은 해결책이 아닙니다.

설명 :

SQLite는 동시 독자를 무제한으로 지원하지만, 그것은 단지 시간의 어느 순간에 한 작가 수 있습니다.

상황에 따라 좋지 않습니다.

조언 : 다른 RDBMS를 사용하십시오. 그 동시 액세스의 대부분 (예를 들어 SELECT), SQLite는 아주 잘을 처리 할 수있는 읽기 경우

+0

간단히 말해서, OP가 무엇을하고 싶어하는지 알지 못하기 때문에 이것은 명백하게 거짓입니다. 서버의 백엔드에서 SQLite를 사용하는 것이 완벽하게 좋은 사용 사례가 많이 있습니다. 그렇게하면 트레이드 오프와 성능에 미치는 영향을 이해해야합니다. RDBMS가 여러 작성자를 테이블로 처리하는 방법을 이해하고 있습니까? 그리고 글쓰기 동안 읽는가? –

관련 문제