반응형

데이터

    오라클 SGA 캐시 탐색 메커니즘 정리

    Direct Path I/O를 제외한 모든 블록 I/O는 메모리 버퍼캐시를 경유한다. 버퍼캐시의 구조는 해시 구조로 관리된다. 해시 함수를 통해서 나온 결과를 사용하여 해시체인(Bucket)을 찾고 그 해시체인에 연결되어 있는 버퍼 정보를 사용하여 버퍼 캐시 정보를 찾아 갈 수 있다. 만약 해시체인을 찾아주는 해시 알고리즘이 mod(x, 5)라고 할 때, 25번째 블록을 찾고 싶은 경우 해시함수를 사용해서 5로 나누고 나온 나머지 0이 해시체인 0번째를 의미한다. 그 해시체인에는 버퍼 헤더들이 들어있다. 25라는 버퍼헤더를 찾고 그 버퍼헤더가 가리키고 있는 버퍼 블록을 접근하여 데이터를 탐색하면 된다. 만약 27번째 블록을 읽으려고 해시함수를 거쳐서 2번째 해시체인에 갔으나, 버퍼 헤더 27이 없다면??..

    Java8 스트림을 이용한 데이터 추출

    스트림에 있는 데이터를 List, String, Set등 다양한 형태로 변경하여 추출 할 수 있다. toArray Stream.toArray는 Object[]를 리턴한다. 올바른 타입의 배열을 원하는 경우 다음과 같이 배열 생성자를 전달한다. String[] result = words.toArray(String[]::new); Collect 메소드 - Collect : 종료 작업으로 인자로 받은 형태의 데이터 타입으로 결과물을 생성한다. - Collect는 병렬화를 지원한다. 또한 공급자, 누산자, 결합자를 기본적인 파라미터로 받으며 이는 Collectors라는 클래스를 통해 간편하게 정의하여 사용할 수 있다. 1) List, set, String 1234567Stream data = Stream.of(..

    스프링 CacheManager Ehcache

    스프링에는 데이터를 캐시로 보관할 수 있는 캐시 기능을 제공한다. 그 중 대표적으로 사용되는 Ehcache(ehcache-spring-annotation)에 대해 알아보자. 이를 사용하는 가장 대표적인 이유는 다음과 같다. 1. 꾸준하게 동일한 데이터 2. 조회하여 데이터를 가지고 오는데 비용이 많이 소모되는 경우 [설정방법] pom.xml 123456net.sf.ehcacheehcache2.10.4Colored by Color Scriptercs applicationContext.xml 수정 applicationContext-cache.xml 추가 1234567891011121314151617181920212223 Colored by Color Scriptercs Ehcache 설정 파일 생성12345..

    애플리케이션 확장 방법 스케일 큐브 (Scale Cube)

    A애플리케이션을 확장하는 데 필요한 세 가지의 주요 접근방식이 있다. 크게 x, y, z 축으로 구분하여 설명한다. 먼저 x축 방향의 확장은 애플리케이션을 복제해서 수평적으로 확장하는 것을 의미y축 방향의 확장은 서로 다른 기능을 분리하는 것을 의미z축 방향의 확장은 데이터 파티셔닝(Partitioning) 또는 샤딩(Sharding)을 의미 y축 방향의 확장이 일체형 애플리케이션에서 마이크로서비스를 적용하여 분리하는 것을 의미한다.예를 들면, 항공사 예약에서 검색 500건당 예약 1건이 발생한다고 한다. 그럴경우 하나의 일체형 애플리케이션으로 만들경우 성능을 좋게 하기 보다는 두 개의 서비스를 분리하여 검색 서비스에 물리적은 리소스를 더 부여하고 예약에 상대적으로 낮게 부여 함으로써 효과적으로 애플리케..

반응형