DB

데이터 베이스 SQL 소개

프도의길 2022. 1. 21. 17:35

데이터베이스의 필요성

앞서 데이터를 저장하는 방법으로 파일에 데이터를 저장하거나, 인메모리 형태로 데이터를 임시 저장하는 방법을 이용했습니다. 이 방법으로도 데이터를 저장할 수 있는데, 굳이 데이터베이스를 사용할 필요가 있을까요? 데이터베이스를 사용하지 않고, 엑셀 시트나 CSV 파일 등에 데이터를 저장해 사용하면 되지 않을까요? 이번 챕터에서 그 의문을 해결할 수 있습니다.

1. In-Memory

먼저 JavaScript에서 데이터를 다룰 때에는 프로그램이 실행될 때에만 존재하는 데이터가 있습니다.

JavaScript에서 변수를 만들어 저장한 경우, 프로그램이 종료될 때 해당 프로그램이 사용하던 데이터도 사라집니다. 이 말은 변수 등에 저장한 데이터가 프로그램의 실행에 의존한다는 말입니다. 예기치 못한 상황으로부터 데이터를 보호할 수 없고, 프로그램이 종료된 상태라면 데이터를 원하는 시간에 받아올 수 없으며, 데이터의 수명이 프로그램의 수명에 의존하게 됩니다.

2. File I/O

파일을 읽는 방식으로 작동하는 형태를 말합니다. 엑셀 시트나 CSV 같은 파일의 형태는 In-Memory에 비해 데이터를 저장하는 방식으로 적절해 보입니다. 그러나 한계가 분명히 존재합니다.

  • 데이터가 필요할 때마다 전체 파일을 매번 읽어야 합니다. 파일의 크기가 커질수록 이 작업은 버겁고, 비효율적이어서 File I/O 방식의 큰 단점입니다.
  • 파일이 손상되거나 여러 개의 파일들을 동시에 다뤄야 하거나 하는 등 복잡하고 데이터량이 많아질수록 데이터를 불러들이는 작업이 점점 힘들어집니다.

반면에 관계형 데이터베이스에서는 하나의 CSV 파일이나 엑셀 시트를 한 개의 테이블로 저장할 수 있습니다. 한 번에 여러 개의 테이블을 가질 수 있기 때문에 SQL 을 활용해 데이터를 불러오기 수월합니다. 또한, 엑셀 시트와 CSV 파일 등처럼 특정 형태의 파일은 대용량의 데이터를 저장하기 위한 목적이 아닙니다.

 

 

'DB' 카테고리의 다른 글

우분투 PostgreSQL설치(pgAdmin 설정)  (0) 2024.03.05
prisma란  (0) 2023.08.25
SQL vs. NoSQL  (0) 2022.03.04
관계형 데이터베이스  (0) 2022.02.11
트랜잭션 ACID  (0) 2022.01.21