저는 RS232 데이터를 받아 들여 모든 데이터를 비교적 빠른 속도 (수백 초당 수백)로 내장 데이터베이스에 저장하는 C# WPF 응용 프로그램을 만들고 있습니다. 데이터베이스에서 데이터베이스 임베디드 데이터베이스와 고속 다중 쓰기
- 걸릴 RS232 데이터 저장 : 응용 프로그램은 동시에 두 가지 작업을 수행합니다.
내 응용 프로그램에 내장 데이터베이스가 필요하고 단일 사용자 응용 프로그램이므로 SQLite를 고려합니다. 그러나 데이터 저장 및 그래프 작성 (현재 데이터를 저장하고 어제의 데이터를 플로팅 할 수 있음)에는 데이터베이스에 대한 동시 읽기 및 쓰기가 필요합니다. 나는 SQLite가 하나의 쿼리에서 락업 (lock up)을 취하고 동시에 여러 쿼리를 처리 할 수 없다고 들었다. 그게 사실이야? 그렇다면 다른 내장 데이터베이스가 다중 쓰기를 지원하는 것은 무엇입니까?
SQLite에서는 다중 쓰기가 불가능합니다. 그러나 "스레드 안전"은 적어도 하나의 쓰기 및 다중 읽기를 가질 수 있음을 의미합니까? – KMC
@KMC - Sqlite는 트랜잭션을 지원하므로 동시성 제어 수단입니다 (스레드 안전성의 의미라고 생각됩니다). Sqlite는 스레드간에 연결을 공유하지 않는 한 스레드로부터 안전합니다. 또한 Sqlite는 데이터베이스 수준 잠금 만 지원하므로 연결 수에 관계없이 타이머에서 한 명의 작성자로 제한됩니다. –