데이터베이스의 필요성 + SQL이란?

오늘도 삽질중·2021년 11월 29일
0

[데이터베이스]

목록 보기
1/6

👊 데이터베이스의 필요성


앞서 데이터를 저장하는 방법으로 파일에 데이터를 저장하거나, 인메모리 형태로 데이터를 임시 저장하는 방법을 이용했다. 이 방법으로도 데이터를 저장할 수 있는데 굳이 데이터베이스를 사용할 필요가 있을까?

1. In-Memory

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

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

2. File I/O

파일을 읽는 방식으로 작동하는 형태를 말한다.
-한계

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

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

👊 SQL 이란(Structured Query Language)


데이터베이스용 프로그래밍 언어로, 주로 관계형 데이터베이스에서 사용한다.
ex) MySQL, Oracle, SQLite, PostgreSQL등 다양한 데이터베이스에서 SQL구문을 사용할 수 있다.
데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다.

SQL은 구조화된 쿼리 언어이다.

<-> NoSQL : 데이터의 구조가 고정되어 있지 않은 데이터베이스를 NoSQL이라고 한다. 관계형 데이터배이스와는 달리, 테이블을 사용하지 않고 데이터를 다른 형태로 저장한다. 대표적인 예) MongoDB

🙂 쿼리란?

쿼리는 '질의문'이라는 뜻을 가지고 있다. 예를 들면 검색할 때 입력하는 검색어가 일종의 쿼리이다. 검색을 할 때, 기존에 존재하는 데이터를 검색어로 필터링한다. 따라서 쿼리는 저장되어있는 데이터를 필터하기 위한 질의문으로 볼 수 있다.

참고자료
코드스테이츠

profile
의미없는 삽질은 없다1

0개의 댓글