일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 4-way-handshake
- intelij
- Kotlin
- 날짜쿼리
- AutoCloseable
- feign
- tcp
- jvm
- springboot
- wagon-ssh
- optional
- closeable
- circuitbreaker
- Runtime data area
- GC
- 코딩테스트
- try-with-resources
- n+1
- 람다표현식
- Hotspot VM
- Class Loader
- zipWith
- try-catch
- execution engine
- try-catch-finally
- jetbrain
- 동작방식
- webflux
- resilience4j
- java
- Today
- Total
목록DataBase (9)
JuBin's personal study blog
Isolation(고립성, 격리성)은 데이터베이스 트랜잭션에서 중요한 속성 중 하나로, 동시에 발생하는 여러 트랜잭션이 서로 간섭하지 않도록 보장하는 원칙입니다. 이것은 동시에 수행되는 여러 트랜잭션에도 불구하고 각 트랜잭션을 마치 독립적으로, 나아가 순차적으로 실행되는 것처럼 보이게 만듭니다. 고립성의 단계는 DBMS에서 설정할 수 있으며, 일반적으로 다음 네가지로 분류됩니다. 사용하는 DB마다 제공하는 Isolation Level는 다 다릅니다. 용어 정리 표준 Dirty Read : 아직 커밋되지 않은 변경 사항을 확인할 수 있습니다.(두 트랜잭션 중 하나의 트랜잭션이 롤백을 하던 안하던 발생) Non-repeatable read : 하나의 트랜잭션에서 read를 두번 수행하였는데 첫번째는 10이..
ACID는 데이터베이스 트랜잭션의 특성을 설명하는 데 사용되는 용어입니다. ACID는 Atomicity(원자성), Consistency(일관성), Isolation(고립성), Durability(지속성)의 첫 글자를 따온 약어입니다. ACID 원칙은 데이터의 정확성과 무결성을 보장합니다. Atomicity(원자성) 이 원칙은 트랜잭션이 데이터베이스에 모두 적용되거나, 전혀 적용되지 않아야 함을 의미합니다.(All or Nothingg) 즉, 트랜잭션의 모든 작업이 성공적으로 완료되거나, 아니면 어떠한 변화도 없어야 합니다. 예를 들면, 하나의 은행 계좌에서 다른 계좌로 돈을 이체하는 경우, 송금과 입금이 동시에 성공하거나 실패해야 합니다. 두 연산 중 하나만 성공하는 경우는 없어야 합니다. Consist..
데이터베이스 파티셔닝과 샤딩은 모두 대용량 데이터를 효과적으로 관리하고 검색하기 위한 데이터베이스 아키텍처 전략입니다. 이 두 기법은 비슷해 보일 수 있지만, 개념적으로 약간 다른 점이 있습니다. 데이터베이스 파티셔닝 데이터베이스 파티셔닝은 단일 데이터베이스 내에서 데이터를 여러 파티션으로 분할하는 프로세스입니다. 이 파티션은 각기 다른 테이블, 인덱스, 혹은 같은 테이블 내의 서로 다른 부분이 될 수 있습니다. 파티션의 주요 목적은 성능 향상, 관리 용이성 및 데이터의 가용성을 높이는 것입니다. 파티셔닝은 주로 큰 테이블을 관리 가능한 부분으로 나누는 데 사용되며, 파티션은 일반적으로 데이터의 특정 키값(예: 날짜, 지역 등)에 따라 생성됩니다. 예를 들어, 매일 생성되는 대량의 로그 데이터가 있는 경..
findAndModify와 update 연산자는 모두 MongoDB에서 도큐먼트를 수정하는 데 사용됩니다. 두 연산자는 목적과 사용법이 약간 다릅니다. findAndModify 쿼리 조건에 따라 단일 문서를 수정하고 반환합니다. 이 연산자는 주어진 쿼리 조건에 따라 일치하는 도큐먼트를를 검색하고, 해당 도큐먼트를 수정한 후에 수정된 도큐먼트를 반환합니다. 이 연산자는 일반적으로 단일 도큐먼트를 업데이트할 때 사용됩니다. 또한 update 된 도큐먼트를 반환합니다. 또한 DB Lock 관점에서 볼때 write 락을 사용하여 검색된 도큐먼트를 수정합니다. 이때, write 락은 해당 도큐먼트를 수정할 수 있는 권한을 가진 단일 스레드에게만 부여됩니다. 따라서, findAndModify 연산자는 도큐먼트 단위..
# database drop시 ERROR: database "pilot" is being accessed by other users DETAIL: There is 1 other session using the database. REVOKE CONNECT ON DATABASE pilot FROM public; >> pilot 접근 제한 걸어놓고 >> sudo systemctl restart postgresql 뽀그리 재시작
# postgres(super user) 계정으로 접속 - sudo su postgres로 계정 바꾼후 - psql # 다른계정으로 접속 - psql -h localhost -U 계정명 -d 데이터베이스명 # 현재 connection 정보 - \conninfo # 데이터베이스 리스트 조회 - \l # 사용자 및 권한조회 - \du # postgreSQL 재시작 -- sudo systemctl restart postgresql(출력화면 안나옴) -- sudo service postgresql restart(출력화면 안나옴) -- sudo /etc/init.d/postgresql restart(출력화면 상태표시 나옴) 뭔차이지? > 똑같다 # Drop Database 안될때 1. REVOKE CONNECT ..
PostgreSQL 백업 방법에는 3가지가 있다. 1. SQL dump 2. 파일 시스템 레벨 백업 3. 연속 아카이빙 이중 SQL dump > pg_dump, pg_dumpall 백업 방법중 pg_dumpall 명령어를 통해 백업하는 방법을 알아본다. # pg_dump 명령어는 지정한 하나의 데이터베이스만 한 번에 백업한다. 또한 데이터베이스 객체에 속하지 않는 role(데이터베이스 사용자), 테이블스페이스 정보는 백업되지 않는다. 데이터베이스 클러스터 기준 모든 정보를 백업받으려면 pg_dumpall을 이용한다. pg_dump 백업 하나의 데이터베이스만 백업 가능 데이터 압축, 분할, 커스텀 백업 설정 가능 role 또는 tablespace 백업 안됨 pg_dumpall 백업 데이터베이스 전체 내용 ..
# PostgreSQL Log에 대한 기본 설정은 대부분 postgresql.conf > ERROR REPORTING AND LOGGING section에서 이루어진다. * postgresql.conf 파일의 경로는 ubuntu, postgreSQL10버전 같은 경우 /etc/postgresql/10/main 밑에 있다. # Log는 'Where to Log', 'When to Log', 'What to Log' 파트로 나누어진다. ## Where to Log # where to log에서 제일 중요한 설정 값은 log_destination 이다. 아래는 log_destination 값과 그에 값에 연관된 paramenter 값을 표로 정리해 놓았다. log_destination 'stderr' 'csv..

select to_char(a.s_date, 'yyyy-mm-dd') monday , to_char(a.s_date+1, 'yyyy-mm-dd') tuesday , to_char(a.s_date+2, 'yyyy-mm-dd') wednesday , to_char(a.s_date+3, 'yyyy-mm-dd') thursday , to_char(a.s_date+4, 'yyyy-mm-dd') friday , to_char(a.s_date+5, 'yyyy-mm-dd') saturday , to_char(a.s_date+6, 'yyyy-mm-dd') sunday from ( select sysdate - (to_number(to_char(sysdate,'d'))-2) s_date from dual ) a >> 쿼리결과