2016-09-20 5 views
4

임베디드 NoSQL 데이터베이스를 선택해야하는 Electron 앱을 구축 중입니다. 사실,이 데이터베이스는 ArangoDB 원격 백엔드에 저장된 데이터의 로컬 서브 세트를 보유하기로되어 있습니다. 나는 인터넷을 많이 검색해 왔지만 지금까지는 궁극적 인 후보자로 수렴하지 못하고있다. 누군가가 나를 경험에서 조언 해 줄 수 있기를 바랍니다.~ 1Gb 데이터 세트를 처리 할 수있는 임베디드 NoSQL 데이터베이스가 필요합니다. 디스크에 유지됩니다.

일반적인 데이터 세트는 수십만 문서에 달할 수 있으며 시간이 지남에 따라 세트가 ~ 1Gb 정도되는 경우를 상상할 수 있습니다. 또한 보조 인덱스가 필요합니다.

나는 결국

이 NeDB 및 LinvoDB이 (SQLite는 같은) 여기서 NeDB 수 없어 디스크에 지속성과 합리적인 후보처럼 보인다 ... PouchDB, UnQlite, LokiJS, LevelDB, NeDB, LinvoDB 살펴 보았다 큰 데이터 집합을 처리한다. NeDB의 포크 인 LinvoDB가 처리 할 수있는 것 같습니다. LinvoDB는 전체 데이터베이스를 메모리에로드하지는 않지만 기본적으로 "모든 것"을 인덱싱하고 메모리에 유지합니다.

다른 한편으로, NeDB가 자신의 문서에서 디스크에 저장되었다고 제안하면 나타나는 색인에 관한 몇 가지 대화를 따라 보았습니다. (https://github.com/louischatriot/nedb#indexing) LinvoDB에 의해 다시 무효화되는 것으로 나타납니다. (미안 해요, 방대한 양의 인용 부호/소스를 많이 잃어 버렸습니다 ...), 인덱스는 처음 시작할 때부터 빌드되어야한다고 제안했습니다. (또한 NeDB의 문서를 오해 할 수도 있습니다.)

기본적으로 필자가 필요로하는 것은 일종의 "대단한"데이터 양을 저장할 수있는 Electron 앱용 JS 데이터베이스 솔루션입니다. 앱의 로딩 시간은 응답 성이 뛰어나고 (즉, 데이터베이스에 보조 색인이 있어야 함) 가능한 한 사용자의 리소스를 존중하면서 합리적 (즉, 사용을 방해하지 말아야 함)이어야합니다.

질문 :

  1. 누구에게 이러한 또는 다른 사람의 내 사용 사례에 권장 될 수있는 이상 또는 다른 내장되는 NoSQL 데이터베이스와 경험을 했습니까?
  2. LinvoDB의 색인을 앱을 시작할 때마다 처음부터 다시 작성해야하는 경우 상당한 성능 저하가 발생할 수 있습니다 (몇 초 정도의 로딩 시간)? (확실하게 나는 이것을 벤치마킹해야 할 것입니다 ...)
  3. ArangoDB는 임베디드가 가능하지 않지만 아마도 내 기본 응용 프로그램과 함께 서비스로 배포해야합니다. 이 링크 NoSQL database: ArangoDB은 개발자 자신이이를 권장하지 않는 것으로 보입니다. 과도 함이거나 사용자에게 친숙하지 않습니까? 실적이 좋습니까?

모든 조언은 정말 감사하겠습니다.

답변

0

sqlite를 고려 했습니까? npm package이 있으며 전자와 함께 작동합니다. 나는 직접 시도했습니다. rebuild electron 만 있으면 문제가 발생할 수 있습니다.여기

답은 :

  1. 그래 난이 없지만별로
  2. 더 내가 LinvoDB
  3. 해본 적이없는 내가 너무
+0

예 제목에서 알 수 있듯이 JSON 문서와 색인 속성을 저장할 수있는 NoSQL db를 찾고 있습니다. –

2

가 되세요 ArangoDB을 한 번도 안 써봤 같은 필요성, linvodb3는 현재 최고의 선택입니다. 그것은 긍정적 인 개발하에 있으며 목표는 Electron 데스크탑 환경에 전념합니다.

+0

나는 LokiJS에 대해 아주 좋은 경험을하고 있습니다. 매우 빠르고 두 가지 좋은 기능! –