본문 바로가기

분류 전체보기161

Garbage Collector Garbage Collector GC 개념 JVM에서 유효하지 않은 메모리를 정리하는 역할 자바에서는 직접 메모리를 해제할 수 없기 때문에 GC를 사용 JVM HEAP JVM에서 heap 영역에는 초기에 크게 2가지 영역으로 구분 Young 역역 새롭게 형성되는 객체가 할당된다. 주로 자주 사용하고 버려지는 일회성 데이터가 저장되는 곳으로 크기가 작다. 크기가 작은 만큼 GC 실행 시간이 짧다. 이러한 이유로 이곳에서 실행되는 GC를 Minor GC로 표현 young에는 다시 eden, survivor0, survivor1이 존재한다. GC를 실행해서 살아남은 데이터가 다음 영역으로 넘어간다. Old 영역 young 영역에서 GC를 실행하여 살아남은 데이터가 복사되는 곳이다. 데이터가 크거나 오랫동안 살.. 2023. 3. 5.
MongoDB MongoDB 개념 MongoDB 오픈소스 비관계형 데이터베이스 NoSQL 중 document 형태의 DB 특징 Document oriented storage 모든 데이터가 json으로 저장되며 스키마가 없다. 스키마가 없어 다양한 타입의 데이터를 저장 가능 복잡한 구조를 쉽게 저장하고 join을 사용하지 않는다. full index support 인덱싱 기능으로 빠르게 조회 replication & high availability 데이터 복제를 통한 가용성 향상 auto sharing 기본키를 기반으로 여러 서버에 데이터를 나누는 scale out querying key 기반의 다양한 종류의 쿼리 제공 fast in-place update 고성능 atomic operation 지원 map reduce .. 2023. 3. 4.
Elastic Search Elastic Search 개념 Elastic Search Apache Lucene 기반 java 오픈소스 분산 검색 엔진 많은 데이터를 신속하고 실시간으로 저장, 검색, 분석 가능 ELK Logstash CS 파일이나 DB 같은 다양한 소스의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱 하여 Elastic search로 전달 Elastic search Logstash로부터 받은 데이터를 검색 및 집계하여 필요한 정보 획득 Kibana Elastic Search로부터 찾은 데이터를 시각화 및 모니터링 용어 RDB와 비교한 용어 database - index table - type column - field row - document 아키텍쳐 용어 클러스터 Elastic search에서 가장 큰 시스템.. 2023. 3. 3.
Redis & Memcached Redis & Memcached Redis 개념 key-value 형태의 비정형 데이터를 저장하고 관리하는 오픈 소스 데이터베이스 관리 시스템 데이터베이스, 캐시, 메세지, 브로커로 사용되는 인메모리 DB 사용 목적 데이터베이스는 물리 디스크에 데이터를 저장하는 방식이라 속도가 느리다. 이러한 이유로 캐시 서버를 사용 데이터베이스를 여러 번 거치는 것이 아니라 캐시 서버에서 저장된 값을 사용해서 속도 향상 특징 key - value 형식의 구조로 쿼리를 사용하지 않아 속도가 빠르다. 물리 디스크에 저장하는 것이 아니라 메모리에 저장하여 속도가 빠르다. String, Sets, Sorted Sets, Hashes, Lists의 자료구조를 지원 Single threaded로 구동한다. 하나의 명령어가 처리되.. 2023. 3. 2.