전체 글65 몇 가지 기억.. SI보다는 SM이나 에이전시에서 이슈 처리 포함해서 이런저런 경험을 했다(기억나는대로 추가 예정..). 당시 파악을 제대로 못한 게 있어 정확치 못한 부분이 있을 수 있지만, 그것대로 그냥 적어본다. 트래픽 과부하로 인해 앱 다운 이슈은행권 알림 앱이었고, 매달 특정 일자에 트래픽이 몰리면서 앱이 뻗는 이슈[A]가 발생했다. 문제는 앱의 특정 로직이 DB 커넥션을 너무 많이 물고 있는 거였는데, 해당 로직은 실시간 처리가 필요치 않은 부분이었다. 따라서 해당 로직을 파일 쓰기로 변경하고, 트래픽이 없는 새벽 시간대에 배치를 돌려 한 번에 DB에 삽입해주는 식으로 처리했다.이때 Spring Batch를 이용할지, Spring JDBC를 이용할지 고려해야 했는데 기존에 후자로 작성된 부분이 있어서 일관성을 .. 2024. 11. 15. 조회 성능 조회 쿼리 작성 시 SI 초반에는 정확한 데이터를 갖고 오는 게 중요하겠지만, 실데이터가 어느 정도 들어오는 단계에서는 조회 성능이 중요했던 거 같다. 실제로 잘 동작하던 화면이 어느 날 동작을 안 해서 확인해보면 조회 쿼리 성능이 안 나오는 경우가 많았다[1][2]. 가장 최근 경험으로는 통계 화면 관련해서 쿼리 속도가 안 나왔던 적이 있다. 정확한 내용이 기억이 안 나긴 하는데... 처음 작성했던 쿼리가 무척 길었다. 최대한 단순화 시켰고, 다행히 여기서 속도가 좀 돌아왔던 거 같다. 하지만 여기서 속도가 안 나온다면 실행 계획을 확인해보고, 인덱스 생성을 고려해봐야 한다. 인덱스, 힌트 같은 건 BI 프로젝트에서 Oracle을 사용할 때 주로 경험(많이 듣기만...)했었는데 최근 PostgreSQL.. 2024. 11. 5. Database 경험 많지 않은 IT 경력이지만, 이것저것 몇 가지 관계형 DB(정확히 말하면 DBMS..)를 다뤄보았다. 사실 기껏해봐야 CRUD를 주로 한 거라 구글 검색, 조금 복잡한 건 CHAT GPT로 작성해서 사용했으나 뒤늦게 공부도 할 겸 모르면 모르는대로 조금 남겨본다. 사실 몇 군데 면접을 가면 요즘 때로 DB 차이를 묻기도 해서... Oracle맨 첫 직장에서 주로 사용했었고, 대기업에서 주로 사용한다고 한다(최근 대기업에서는 사용하진 않긴 했는데..).하나의 인스턴스 내 여러 데이터베이스가 아닌 전체 데이터베이스가 존재한다(따라서 쿼리 작성 전에 USE 명령어 사용할 필요 없다). 다만 타 DB와 다르게 User(물리적 컨테이너)와 Schema 개념이 있는데[1][2], 사용자는 스키마를 기준으로 작업을 .. 2024. 11. 5. 독서 2024년 하반기에 읽은(훑은? 읽어가는?) IT 도서 목록이다. 스프링 배치 완벽 가이드 2/e프리 처음할 때 동료분이 쿼츠로 배치 작업(스프링 배치인지는..)을 하는 것을 본 적이 있다. 이후 다른 곳에서 배치 작업을 다룰 일이 있었는데, 선택지가 두 개였다. Spring JDBC를 통한 배치 처리 혹은 Spring Batch를 사용할 것인지. 해당 프로젝트는 이미 Spring JDBC를 통해 배치 작업을 하는 코드가 있었고, Spring Batch는 다른 프로젝트의 소스를 보고 직접 처음부터 작성해야 하는 상황이어서 Spring JDBC를 통한 배치 처리를 했었다. 이때 일은 잘 마무리 되었지만, Spring Batch를 통한 소스 분석이 완벽하지 않은 상태에서 작업 방향을 선택했던 기억이 나서 스.. 2024. 11. 5. 이전 1 2 3 4 ··· 17 다음