지금은 모든 것이 웹에 연결되어 있으며, 웹 사이트와 애플리케이션은 사용자 데이터를 관리하는 데 큰 역할을 합니다. 이러한 데이터를 효율적으로 관리하기 위해 데이터베이스가 필요합니다. 이 글에서는 자바스크립트를 사용하여 웹 사이트 데이터베이스를 관리하는 방법을 살펴보겠습니다.
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 실시간 데이터베이스 중 어떤 것을 사용할지는 프로젝트 요구 사항에 맞게 결정해야 합니다. 각 데이터베이스의 장단점을 고려하여 데이터 관리를 효율적으로 수행할 수 있도록 하세요.