IT/데이터베이스 4

[Java/Hibernate] PK 전략방식 그리고 안됐던 내용 정리

안녕하세요. spring + H2 DB를 가볍게 사용하여 회사 내부에 사이드 프로젝트를 진행하고 있습니다. 기능을 만들고 이제 데이터를 넣어보자! 하는 상황에서 발생한 문제점입니다. 현재 H2 DB 2.1.214 버전을 사용하고 있는데 PK 전략이 정상적으로 동작하지 않는 것 같았으나 알고보니 단순히 제가 다른 구성컬럼에 유니크 속성을 걸어둔 문제였습니다.. 이 기회에 작성해두는 PK 전략방식! # IDENTITY 전략 @Id @GerneratedValue(strategy = GenerationType.IDENTITY) private Long Id; IDENTITY 전략은 기본 키 생성을 데이터베이스에 위임하는 전략입니다. 이 전략은 주로 MySQL, PostgreSQL, SQL Server 에서 사용합..

[RDS/MySQL] AWS Aurora 를 쓰는데 종종 개발서버 Latency가 길어진다!?

개발 서버를 t2.micro 로 RDS/Aurora(MySQL) 로 생성하고 캐릭터셋만 맞춰서 작업을 진행해왔다. 분명 단일 EC2 인스턴스 3개에서 접근할 때 아무 문제가 없이 동작하던 DB였다. 하지만 그렇게 생성하고 서비스가 2개 정도 늘었다. 그만큼 난 RDS 커넥션을 붙였다. 이때부터가 문제의 시작이었다. 종종 개발서버에서 응답이 오지않아 QA, 클라이언트 개발자들이 '서버 죽었다' 라고 이야기해주어서 서버 로그를 볼때마다 늘 AcquireTimeout 문제라고 Sequelize 에러가 발생했으며, 재기동으로 급한 불 끄기에 급급했다. 그래서 오늘은 제대로 서버를 봐주자!! 라는 마인드로 어떤 부분의 문제인가를 찾다가 알게된 글을 공유하려고 한다. MySQL의 timeout 설정 sleep 세션..

[RDB/MySQL] 이모지를 사용하는 DB Charset 설정

이모지를 사용하는 서비스에서는 일반적인 UTF-8 Charset 으로는 불가능하다. 이유는 이모지가 3Byte 가 아닌 4Byte 이기에 이모지를 어플리케이션을 통해 DB에 저장 시 ??? 로 들어가는 경우를 볼 수 있다, 그렇다면 이 문제를 해결하기 위한 방법은 무엇일까? 4byte의 문자를 저장할 수 있는 DB charset 과 설정법을 알아보자 MySQL 에서 2010년 3월 24일 utf8mb4 라는 Charset 을 추가지원했다. (관련 : https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-3.html ) 자 위에서 설명된 내용 중 현재 우리에게 가장 중요시되는 부분은 4Byte 문자를 지원한다는 것이다. Emoji 가 바로 그 4Byte에 해..

터미널 버전 Redis 설치하기

이전에 회사 노션 페이지에 직접 작성했던 Redis 설치법! 활용해서 많은 AWS EC2 로컬 레디스를 작업했었는데, 이제 블로그를 시작했으니 내 블로그로 옮겨오기를 해봅니다! 아래대로 터미널 열어서 슥--삭 하고 복사 & 붙여넣기 진행하시면 바로 설치되니까 편히 사용하시기를!! (전 매우 편히 이용하고 있습니다~) 기준은 Linux(aws ec2 terminal) 에서 진행했었고, ~ sillicon 은 잘... ~ SSH 접근 후 사용. ( 일반 유저 ) sudo yum -y update sudo yum -y install gcc make #Redis Download cd /tmp wget [http://download.redis.io/releases/redis-4.0.0.tar.gz](http://..

반응형