공부 150

😁데브옵스, 베스천서버, 쿠버네티스 - (1/3)

😁데브옵스, 베스천서버, 쿠버네티스 - 1 😭틀린부분은 지적 부탁드려요 - ▶데브옵스, 베스천서버, 쿠버네티스 (1/2) : 데브옵스,쿠버네티스에 대해서 - 데브옵스, 베스천서버, 쿠버네티스 (2/3) : 베스천서버, 쿠버네티스 파드 모니터링 방법에 대해서 - 데브옵스, 베스천서버, 쿠버네티스 (3/3) : 우리회사의 서버 (베스천서버, 쿠버네티스 등) 아키텍처 - 3번은 회사 내부 공유용으로 본 블로그에서는 포스팅하지 않을 예정 😁 데브옵스(DevOps) ? 개발(Development)과 운영(Operations)의 합성어로 목적이 다른 두 업무를 하나로 모아 서비스를 보다 안정적으로 고객에게 제공하기 위한 문화이자 방법론 각 단계별 목적 개발 :신속한 개발과 새로운 기능 제공,개발에 집중 문제점 : ..

공부/서버 2023.09.13

데이터 인프라 (1/2) (OLAP,OLTP,DW,DL,ETL,ODS)

😄데이터 인프라 -1 😭틀린부분은 지적 부탁드려요 - ▶데이터 인프라 (1/2) : 전체적인 맥락 (OLAP와 OLTP, 데이터웨어하우스(DW),ETL,ODS 등등) - 데이터 인프라 (2/2) : 우리회사의 데이터 인프라 (회사관련내용이라 포스팅하진 않으나 나중에 참고용으로 남겨둡니다) 큰 시스템에서 데이터가 흐르는 조직이 되려면, 다양한 데이터를 분석하려면 데이터 인프라가 잘 구축되어있어야한다. 데이터 인프라를 구축하려면 DB만 있으면 되는게 아니고 다양한 기술과 여러가지 솔루션, 오픈소스, saas등이 엮여서 구축되는거다. 정말 다양하고 복잡한데, 아래 도표에 대해서 이해하는거를 목표로 공부 했다. 아래 내용을 이해함에 있어 위 도표(Unified Data Infrastructure (2.0)를 계..

공부/DB 2023.09.09

오라클 DB튜닝_소프트파싱,하드파싱_2

오라클 DB튜닝_소프트파싱,하드파싱 요새 회사에서 운영중인 서비스가 이런 저런 문제들로 조용할일이 없는데, 휴가를 다녀오고 보니 DB 성능문제로 시끄러웠다. 해결은 한 듯 해서 해결한 방법중에 한가지에 대해 정리하려고 한다 janggiraffe.tistory.com 회사에서 문제가 되는 쿼리 개선을 위해 2가지 처리를 했는데 한가지는 앞서 포스팅한 리터럴 변수를 바인딩 변수로 변경했다. 이를 통해 쉐어드풀 내에 하드파싱되던 부분이 소프트 파싱되도록 변경됐다. 두번째로 적용한 내용은 쿼리 내에 주석을 넣고, 그 안에 바인딩 변수로 랜덤 상수를 넣는것이다. (범위는 1~5정도) 이렇게 되면 오라클은 1,2,3,4,5가 들어간 쿼리를 각각 다른 SQL문이라고 판단하여 총 5개의 캐시를 적재한다. 이것이 어떤 ..

공부/DB 2023.05.04

오라클 DB튜닝_소프트파싱,하드파싱

요새 회사에서 운영중인 서비스가 이런 저런 문제들로 조용할일이 없는데, 휴가를 다녀오고 보니 DB 성능문제로 시끄러웠다. 해결은 한 듯 해서 해결한 방법중에 한가지에 대해 정리하려고 한다. 공부 하면 할수록 성능이 개선되는걸 보자니 좀 재미있는것 같기도 하다. ⭐공부 용어 정리 Shared Pool Oracle의 주요 특징 중 하나로 SGA(system global area .. buffer cache,shared pool 등등 이 있음) 내에 shared Pool을 도입함. 소프트,하드파싱된 SQL문 캐시를 저장하는 곳인듯 쉐어드 풀을 Flush시키는 경우 적재된 딕셔너리 캐시가 삭제되었기 무조건 캐시를 적재할듯 Literal SQL 리터럴 SQL이란 SQL 문장 작성 시 where절의 비교되는 값에 ..

공부/DB 2023.05.02

트러블 슈팅을 위한 JVM 공부 (1일차)

오늘 알게된 사실 1. java에서 (jvm의) native method를 이용해 특정 운영체제의 서비스를 확인할 수 있다.(java에서 c의 라이브러리를 호출하고 사용하는것이 가능함!) 2. java의 큰 변화는 2014년 오라클의 java인수와 java8(모던 자바) 출시 > 2018년 java11 출시 및 올해들어서 java11 기반의 프로젝트의 활성화 ! (java8 관련해서는 월말에 공부할 계획이라 java11은 좀 더 나중에 꼭 공부해보자!) 3. java8부터 jvm이 os로부터 메모리를 할당받아 쓰기보다는 os의 메모리를 사용하게 됐다(?이말이 맞나) - 아래 Heap 내용 참고 4. GC의 동작방식에 대해 알게되었고, CPU 사용량이 왜 늘어나는지를 이해했다. (아래 GC의 동작방식 참고..

공부/JAVA 2022.11.07

아파치 카프카(apache kafka) 스터디 - 3

오늘 공부한 내용 1. 토픽에 데이터를 넣는 방법 2. 토픽에 있는 데이터를 가져가는 방법 및 컨슈머 그룹짓는법 3. 컨슈머그룹의 상세조회를 통한 모니터링(?)방법 4. 토픽에 있는 데이터를 지우는 방법 0. 왜인지 카프카가 꺼져있어서 EC2서버에서 재실행 해준 뒤 로컬에 설치된 ubuntu에서 토픽 리스트를 조회해보기 1. kafka-console-producer.sh를 통해 토픽에 데이터 넣기 kafka-console-producer.sh를 통해 전송되는 레코드 값은 String 타입으로만 전송 가능(메세지가 byte로 변환되고 byteArraySerializer로만 직렬화된다고함.) 메시지 키를 가지는 레코드를 추가하기 위해서는 --property "parse.key=true"를 , 키의 구분자를 ..

공부/메세지 2022.10.24

아파치 카프카(apache kafka) 스터디 - 2

오늘 공부한 내용 카프카 커맨드 라인 툴 - 커맨드 라인 툴을 통해 카프카 브로커 운영에 필요한 다양한 명령을 내릴 수 있따. 토픽 - 토픽이란 카프카에서 데이터를 구분하는 가장 기본적인 개념. 토픽에는 파티션이 존재하는데, 파티션을 통해 데이터를 처리하는듯 (파티션 갯수는 최소 1개 이상) 토픽생성 kafka-topics.sh를 통해 토픽 관련 명령을 실행할 수 있음. 실습내용 EC2 주키퍼 실행 [ec2-user@ip-172-31-7-55 kafka_2.12-2.5.0]$ sh bin/zookeeper-server-start.sh -daemon config/zookeeper.properties 카프카 서버 실행 [ec2-user@ip-172-31-7-55 kafka_2.12-2.5.0]$ sh bin..

공부/메세지 2022.10.18

아파치 카프카(apache kafka) 스터디 - 1

오늘 공부한 내용 1. AWS EC2를 생성 후 카프카 브로커를 설치 및 실행 완료(주키퍼 실행 -> 카프카 브로커 실행) 2. 윈도우 로컬환경에서 우분투를 설치해 EC2에 있는 카프카 서비스가 정상 작동하는지 확인했다. 오늘 새롭게 알게된 내용 1.주키퍼란 ? 1) 분산 코디네이션 개발자가 비즈니스로직에 집중할 수 있게 분산처리를 해주는 오픈소스 프로젝트로 주키퍼가 설치된 여러 서버들의 동기화를 해주는 것을 말하는듯 2) 카프카의 클러스터 설정 리더 정보, 컨트롤러 정보를 담고 있어 카프카를 실행하는 데 필요한 필수 애플리케이션이라고 한다. 이 의미는 차차 카프카를 공부하다 보면 좀더 이해가 되지 않을까 싶다. 2. 윈도우 10버전부터 우분투를 설치하고 파워쉘을 통해 쉽게 우분투에 접근할 수 있다. (..

공부/메세지 2022.10.12

스프링 프레임워크 자원관리(BEAN)

Spring Freamwork에서 해당 인스턴스를 싱글턴으로 관리하게 하려면 Bean 설정을 해줘야한다. 주입해주는 방법은 1. xml의 설정파일을 만들어서 관리하거나 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); ... 2. @Configuration를 선언한 클래스에 @Bean을 이용할 수 있다. ApplicationContext context = new AnnotationConfigApplicationContext("com.example.spring02"); @Bean public Book book1(){ return new Book(); } 3.@Component를 이용하면 된다. ..

공부/Spring 2022.10.12

잡 스케줄러 크론탭 시간, 조회, 수정

크론(cron) 크론(cron)은 유닉스 운영체제의 시간 기반 잡 스케줄러이다. (없으면 설치해야한다!) 이는 각 실행 리스트를 지정해 놓은 크론탭(crontab=cron table)에 의해 구동된다. 각각의 사용자는 개인별로 crontab을 갖는다. (출처,위키백과) 크론탭 명령어 크론탭 조회 : crontab -l 크론탭 수정 : crontab -e (vi 에디터와 동일하게 수정하면 된다.) 크론탭 문법 크론탭에는 다음과 같이 작성한다. 별표기 되어있는 곳은 시간을 의미하는데, 앞에서부터 분(0~59), 시(0~23), 일(1~31), 달(1~12), 요일(0~6,일요일부터 시작) 명령어는 실행할 명령어를 입력하면 된다. ex) /파일경로/스크립트명 매개변수 * * * * * command to ex..

공부/서버 2022.09.28