2013-08-18 3 views
1

저는 데이터베이스에 익숙하지 않아 어느 것이 가장 필요한지 결정하려고합니다. 나는 여러 위치에있는 수천 개의 PDF 파일에 대한 디렉토리 참조를 저장하는 프로그램의 계획 단계에 있습니다 (모두 하나의 도메인 아래에 있음). 기본적으로 날짜, 위치, 작성자 이름 및 데이터베이스 내의 각 필드에있는 파일에 대한 링크입니다. 더 이상 아무것도 (아니 파일, 아무것도 공상). 데이터베이스와 관련된 모든 작업은 위치, 날짜, 작성자 이름별로 필드를 정렬하는 것입니다. 동시에 여러 번 쓰기가 발생해야하는 경우가 있습니다. 나는 한 번에 하나의 쓰기 만 지원된다는 SQLite 웹 사이트를 읽었습니다. 특정 파일이나 데이터베이스 기간에 쓰는 것을 의미합니까?SQLite 및 다중 쓰기

내 말은 주어진 시간에 여러 클라이언트가 여러 레코드를 추가해야하지만 기존 레코드를 수정할 필요가 없다는 것입니다. 그렇게 할 경우 특정 클라이언트에서 수행됩니다. 조금 더 자세하게 설명하기 위해 서비스 응용 프로그램이 백그라운드에서 실행되고 폴더를 수신하는 여러 위치가 있습니다. 파일이 폴더에 들어가면 특정 형식으로 이름이 바뀌고 데이터베이스에 추가됩니다. 두 개의 폴더 수신 대기 응용 프로그램이 동시에 파일을 데이터베이스에 추가하려고 할 가능성이 큽니다.

SQLite로이 작업을 수행 할 수 있습니까? 아니면 주어진 시간에 전체 데이터베이스에 하나의 쓰기 작업을 수행합니까? 하나의 쓰기 만 가능하다면, 전체 데이터베이스에 대한 기간은 스풀링 시스템 (일종의 프린터와 같은)을 구현할 수있는 방법입니다. 쓰기는 수명 타이머가있는 대기열에서 대기합니다.

가능하지 않다면 MySQL을 살펴 보겠습니다. 비용이 염려하기 때문에 나는이 두 방향으로 나아갑니다.

+0

동일한 문장에서 "thousands"와 "SQLite"를 볼 때 "MySQL과 같은 더 나은 데이터베이스를 사용할 시간"이라고 생각하기 시작합니다. 유감스럽게도, 명확한 제안을하기에 충분한 세부 정보가 없습니다. 예, 저는 MySQL에 기대고 있지만 데이터 구조가 어떻게 사용되는지는 말하지 않습니다. – Makoto

+0

@Makoto 흠, SQLite는 많은 필드를 지원하지 않습니다? 파일 자체가 아니라 파일에 링크되어 있더라도? 죄송합니다. 자세한 내용을 제공 할 수는 없지만 데이터베이스를 배우는 단계에 있습니다. –

+0

글쎄, 데이터베이스에 원시 파일을 저장하지 않기를 바란다. 다시 - 당신은 당신의 데이터 구조에 대해 아무것도 말하지 않습니다. 저는 SQLite가 당신의 목적을 달성 할 수 있을지 여부를 명확하게 말할 수는 없습니다. 또한 이것이 얼마나 많은 시스템이 될 것인지를 알지 못합니다. 주관적으로 대답하기에 충분한 세부 사항이 없습니다. – Makoto

답변

2

정확한 시간에 하나의 쓰기 만 수행 할 수 있지만 기본적으로 쓰기는 자동으로 대기하고 초당 수천 개의 쓰기를 수행 할 수 있습니다.

주요 관심사는 어떤 응용 프로그램 유형입니까? 하나의 머신에서 개발되고 다른 하나의 생산 머신에 배포되는 웹 애플리케이션입니까? 그렇다면 MySQL 설치 및 유지 보수의 추가 문제는 걱정할 필요가 없으며 MySQL을 사용하는 것이 좋습니다. 이 데스크탑 응용 프로그램이 여러 데스크톱에 설치되어있는 경우 포함 된 데이터베이스를 사용하면 개발, 설치 및 유지 관리가 훨씬 쉬워지며이 경우 SQLite를 사용하십시오.

+0

응용 프로그램이 인트라넷에 배포됩니다. 나는 그것을 여러 대의 컴퓨터에 설치되는 응용 프로그램으로 계획하고 있습니다 (현재 약 20 개). 각 컴퓨터에는 하루 종일 추가되는 파일이있는 폴더가 있습니다 (하루 10-30 개의 파일). 폴더를 듣고 응용 프로그램의 이름을 바꾸고 데이터베이스에 추가하는 백그라운드 서비스 파트가 있으며 사용자가 데이터베이스와 상호 작용할 수있는 프론트 엔드 응용 프로그램이 있습니다. 따라서 데이터베이스 자체를 단일 서버에서 중앙 집중식으로 관리해야합니다. –

+0

당신이 제안한 것처럼 MySQL을 가진 웹형 응용 프로그램이 최선의 행동 방침이 될 수도 있습니다. –