다중 행 스키마로 전환하기

다중 행 스키마 구성은 데이터베이스 용량에 의해서만 경계가 지정되는 무제한의 데이터를 애플리케이션에 저장하는 것을 지원합니다. 애플리케이션은 전체 레코드 대신에 개별 필드를 읽을 수 있으며, 이는 불필요한 Java™ 오브젝트 직렬화를 피하여 성능을 개선하는 데 도움이 됩니다. 다중 행 스키마 구성을 사용하여 세션 오브젝트의 각 속성을 데이터베이스에 자체 행에 저장하도록 세션 관리 기능을 구성하십시오.

이 태스크 정보

남아 있는 유일한 실제 한계는 세션 속성 오브젝트의 크기입니다. 다중 행 스키마에는 잠재적으로 특정 사용 시나리오에서의 성능 장점이 있습니다. 예를 들어, 대량의 데이터가 세션에 저장되지만 HTTP 요청을 처리하는 지정된 서블릿 중에는 소량의 데이터에만 특정적으로 액세스하는 경우입니다. 이러한 시나리오에서는 불필요한 Java 오브젝트 직렬화를 피하는 것이 성능에 유익합니다.

더 큰 세션 레코드를 허용하는 것뿐만 아니라 다중행 스키마를 사용하면 성능 이득을 만들 수 있습니다. 그러나 다음 테이블에 표시된 대로 단일 행에서 다중 행 스키마로 전환하려면 약간의 작업이 필요합니다.

기본적으로 단일 세션은 세션을 보유하는 데 사용되는 데이터베이스 테이블에서 단일 행으로 맵핑됩니다. 이 설정을 사용하면 WebSphere® Application Server가 액세스할 수 있는 사용자 정의된 애플리케이션 특정 데이터의 양에 제한이 있습니다.

어떤 옵션이 애플리케이션의 필요에 가장 적합한지를 확인하는 동안 한 데이터베이스에는 직접 단일 행 사용을 구성하고 또 다른 데이터베이스에는 다중 행 사용을 구성하는 것을 고려하십시오. 사용된 데이터 소스를 전환하여 코드에서 이를 수행한 다음 성능을 모니터하십시오.

표 1. 단일 행 또는 다중 행 스키마 구성 선택. 단일 행 또는 다중 행 스키마 구성
프로그래밍 문제 애플리케이션 시나리오
단일 행 사용 이유
  • 단 하나의 레코드 읽기 쓰기를 통해 모든 값을 읽거나 쓸 수 있습니다.
  • 각 세션이 단 하나의 레코드 길이임이 보장되므로 이는 데이터베이스에서 더 적은 공간을 차지합니다.
단일 행을 사용하지 않는 이유 세션당 저장된 데이터의 2MB 한계.
다중 행 사용 이유
  • 애플리케이션은 무제한의 데이터를 저장할 수 있습니다. 즉, 데이터베이스의 크기와 레코드당 2MB의 한계에 의해서만 제한됩니다.
  • 애플리케이션은 전체 레코드 대신에 개별 필드를 읽을 수 있습니다. 대량의 데이터가 세션에 저장되지만 HTTP 요청의 서블릿 처리 중에 소량의 데이터에만 특정적으로 액세스되는 경우에는 다중 행 세션이 불필요한 Java 오브젝트 직렬화를 피하여 성능을 개선할 수 있습니다.
다중 행을 사용하지 않는 이유 데이터의 크기가 작으면 모든 것을 한 행에 저장할 수 있는 데도 다중 행 읽기라는 추가적인 오버헤드를 원하지 않을 것입니다.

다중 행을 사용하는 경우에는 순환 참조를 방지하기 위해서는 애플리케이션 데이터 오브젝트에 서로에 대한 참조가 없도록 설계하십시오. 예를 들어, 두 개의 오브젝트 A와 B를 HttpSession.put(..) 메소드를 사용하여 세션에 저장하는 중이고, A에 B에 대한 참조가 포함되어 있다고 가정해 보십시오. 다중 행의 경우에는 오브젝트가 데이터베이스의 다른 행에 저장되므로, 오브젝트 A와 B가 나중에 검색될 때 A와 B 사이의 오브젝트 그래프가 저장된 것과 다릅니다. A와 B는 독립된 오브젝트로 작동합니다.

프로시저

  1. 단일에서 다중 행 스키마로 전환하려면 세션 관리 기능 특성을 수정하십시오.
  2. 테이블을 수동으로 삭제하십시오.

    [AIX Solaris HP-UX Linux Windows][IBM i]테이블을 삭제하려면 다음을 수행하십시오.

    1. 세션 관리가 어떤 데이터 소스 구성을 사용 중인지 판별하십시오.
    2. 데이터 소스 구성에서 데이터베이스 이름을 찾아보십시오.
    3. 데이터베이스에 연결하려면 데이터베이스 기능을 사용하십시오.
    4. SESSIONS 테이블을 삭제하십시오.
  3. [z/OS]데이터베이스 테이블을 다시 작성하거나 데이터베이스 테이블에서 제품이 HttpSession 오브젝트를 유지하기 위해 사용하는 모든 행을 삭제하십시오.

    DB2® 데이터베이스 테이블을 삭제하는 방법의 설명은 DB2 UDB for OS/390® 및 z/OS® V7 관리 안내서를 참조하십시오.

    세션 지속성을 위한 DB2 테이블 작성은 새 DB2 데이터베이스 테이블을 작성하는 방법을 설명합니다.


주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprs_swsk
파일 이름:tprs_swsk.html