어떤 임베디드 데이터베이스가 최대 SQL 준수와 동시성 지원이 있습니까?
-
08-07-2019 - |
문제
현재 내 응용 프로그램은 Microsoft Access를 사용하지만 이제 Linux 상자에서 호스팅 될 수 있습니다. 또한 여러 컴퓨터에서 액세스하는 동안이 중 하나는 레코드를 업데이트 할 수 있습니다 (다른 사용자가 읽을 때).
또한 내장 데이터베이스가 내부 SQL, 조인 등과 같은 복잡한 SQL 쿼리를 지원해야합니다.
나는 시도했다 sqlite, 그러나 기존 쿼리 중 다수가 실패하거나 고정되어야합니다 (내부 쿼리에서와 같이 SQLITE에 허용되지 않았으며 제거해야했습니다). 올바른 조인도 지원되지 않습니다.
나는 알았다 아파치 더비 그리고 H2, 그러나 먼저 당신의 귀중한 의견을 선호합니다.
편집하다:
내 응용 프로그램이 전적으로 Java로 작성되었다고 언급하는 것을 잊었습니다.
편집하다:
사전 설정에서 네트워크 드라이브에서 공유하는 Microsoft Access MDB를 사용하여 원격 컴퓨터에서 DSN이없는 연결을 만듭니다.
업데이트
나는 Firebird와 함께 시험을했는데 실제로 매우 좋고 관리자 및 SQL을 준수하는 것처럼 보입니다. 그것은 빠르며, 나는 그것을 시도 할 수있는 일반적인 쿼리에 아무런 문제가 없었습니다. 나는 그것에 대해 매우 만족하며,이 질문을 제기 한 프로젝트에 그것을 사용할 것입니다.
바라건대 우위 서버도 좋을 것이지만 검토 할 시간을 얻을 수 없었습니다. Firebird를 검토/사용한 후에는 다른 것을 시도 할 필요가 없습니다.
해결책
나는 그것이 생각합니다 파이어 버드.
조차 CTE Firebird 2.1에서 지원됩니다!
Firebird는 Windows, Linux, Mac OS에서 작동합니다 ...
Jaybird 자바 드라이버.
Firebird에 이르기까지 좋은 마이그레이션 도구가 있습니다.
- IBDATAPUMP
- Firebird 데이터베이스 변환기에 대한 Microsoft 액세스 (MDB2FDB)
다른 팁
Advantage Database Server (sybase.com)를 살펴 보겠습니다. Windows, Linux에서 실행됩니다 Netware. 우리는 건설 산업을위한 상업 회계 / 프로젝트 관리 응용 프로그램을 보유하고 있으며 6 년 또는 7 년 전에 이점으로 전환했습니다. 우리는 성능과 지원에 매우 만족했습니다. 고객도 매우 행복합니다.
Derby의 SQL 표준 준수에 대한 상당히 자세한 설명을 찾을 수 있습니다. http://wiki.apache.org/db-derby/sqlvsderbyfeatures
우리 회사는 또한 이점을 사용하고 있습니다. 우리는 그것에 왔습니다 xbase 배경이지만 그 이후로 SQL 특성을 수용했습니다. 많은 플랫폼 (Windows, Linux, Netware)에서 실행되며 다양한 드라이버 (PHP, ADO, JDBC, ODBC, Crystal)가있어 프로그램 할 수있는 거의 모든 환경에서 작동합니다.
이것은 귀하의 연구에 도움이 될 수 있습니다. 관계형 데이터베이스 관리 시스템의 비교.
나는 개인적으로 파이어 버드를 진지하게 살펴 보는 것이 좋습니다. 크로스 플랫폼이며 네이티브가 있습니다 .NET 제공 업체 그리고 당신이 언급 한 조인을 지원합니다.
파이어 버드 가장 "SQL에 대한 Comptible"임베디드 데이터베이스입니다. 임베디드 버전의 엔진은 서버 에디션과 동일합니다.
Firebird가 한 번에 하나의 클라이언트 만 내장하면 데이터베이스에 연결할 수 있으므로 동일한 프로세스에서 여러 연결을 걸 수 있지만 다른 프로세스에서 연결할 수없는주의를 기울일 수 있습니다. 이 문제는 Firebird 2.5 이상에서 고정되어 있습니다.