블로그 번역
-
[23.12.19] JVM: 아키텍처 및 성능 최적화블로그 번역 2023. 12. 19. 10:09
소개글 JVM은 코드와 실행 성능에 중요한 요소이면서 복잡하게 동작한다. JVM을 아는 것은 코드를 구성할 때 성능을 고민하며 작성할 수 있게 도움을 준다. JVM Architecture 1. Class Loader Subsystem 동적 로딩, 링킹, 클래스 초기화를 하는 시스템이다. * 동적 로딩: 클래스 로더는 바이너리 형식으로 데이터를 일고 런타임 영역으로 클래스를 가져오는 역할. * 링킹: 로딩 후 로드 클래스가 정확한지, 클래스의 요소에 대해 메모리 할당 및 고정 값 초기화하는 역할. Class Loader의 종류 * Bootstrap Class Loader: 자바 Core Class 로드(ex> java.lang.Object) * Extension Class Loader: JRE에 있는 클래..
-
[23.12.18] 로컬 데이터 레이크 만들기블로그 번역 2023. 12. 18. 10:09
데이터 레이크는 정형 및 비정형을 변환없이 저장 할 수 있는 저장소이다. 클라우드 회사들은 데이터 레이크 인프라 및 툴을 제공한다. 예를 들면 AWS에서 제공하는 Athena는 S3 Storage + Presto SQL 기반으로 동작한다. 우리는 인프라 및 툴을 직접 구축하는 간단한 실습을 해 볼 예정이다. 실습 3개의 구성 요소 1. Storage Layer: MinIO(S3 대체) S3를 대체할 수 있는 MinIo를 이용하여 스토리지 레이어를 구성한다. 이것은 온프레미스 환경의 데이터레이크를 구축하게 도와준다. 물론 MinIO말고 다른 오픈소스들도 활용 할 수 있다. 2. Mapping File and Directory to Table: Hive Metastore Mariadb를 사용한다. Hive ..