자바스크립트 웹 사이트 데이터베이스 관리

지금은 모든 것이 웹에 연결되어 있으며, 웹 사이트와 애플리케이션은 사용자 데이터를 관리하는 데 큰 역할을 합니다. 이러한 데이터를 효율적으로 관리하기 위해 데이터베이스가 필요합니다. 이 글에서는 자바스크립트를 사용하여 웹 사이트 데이터베이스를 관리하는 방법을 살펴보겠습니다.

1. SQLite 데이터베이스

SQLite는 자바스크립트에서 가볍고 유연하게 사용할 수 있는 데이터베이스 엔진입니다. 이 데이터베이스는 파일 기반이기 때문에 별도로 서버나 관리자 설치가 필요하지 않습니다. 자바스크립트에서 SQLite를 사용하기 위해 sqlite 패키지를 설치해야 합니다.

const sqlite3 = require('sqlite3').verbose();

// 데이터베이스 생성
const db = new sqlite3.Database(':memory:');

// 테이블 생성
db.serialize(function() {
  db.run("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)");

  // 데이터 삽입
  db.run("INSERT INTO users (name) VALUES ('John')");
  db.run("INSERT INTO users (name) VALUES ('Jane')");
  db.run("INSERT INTO users (name) VALUES ('Mike')");

  // 데이터 조회
  db.each("SELECT id, name FROM users", function(err, row) {
      console.log(row.id, row.name);
  });
});

// 데이터베이스 닫기
db.close();

위 코드에서는 SQLite 데이터베이스를 생성하고, users라는 테이블을 만들고 몇 가지 데이터를 삽입한 후 전체 데이터를 조회하는 예제입니다.

2. MongoDB 데이터베이스

MongoDB는 NoSQL 데이터베이스로서 자바스크립트에서 많이 사용됩니다. 이 데이터베이스는 JSON 형식의 문서 기반으로 데이터를 저장하며, 유연하고 확장 가능한 구조를 가지고 있습니다. MongoDB 사용을 위해 mongodb 패키지를 설치해야 합니다.

const MongoClient = require('mongodb').MongoClient;

// 데이터베이스 연결
const uri = "mongodb+srv://<username>:<password>@cluster0.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
  const collection = client.db("test").collection("users");

  // 데이터 삽입
  collection.insertOne({ name: 'John' }, function(err, result) {
    console.log("Inserted ID:", result.insertedId);
  });

  // 데이터 조회
  collection.find({}).toArray(function(err, docs) {
    docs.forEach(function(doc) {
      console.log(doc);
    });
  });

  client.close();
});

위 코드에서는 MongoDB 데이터베이스에 연결하고, users 컬렉션에 데이터를 삽입하고 조회하는 예제입니다.

3. Firebase 실시간 데이터베이스

Firebase는 Google에서 제공하는 클라우드 기반의 통합 개발 플랫폼으로, 웹 사이트와 애플리케이션 개발을 위한 다양한 기능을 제공합니다. Firebase 실시간 데이터베이스는 자바스크립트에서 실시간으로 데이터를 동기화하고 저장할 수 있는 완전 관리형 NoSQL 데이터베이스입니다. Firebase SDK를 사용하여 손쉽게 데이터베이스를 관리할 수 있습니다.

// Firebase 설정
const firebase = require('firebase/app');
require('firebase/database');

const config = {
  apiKey: '<api-key>',
  authDomain: '<auth-domain>',
  databaseURL: '<database-url>',
  projectId: '<project-id>',
  storageBucket: '<storage-bucket>',
  messagingSenderId: '<messaging-sender-id>',
  appId: '<app-id>',
};

firebase.initializeApp(config);
const database = firebase.database();

// 데이터 쓰기
database.ref('users/1').set({
  name: 'John',
  age: 25
});

// 데이터 읽기
database.ref('users').once('value')
  .then(snapshot => {
    snapshot.forEach(childSnapshot => {
      console.log(childSnapshot.key, childSnapshot.val());
    });
  });

위 코드에서는 Firebase 설정을 먼저 한 후 데이터베이스에 데이터를 쓰고 읽는 예제입니다.


자바스크립트를 사용하여 웹 사이트 데이터베이스를 관리하는 방법을 살펴보았습니다. SQLite, MongoDB, Firebase 실시간 데이터베이스 중 어떤 것을 사용할지는 프로젝트 요구 사항에 맞게 결정해야 합니다. 각 데이터베이스의 장단점을 고려하여 데이터 관리를 효율적으로 수행할 수 있도록 하세요.