데이터베이스/Etc

[Database] NeDB - JSON 데이터 저장 데이터베이스 추천 및 예제 설명

2018. 1. 18. 17:54

NeDB(Database) - 기본 설명

 

① NeDB - Javascript 기반 초경량 데이터베이스이며, 메모리 저장 및 파일 저장 기능을 제공합니다.

② IoT 프로젝트 진행 중 RDBMS 운영에 대해서 성능 부담감을 느껴 사용해 본 결과 상당한 성능 향상을 체감했습니다.

③ 현재 프로젝트 진행 중 JSON 데이터 CRUD 운영에 있어서 매우 만족할 만한 결과를 보여주고 있습니다.

④ 라즈베리 파이  등 IoT 관련 프로젝트 사용시 Npm과 같이 사용하면 더욱 편하게 사용하실 수 있습니다.

⑤ 기존 SQL Query를 활용해서 JSON 데이터를 자유롭게 가공 및 파싱할 수 있습니다.

 

 


NeDB(Database) - 성능 및 특징


설명
- MongoDB 와 같이 대규모 데이터 핸들링을 위해 설계된 것은 아니지만, 하단 성능 설명과 같이 충분히 빠릅니다.
- 인덱싱 설정을 통해 더욱 빠른 성능을 기대할 수 있습니다.
- NeDB Logger 사용을 통해서 메모리 사용량을 감소 시킬 수 있습니다.



 

NeDB(Database) - 기본 CRUD 소스 예제 및 실행 화면


설명
- RDBMS에서 제공하는 and, or, not 연산자를 제공합니다.
- 중요한 정보를 저장할 경우는 기존 RDBMS(MySQL, Oracle 등)을 추천합니다.
- 반드시 공식 사이트에 방문해서 API 문서를 학습 후 사용하시길 권장합니다.
- NeDB 공식사이트 : https://github.com/louischatriot/nedb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const express = require('express');
const app = express();
const path = require('path');
//Nedb 로드
const Datastore = require('nedb');
 
//자동 로드 및 데이터베이스 파일 생성
const db = new Datastore({ filename: 'user.db', autoload: true });
 
//테스트 데이터
let doc1 = { name: 'world',
            today: new Date(),
            fruits: [ 'apple', 'orange', 'pear' ]
           };
let doc2 = { name: 'hello',
           today: new Date(),
           fruits: [ 'apple', 'orange', 'pear' ]
          };
 
//레코드 삽입 테스트 (삽입 데이터가 여러개 일 경우 [] 사용)
 db.insert([doc1,doc2], function (err, newDoc) {   //콜백함수
   //uuid 는 자동으로 생성된다.
   console.log('레코드 삽입 결과 :'+ newDoc)
 });
 
//레코드 전체 갯수 조회 테스트
 db.count({}, function (err, count) {
   console.log('테이블 레코드 전체 갯수 : '+ count)
 });
 
//레코드 조건 검색 테스트
 db.find({ name: 'world' }, function (err, docs) {
   console.log('레코드 검색 결과 : ' + docs)
 });
 
//레코드 수정 테스트
 db.update({ name: 'world' },  { $set: { name: 'system' } }, function (err, numDocs) {
   console.log('레코드 수정 반영 수: ' + numDocs)
});
 
//레코드 삭제 테스트
 db.remove({ name: 'hello' }, function (err, numDocs) {
   console.log('레코드 삭제 반영 수: ' + numDocs)
});
 
//서버 실행
app.listen(3000, function () {
    console.log('Example app listening on port 3000!');
});
Colored by Color Scripter
cs



실행 화면 - Console



실행 화면 - Database 저장 화면



 

NeDB(Database) - 소스 코드 다운로드


nedbTest.zip


다음 포스팅에서는 AlaSQL에 대해서 자세하게 설명할 예정입니다.
NeDB 공식사이트 : 
https://github.com/louischatriot/nedb



저작자표시 동일조건 (새창열림)

'데이터베이스 > Etc' 카테고리의 다른 글

[Database] OrientDB - 데이터베이스 및 테이블(Class) 생성 방법  (0) 2017.10.25
[Database] OrientDB - 설치 및 기본 실행 방법  (0) 2017.10.24
'데이터베이스/Etc' 카테고리의 다른 글
  • [Database] OrientDB - 데이터베이스 및 테이블(Class) 생성 방법
  • [Database] OrientDB - 설치 및 기본 실행 방법
[좋은사람]
[좋은사람]
좋은사람의 개발 노트 입니다.
[좋은사람]
좋은사람의 개발 노트
[좋은사람]
전체
오늘
어제
  • 전체보기 (189)
    • 언어 (68)
      • Java (12)
      • Python (39)
      • C# (5)
      • PHP (4)
      • Go (8)
    • OS (18)
      • Linux (7)
      • Windows 10 (5)
      • Etc (6)
    • 빅데이터 & 분석 (8)
      • R (0)
      • Machine Learning (8)
    • 네트워크 (4)
      • Etc (4)
    • 웹 프론트 (25)
      • Javascript & ECMA (8)
      • Vue (13)
      • React (4)
    • 웹 백엔드 (15)
      • Spring (3)
      • Django & Flask (7)
      • Npm & Express (5)
    • 개발도구 (18)
      • Jetbrains (3)
      • Eclipse (5)
      • Git (4)
      • Atom & VScode (6)
    • 데이터베이스 (7)
      • Oracle (2)
      • MariaDB & MySQL (2)
      • Etc (3)
    • 모바일 (6)
      • Android (3)
      • Hybrid (3)
    • 라이프 (20)
      • 여행 & 일상 (6)
      • 취미 (14)

블로그 메뉴

  • 홈으로
  • 블로그소개
  • 태그
  • 방명록

공지사항

인기 글

태그

  • go
  • 커펌
  • Algorithm
  • Anaconda
  • nodejs
  • CFW
  • php
  • Eclipse
  • OCR
  • react
  • 개발자 면접
  • 아톰 에디터
  • Database
  • windows10
  • 머신러닝
  • ubuntu
  • C#
  • npm
  • 리액트
  • 2DS
  • 코딩 면접
  • 윈도우10
  • Git
  • flask
  • ATOM
  • Thread
  • centos
  • SpringSTS
  • Linux
  • Java
  • 인텔리j
  • 이클립스
  • Django
  • 미뮤
  • 3DS
  • javascript
  • python
  • 디자인패턴
  • vue.js
  • ps4

최근 댓글

최근 글

hELLO · Designed By 정상우.
[좋은사람]
[Database] NeDB - JSON 데이터 저장 데이터베이스 추천 및 예제 설명
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.