본문으로 건너뛰기

데이터베이스 연동

기업용 비즈니스 앱에서 관계형 데이터베이스를 사용하는 주요 이유는 다음과 같습니다

  • 성능: 이들 데이터베이스는 고성능을 제공하며, 대량의 데이터를 효율적으로 처리할 수 있습니다.
  • 확장성: 이들 데이터베이스는 대규모 데이터와 사용자를 지원하기 위해 설계되었습니다.
  • 보안: 이들 데이터베이스는 강력한 보안 기능을 제공하여 기업 데이터를 보호합니다.
  • 다양한 기능: 이들 데이터베이스는 트랜잭션 처리, 백업 및 복구, 복제, 클러스터링 등 다양한 기능을 제공합니다.
  • 호환성: 이들 데이터베이스는 다양한 프로그래밍 언어와 운영 체제와 호환됩니다.
  • 커뮤니티 지원: 이들 데이터베이스는 각각 강력한 개발자 커뮤니티를 가지고 있으며, 이를 통해 문제 해결, 새로운 기능 개발 등의 지원을 받을 수 있습니다.

이들 데이터베이스는 국내 뿐만아니라 전세계에서 가장 많이 사용하는 데이터베이스입니다. 기업용 비즈니스 앱에서 데이터를 효율적으로 관리하고 활용할 수 있게 해주는 관계형 데이터베이스는 그 자체의 장단점과 유지 비용을 가지고 있으므로, 애플리케이션의 요구 사항에 따라 적절한 데이터베이스를 선택하더라도 비즈니스 앱 개발 및 운영 경험을 그대로 유지 할 수 있어야 합니다.

SQL Server, Oracle, MySQL & MariaDB, PostgreSQL, SQLite 데이터베이스는 각각 다음과 같은 특징을 가지고 있습니다.

SQL Server:

  • SQL Server는 Microsoft에서 개발한 RDBMS로, 엔터프라이즈급 데이터베이스 관리 시스템입니다.
  • 고성능, 높은 가용성, 강력한 보안 기능을 제공합니다.
  • 개발자를 위한 다양한 기능을 제공하며, JSON 지원, 그래프 및 공간 데이터 유형, UTF-8 지원 등의 기능이 있습니다.

Oracle:

  • Oracle은 대형 엔터프라이즈 환경에 적합한 강력한 RDBMS입니다.
  • 고성능, 확장성, 안정성, 다양한 플랫폼 지원 등의 특징을 가지고 있습니다.
  • PL/SQL 언어를 통해 복잡한 비즈니스 로직을 데이터베이스 내에서 처리할 수 있습니다.

MySQL & MariaDB:

  • MySQL은 가장 널리 사용되는 오픈소스 RDBMS 중 하나로, 웹 기반 애플리케이션에 주로 사용됩니다.
  • MariaDB는 MySQL의 포크로, MySQL과 거의 동일한 기능을 제공하면서 몇 가지 추가 기능을 가지고 있습니다.
  • 두 데이터베이스 모두 JSON, 공통 테이블 표현식, 윈도우 함수 등의 현대적인 SQL 기능을 지원합니다.

PostgreSQL:

  • PostgreSQL은 객체-관계형 데이터베이스로, 많은 고급 기능을 제공합니다.
  • 사용자 정의 함수, 다양한 데이터 타입, 풀 텍스트 검색, 공간 데이터 지원 등의 기능을 제공합니다.
  • SQL과 NoSQL의 기능을 모두 지원하며, JSON, 공통 테이블 표현식, 윈도우 함수 등의 현대적인 SQL 기능을 지원합니다.

SQLite:

  • SQLite는 서버가 필요 없는 임베디드 SQL 데이터베이스입니다.
  • 전체 데이터베이스를 단일 디스크 파일에 저장합니다.
  • 테라바이트 크기의 데이터베이스와 기가바이트 크기의 문자열 및 BLOB를 지원합니다.
  • 코드 크기가 작고 API 사용이 간단합니다. 이러한 특성으로 인해, SQLite는 애플리케이션 파일 형식으로 사용하기에 적합합니다.

데이터베이스 연동 장점

dbclient 모듈의 데이터베이스 연동 기능은 SQL 개발 도구에서 사용하는 SQL 문법을 그대로 사용할 수 있도록 설계되었습니다. 이를 통해 다음과 같은 장점을 가집니다.

  • 클라이언트 요청에 전달되는 값은 DML(데이터 조작 언어) 문의 SQL 값 치환과 매개 변수로 매핑 둘다 가능합니다.
  • ADO.NET SQL 클라이언트 라이브러리의 일반 공용 DbConnection 개체에 대한 확장 메서드를 통해 이 기능을 제공합니다.
  • 각각의 데이터베이스에서 사용 가능한 네이티브 데이터 타입이 사용 가능합니다.
  • ConnectionString 방식의 데이터베이스 연결을 지원하며 클라우드 기반 데이터베이스 서비스를 지원합니다.