요즘에 실무에서 많이 쓰는 DB와 서버는 무엇인가요?
제가 안드로이드 스튜디오에서 코틀린으로 앱 개발 공부중인데 혼자서 쓸 수 있는 간단한 앱을 만들고나서 서버랑 DB를 연동시키는것도 해보려고 하는데 갑자기 궁금증이 생겨서 질문드립니다!
1. SQLite가 주로 많이 쓰이나요?
1-2. SQLite가 안쓰인다면 앱개발중 사용하는 DB중 어떤게 주로 쓰이나요?
3. 서버는 제가 잘 몰라서 그러는데 어떤게 많이 쓰이나요?
1. SQLite가 주로 많이 쓰이나요?
- 앱개발에서는 SQLite를 사용하지만 서버에서는 SQLite를 사용할 이유가 없습니다.
3. 서버는 제가 잘 몰라서 그러는데 어떤게 많이 쓰이나요?
- Mariadb(MySql), Oracle, MSSQL 등이 많이 사용이 되는 것으로 알고 있습니다.
DB, 즉 데이터베이스 시스템의 범용적인 목적은 데이터를 저장하고 빠르게 데이터를 검색하는 것입니다.
하지만 데이터베이스 관리 시스템의 용도는 다양합니다. 일시적인 핫(hot) 데이터를 주로 저장하는 데 쓰일 수도 있고 장기 보관용 콜드(cold) 데이터 스토리지로 쓰일 수도 있습니다. 복잡한 쿼리 분석을 위해서 쓸 수도 있고 모바일 장치나 단일 시스템을 위한 파일 DB를 사용할 수도 있습니다.
Q1. SQLite가 주로 많이 쓰이나요?
A1. SQLite의 경우 광범위하고 다양한 소프트웨어에서 사용되고 있습니다. Apple의 운영체제 macOS 및 iOS는 SQLite를 기반으로 만들어진 경우가 많습니다. 또한 안드로이드 등의 모바일 플랫폼도 마찬가지로 연락처 데이터베이스나 메모 및 그외의 많은 애플리케이션이 SQLite에 의존을 하고 있습니다.
Q1-2. SQLite가 안쓰인다면 앱개발중 사용하는 DB중 어떤게 주로 쓰이나요?
A1-2. (모바일) 앱은 standalone (홀로 동작하는)시스템에서 운영되는 것을 지향하고 있기 때문에 SQLite가 쓰인다고 볼 수 있습니다. 만약 클라이언트/서버 형태의 연결을 지원하는 DBMS를 생각하고 있다면 직접 연결이 되기 보다는 API를 통해 간접적인 접근을 하는 경우가 더 보편적이 되겠습니다.
Q3. 서버는 제가 잘 몰라서 그러는데 어떤게 많이 쓰이나요?
A3. 서버라는 것이 애플리케이션 서버를 의미하는지, DBMS 서버를 의미하는지 질문에서는 판단하기 어렵습니다.
다만 질문 문맥상 후자를 지칭하는 것으로 본다면Oracle, MySQL, PostgreSQL, Microsoft SQL Server 등이 주로 많이 쓰는 관계형데이터 베이스가 될 것입니다.
최근에는 빅데이터 등의 트렌드가 되면서 NoSQL 쪽도 다양하게 실무에서 쓰이고 있습니다.