2010-07-03 6 views
0

포함 된 데이터베이스 엔진으로 사용할 SQLite에 대한 대안이 있습니까?응용 프로그램에서 사용할 수있는 내장 데이터베이스 엔진

+1

왜? SQLite 및 Core Data는 놀라 울 정도로 확장 성이 뛰어나고 매우 잘 지원됩니다. 클라이언트/서버가 필요하다면 분명히 다른 곳을 찾아야하지만, 순수한 임베디드, 로컬, 역할의 경우 드문 상황에서 이길 수는 없습니다. – bbum

+0

필자가 작성하고 SQLite를 사용하는 응용 프로그램의 코드를 테스트 한 결과, 데이터베이스에 X 행을 추가 한 후 너무 느려지는 것으로 나타났습니다. 아마도 SQLite를 여전히 사용할 수 있었지만 SQLite/Core Data에 대한 대안이 있는지 알고 싶었습니다. – kiamlaluno

+0

느린 이유를 확인하기 위해 프로파일 링이나 분석을 수행 했습니까? SQLite는 매우 효율적입니다. 점진적으로 속도가 느려지는 경우 코드에서 조사 할 버그가 있음을 나타냅니다. 일반적인 경우는 데이터가 이미 존재하는지 여부를 확인하기 위해 페치/쿼리를 수행하고 그렇지 않은 경우 삽입 만하는 "add if absent"메소드를 통해 데이터를 가져 오는 것입니다. 이것은 어떤 데이터베이스를 사용하든 관계없이 비효율적입니다. –

답변

2

확실히. This page은 (코어 데이터 외에) 몇 비 SQLite는 프레임 워크를 보여줍니다

나는이 프로젝트가 얼마나 멋진 아무 생각이 그래서 YMMV.

외부 종속성 (예 : 앱과 함께 프레임 워크를 제공하지 않음)을 피하려면 SQLite 또는 CoreData가 필요합니다. CoreData는 XML을 형식으로 사용할 수 있지만 몇 가지 단점이 있습니다. SQLite는 확실히 CoreData 백엔드 중 가장 좋습니다.

것은해야합니다 : 당신은 같은 임베디드 데이터베이스 엔진을 갖고 싶어

+0

나는 그것을 downvoted 사람이 아니었지만, 당신의 제안 중 하나가 * 임베디드 * 데이터베이스 엔진이라고 생각하지 않습니다. – JWWalker

+0

@JWWalker "임베디드"를 "응용 프로그램과 함께 배송 가능"으로 정의하면 프레임 워크 용이므로 질문이 'osx'태그가 붙습니다. –

+0

외부 종속성이없는 내장 데이터베이스 엔진에 대해 물어 보았습니다. 그러나 나는 그것을 명백하게하지 않았다. Dave DeLong이 제시 한 해석에는 잘못된 것이 없습니다.그가 준 링크에 대해, 세 가지 프레임 워크는 모두 코코아로보고되었다. 비록 ODBC가 Windows 용으로 태어났다는 것을 알았지 만, 나는 그것을 제외 시켰습니다. – kiamlaluno

1

SQLite 대안의 몇 가지가 있습니다 또한 라이센스 조항을 확인하십시오.

EDIT :

파이어 유도체 MPL 라이센스에, 그래서 closed-source 애플리케이션 (FAQ 참조)에서 사용될 수있다. 다른 두 개는 dual-licenced이므로 상용 응용 프로그램에서 사용하려면 지불해야합니다.

관련 문제