본문으로 바로가기

로컬 DB : SQLite3

category DB, ORM/🧊 sqlite3 2021. 1. 12. 23:16

로컬DB

 

sqlite3는 로컬DB이다.

 

외부 통신 없이 간단히 DB를 사용하고 싶을 때 유용하다.

in memory에 객체나 배열로 정보를 저장하게 될 경우 RAM의 휘발성 때문에 다 날아가서 어디에 정보를 저장하긴 해야하는데, 네트워크 통신은 부담스러울 때 이용한다.

혹은 Offline Caching와 같은 기능을 위해서 로컬 DB를 사용하기도 한다.

 

네트워크 통신 자체가 어렵다기보다는 간단한 서비스이고, DB 서버 운용 자체가 부담이 되는 경우에 유용하다.

데이터 웨어 하우스에서 유저들의 정보들을 모두 관리해야 한다면, 간단한 서비스 운영자 입장에서는 비용이 더 나갈 것이다. 유저들의 각 컴퓨팅 시스템 내에서 DB를 처리하는 것이 낫기 때문에 사용한다.

 

물론 MySQL, PorstgreSQL, MongoDB 등과 같은 DB에 비교했을 때 담을 수 있는 정보의 형식이나 그런 것이 부족하지만 용량이 적고, 로컬DB라는 점에서 모바일 앱, 데스크탑 앱과 같이 유저 개개인이 독립적으로 사용하는 경우에 종종 쓰인다고 한다.

 

 

개략적인 설명은 아래 기사를 읽어보자.

www.itworld.co.kr/news/117213

 

SQLite를 사용해야 하는 이유

모든 비즈니스 애플리케이션의 내부에는 구조적 데이터를 저장하고 사용하는 나름의 방법이 구현돼 있다. 클라이언트 측 앱이든 웹 프론트엔드를 사용하는 앱이든 에지 디바이스 앱이든 대부

www.itworld.co.kr

 

로컬 DB 분야서는 sqlite(RDBMS) 와 realm(NoSQL)가 자주 사용되는 편이라고 한다.

 

 

SQLite3 설치 및 환경 변수 세팅

sql 설치

www.sqlite.org/download.html

 

SQLite Download Page

Templates (1) and (2) are used for source-code products. Template (1) is used for generic source-code products and templates (2) is used for source-code products that are generally only useful on unix-like platforms. Template (3) is used for precompiled bi

www.sqlite.org

 

Precompiled Binaries for Windows의 zip을 받아주면 된다. 굉장히 가볍다.

 

 

환경 변수 설정

다운로드 받은 파일을 환경 변수로 지정하여 globally하게 접근할 수 있도록 하자

이제 접근할 수 있게 되었다.

sqlite3

 

 

 

* sqlite도 DB이다 보니 사용하기 편리한 ORM Library가 별도로 존재한다. ORMLite, requery ... 등등

 

 

sqlite3 shell

www.sqlitetutorial.net/sqlite-commands/

 

Practical SQLite Commands That You Don't Want To Miss

This tutorial shows you how to use the most commonly used SQLite commands in sqlite3 to work with SQLite database more efficiently.

www.sqlitetutorial.net

많은 것들이 있지만 필요할 때 찾아보면 된다.

.open [경로] // 보통 프로젝트 경로에서 .open을 하기 때문제 굳이~ 절대 경로로 입력할 필요 없다.

.database 

.tables 

.schema [table 이름] 

select * from [table 이름] 

delete from [table 이름] WHERE [조건식]

 

 

 

Realm?

 

성능을 보아하니 SQLite를 쓰는 이유가 단순히 업계에서 오랫동안 사용되었기 때문이지, 성능이 좋아서는 아닌 것 같다고 느낀다...

 

모바일 앱에 관심이 있다면 장기적으론 realm을 배워두는 것이 좋을 것 같다.

 

Realm is a mobile database that runs directly inside phones, tablets or wearables. This project hosts the JavaScript versions of Realm. Currently we only support React Native (both iOS & Android) and Node.js (on MacOS and Linux) but we are considering adding support for Cordova/PhoneGap/Ionic as well.

 

 

[Android] Realm이란? - SQLite보다 좋다던데...😕

안녕하세요.이번 포스팅은 모바일에서 많이 사용하는 로컬DB의 하나인 Realm에 대하여 알아보겠습니다.Realm(렘)이란 오픈소스 데이터베이스 관리시스템(DBMS)으로 특히, 모바일 환경을 주요 타깃으

velog.io

다루는 곳은 udemy나 youtube 등 여러 곳에 많으니 각자 찾아봐서 공부를 시작하면 되겠다.

 

egghead.io/lessons/node-js-use-realm-object-database-with-node-js

www.udemy.com/topic/realm/?persist_locale&locale=ko_KR

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체