반응형
Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

세상 모든 잡동사니 집합소 스레TV

[DB] SAP HANA Schema 본문

기술/HANA DB

[DB] SAP HANA Schema

스레TV 2025. 4. 28. 14:33
728x90
반응형

SAP HANA에서 스키마(Schema)란?

SAP HANA는 강력한 인메모리 데이터베이스 관리 시스템으로, 데이터를 저장하고 처리하는 데 다양한 방법을 제공합니다. 그 중 **스키마(Schema)**는 데이터베이스 객체들을 논리적으로 그룹화하고 관리할 수 있는 중요한 구성 요소입니다. SAP HANA에서 스키마는 데이터베이스의 구성 단위로서, 테이블, , 프로시저, 함수 등 다양한 데이터베이스 객체들을 포함하는 컨테이너 역할을 합니다.

스키마의 기본 개념

  • **스키마(Schema)**는 데이터베이스 내의 객체들을 논리적으로 그룹화하는 컨테이너입니다.
  • 테이블, , 인덱스, 프로시저, 사용자 정의 함수(UDF), 시퀀스 등 여러 데이터베이스 객체가 하나의 스키마 안에 속할 수 있습니다.
  • 각 스키마는 특정 소유자(일반적으로 사용자)에게 속하며, 이 소유자는 해당 스키마에 있는 객체들을 관리하고 접근할 수 있는 권한을 가집니다.

스키마의 주요 역할

  1. 논리적 데이터 구조화
    스키마는 관련된 데이터베이스 객체를 논리적으로 그룹화하여, 사용자가 관리하기 쉽게 만듭니다. 예를 들어, 영업 관련 테이블은 하나의 스키마로 묶고, 재무 관련 테이블은 또 다른 스키마로 묶을 수 있습니다. 이를 통해 데이터베이스 구조가 명확하게 구분되며 관리가 용이해집니다.
  2. 보안 관리
    SAP HANA에서 스키마는 보안과 권한 관리를 위해 매우 중요합니다. 스키마별로 접근 권한을 설정할 수 있기 때문에, 특정 사용자는 한 스키마의 객체에만 접근할 수 있고 다른 스키마의 객체에는 접근할 수 없습니다. 이를 통해 민감한 데이터와 일반 데이터를 구분하여 보다 세밀한 보안 설정이 가능합니다.
  3. 성능 최적화
    스키마를 잘 나누어 데이터베이스 객체를 관리하면, 성능 최적화에도 도움이 될 수 있습니다. 예를 들어, 자주 사용되는 데이터와 드물게 사용되는 데이터를 각각 다른 스키마에 배치하여 성능을 높일 수 있습니다.

SAP HANA에서 스키마 사용법

SAP HANA에서 스키마는 SQL 명령어를 통해 생성하고 관리할 수 있습니다. 스키마를 생성하는 기본적인 SQL 구문은 다음과 같습니다:

CREATE SCHEMA <schema_name>;
 

이 명령어는 새 스키마를 생성합니다. 또한, 스키마를 삭제하려면 다음과 같은 명령어를 사용합니다:

 
DROP SCHEMA <schema_name>;

스키마 관련 주요 시스템 뷰

SAP HANA에서는 스키마에 대한 정보를 확인할 수 있는 다양한 시스템 뷰를 제공합니다. 예를 들어, M_SCHEMAS 뷰는 현재 시스템에 존재하는 모든 스키마를 조회하는 데 사용됩니다. 기본적으로 이 뷰는 SYS 스키마에 위치하며, 다음과 같은 쿼리로 시스템 내의 모든 스키마를 확인할 수 있습니다:

 
SELECT SCHEMA_NAME FROM SYS.M_SCHEMAS;

이 쿼리는 현재 SAP HANA 인스턴스 내에 있는 모든 스키마의 이름을 반환합니다.

스키마의 권한 관리

SAP HANA에서 스키마에 대한 권한은 GRANT 명령어를 통해 관리할 수 있습니다. 사용자가 특정 스키마에 접근할 수 있도록 권한을 부여하려면 다음과 같은 명령어를 사용합니다:

 
GRANT SELECT, INSERT, UPDATE ON SCHEMA <schema_name> TO <user>;
 

위 명령어는 특정 사용자에게 해당 스키마에 대해 SELECT, INSERT, UPDATE 권한을 부여합니다. 반대로 권한을 철회하려면 REVOKE 명령어를 사용합니다:


REVOKE SELECT, INSERT, UPDATE ON SCHEMA <schema_name> FROM <user>;

스키마 및 테이블 관계

스키마는 테이블을 포함하는 주요 단위입니다. 각 테이블은 하나의 스키마에 속하며, 테이블 이름 앞에 스키마 이름을 명시하여 테이블을 식별합니다. 예를 들어, SAPHANADB 스키마에 있는 CUSTOMERS 테이블을 조회하려면 다음과 같이 작성합니다:

SELECT * FROM SAPHANADB.CUSTOMERS;

스키마와 사용자의 관계

각 스키마는 하나의 사용자에 의해 생성되며, 그 사용자는 스키마 내의 객체들에 대한 관리 권한을 가집니다. 스키마를 생성할 때 사용자 이름을 지정할 수 있으며, 이 사용자는 해당 스키마 내에서 객체를 추가하거나 수정할 수 있습니다. 또한, 다른 사용자가 해당 스키마에 접근하려면 적절한 권한이 필요합니다.

예시: 스키마와 사용자 권한 관리

  1. 스키마 생성:
  2.  
    CREATE SCHEMA Sales AUTHORIZATION sales_user;
  3. 스키마에 대한 권한 부여:
  4.  
    GRANT SELECT, INSERT ON SCHEMA Sales TO user1;
  5. 스키마에 대한 권한 철회:
  6.  
    REVOKE SELECT, INSERT ON SCHEMA Sales FROM user1;

결론

SAP HANA에서 **스키마(Schema)**는 데이터베이스 객체를 논리적으로 그룹화하고 관리하는 데 중요한 역할을 합니다. 스키마를 적절히 활용하면 데이터베이스 구조를 깔끔하게 유지하고, 보안을 강화하며, 성능 최적화를 도모할 수 있습니다. 또한, 스키마 내의 객체들에 대한 권한을 세밀하게 관리할 수 있어, 다수의 사용자가 동시에 작업하는 환경에서도 데이터의 무결성을 유지할 수 있습니다.

스키마는 SAP HANA의 데이터베이스 설계에서 중요한 요소로, 효율적인 데이터 관리보안 설정을 위해 필수적인 구성 요소입니다.

반응형

'기술 > HANA DB' 카테고리의 다른 글

[DB][HANA] Data aging & NSE  (0) 2025.04.27
Comments