반응형 DB6 [postgresql] data 디렉토리 변경 운영 중인 리눅스에서 /의 용량이 점점 부족해지는 것을 확인하게 되었다... 원인은 postgreSQL의 물리저장 위치가 기본적으로 /var/lib/pgsql/13/data이라서 용량이 적은 디스크가 마운트 되어있는 곳에 위치하고 있는 것이었다.이대로 가다간 디스크의 용량이 가득 차 데이터베이스가 고장날것이 눈에 보였다...기존에 사용하던 데이터베이스였기 때문에 데이터를 그대로 옮겨야 했다. 데이터가 쌓이는 물리위치인 data의 위치를 변경하면 해결이 가능할 것으로 보였다.먼저 버전마다 설치 방법마다 data 디렉터리의 위치가 다르다. 이를 확인하기 위해서 psql에 접속한 뒤 해당 명령어를 작성해 주자. (pgsql의 bin 폴더에 있다.)show data_directory;[postgres@DB ~].. 2024. 3. 6. @Converter 사용해서 DB값 변환하기 엔티티의 속성 중에 boolean 타입을 사용하는 속성은 DB에 저장 시에는 DBMS마다 상이한 경우도 있지만 0 혹은 1로 저장되는 경우가 많다. 이는 의미를 불명확하게 하여 보는 사람이 손쉽게 파악하기 어렵다는 단점이 있다. 그리하여 DB에 저장할때는 Y / N으로 변환하여 저장해 주면 파악하기 좋아진다는 장점이 있다. 이 경우 뿐만아니라 DB에서 불러올 때 저장할 때 암호화/복호화하는 경우에도 사용 가능하기도 하다. 저장할 때 직접 변환해서 저장하고, 조회할 때 변환해서 가져오는 로직을 추가하여 사용할 수 있지만 그보다는 엔티티의 속성 자체에 Converter를 넣어주어 자동으로 변환되도록 하면 유지보수는 물론 보기에도 좋은 코드가 된다. 간단하게 말하면 객체의 속성과 DB의 컬럼 데이터를 매핑할 .. 2023. 9. 6. Bean, VO, DTO, Entity 구분하기 개발을 하면서 데이터를 다루기 위해서 여러 종류의 클래스들을 사용하게 되는데 대표적으로 Bean, VO, DTO, Entity 등이 있다. 이것들을 구분하여 언제 사용해야 하는지 알아보는 시간을 가져보았다. Bean Bean은 Java Bean과 Spring Bean으로 나눠지는데 조금 다른 의미가 있어 구분할 필요가 있다고 생각한다. Java Bean 자바로 작성된 소프트웨어 컴포넌트 클래스로 동작하기 위해 따라야할 몇 가지 관례가 있다 클래스는 직렬화되어야 한다.(클래스의 상태를 지속적으로 저장 혹은 복원시키기 위해) 클래스는 기본 생성자를 가지고 있어야 한다. 클래스의 속성들은 get, set 혹은 표준 명명법을 따르는 메서드들을 사용해 접근할 수 있어야 한다. 클래스는 필요한 이벤트 처리 메서드들.. 2023. 7. 26. 트랜잭션 (tansaction) 트랜잭션 (tansaction) 트랜잭션이란? 트랜잭션이란 서비스에서 쪼갤수 없는 쪼갤수없는 로직의 단위이다. 예로 은행업무에서 이체를 할때 두가지 로직을 수행하게 된다. A의 통장에 X만큼의 금액을 감소시킨다. B의 통장에 X만큼의 금액을 증가시킨다. 이 두개의 로직중 한개만 동작해서는 안되고 항상 두개가 동작하거나 두개다 동작하지 않아야 한다. 따라서 이 두개의 로직은 하나의 트랜잭션으로 묶여야 한다. 트랜잭션의 속성 ACID 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 영속성(Durability)이 존재한다. 이 4가지 속성의 앞글자를 따서 ACID라고 부른다. 원자성(Atomicity) 트랜잭션에 속한 각각의 문(데이터를 읽기, 쓰기, 업데이트 또는 삭.. 2023. 6. 11. AWS 알아보기 6 - DynamoDB & Elasticache DynamoDB & Elasticache AWS DynamoDB 완전관리형 NoSQL 데이터베이스 서비스로서 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공 서버리스이므로, 따로 유지비용 없이 사용한 만큼한 지불 보조 인덱스를 통한 빠른 조회를 지원 NoSQL 특성상 관계가 없기 때문에 일반적으로 데이터를 찾기에는 인덱싱이 없으면 속도가 느려지지만 그 부분을 해결해 줍니다. 서버리스(람다) 서버와의 궁합이 매우 잘 맞는다. 람다에는 RDS를 사용하는 것은 기피해야 하고 다이나모 DB를 만들어야 한다. 람다는 서버리스이기 때문에 오토스케일링이 자유롭다. 따라서 DBMS의 connection pool을 넘어갈 수 있기 때문에 위험하다. 혹은 planetscale라는 서버리스 서비스를 사용한다. 파티션키.. 2023. 6. 11. H2 데이터베이스 설치 가볍게 사용하기 좋은 h2 dbms를 설치하는 방법에 대해서 글을 작성해볼까 합니다. h2는 자바로 만들어진 오픈소스 DBMS이다. http://www.h2database.com/html/main.html에 접속하여 다운로드할 수 있다. H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size S.. 2022. 2. 11. 이전 1 다음 반응형