[DB] 데이터베이스 파티셔닝(Partitioning)이란?
·
DB
1. what is Partitioning(파티셔닝)?대용량 데이터를 다루는 데이터베이스에서 성능 최적화와 관리 효율성을 위해 사용하는 대표적인 기법이 있습니다. 바로 파티셔닝(Partitioning)입니다. 하지만 파티셔닝이 항상 좋은 것은 아닙니다. 오늘은 파티셔닝의 개념부터 장점, 단점, 그리고 적용 시 고려해야 할 점까지 자세히 알아보겠습니다. 2. 파티셔닝의 장점✅ 성능 향상   - 특정 파티션만 조회하면 되므로 검색 속도가 빨라집니다. - 불필요한 데이터를 조회할 필요가 없어 쿼리 실행 시간이 줄어듭니다. ✅ 데이터 관리 용이   - 오래된 데이터를 손쉽게 삭제할 수 있습니다. - 특정 파티션만 백업 및 복구할 수 있어 유지보수가 편리합니다. ✅ 부하 분산   - 여러 디스크에 데이터를 분산 ..
[DB] CONCAT 함수: 문자열 합치기(연결)
·
DB
오늘은 여러 문자열을 하나로 합치는 함수에 대해 알아보겠습니다. 1. 방법CONCAT(str1, str2, str3 ...); 2. 예시 select CONCAT('나는', ' 신라면이',' 맛있다')from dual; > 나는 신라면이 맛있다. select CONCAT('나는', ' 짜장라면이',' 맛있다')from dual; > 나는 짜장라면이 맛있다. 3. MyBatis활용MyBatis에서 파라미터를 활용하여 넣을 수 도 있습니다.// param이 신라면일 경우SELECT CONCAT('나는 ',#{param, jdbcType=VARCHAR},'이 맛있다')FROM DUAL; > 나는 신라면이 맛있다 // param이 짜장라면일 경우SELECT CONCAT('나는 ',#{..
[Redis] What is Redis?
·
DB/Redis
1. Redis란? 인메모리 데이터 구조 저장소로, 다양한 데이터 구조를 저장하고 관리할 수 있는 시스템입니다.쉽게 말하자면 데이터를 메모리에 가지고 있어 디스크를 뒤지지 않고 빠르게 답변해주는 유용한 친구이죠. 빠르게 꺼내 쓰기위해  Redis를 사용합니다.  2. Redis 특징1) 인메모리 장소 : Redis는 데이터를 메모리에 저장하여 매우 빠른 읽기 및 쓰기 성능을 제공합니다. 이로 인해 캐싱, 세션 관리, 실시간 분석 등에 적합하죠 2) 다양한 데이터 구조 지원 : Redis는 문자열, 리스트, 세트, 비트맵 등 다양한 데이터 구조를 지원합니다. 3) 영속성: Redis는 데이터를 메모리에 저장하지만, 필요에 따라 디스크에 저장하여 영속성을 유지할 수 있습니다.  4) 분산 및 복제: Redi..
[Oracle] ORA-01017 : invalid username/password; logon denied
·
DB/Oracle
1. 오류명 : ORA-01017 : invalid username/password; logon denied 해당 오류는 사용자 이름 또는 비밀번호가 잘못되었을 때 발생하는 로그인 오류 메세지이다. 2. 해결방법 사용자 이름 또는 비밀번호를 잘못 입력했거나 시스템에서 제공한 사용자 이름 또는 비밀번호가 올바르지 않은 경우에 나타나는 것이니 사용자 이름, 비밀번호가 맞는지 다시 한번 확인해보자.
[DB] 테이블 컬럼 데이터 타입(Type), 타입 길이(length) 조회 (디비버 사용)
·
DB
디비버를 사용해 테이블 컬럼의 데이터 타입, 길이를 조회해보겠습니다. SELECT column_name, data_type, data_length FROM user_tab_columns WHERE table_name = '테이블명' ORDER BY column_id; 감사합니다.
[DB] 테이블 컬럼 COMMENT 추출하기(디비버 사용)
·
DB
DB관련 문서작업을 하는데 컬럼명을 넣어야 하는 경우가 있습니다. 디비버에서 한번에 컬럼의 COMMENT를 조회하는 방법을 말씀드리겠습니다. SELECT column_name, comments FROM user_col_comments WHERE table_name = '테이블명'; 해당 쿼리 WHERE절의 '테이블명' 부분에는 원하는 테이블의 이름을 넣으시면 됩니다. 만약 테이블의 소유자가 다르다면 'user_col_comments' 대신에 해당 소유자의 'all_col_comments'나 모든 사용자의 'dba_col_comments' 테이블을 사용하실 수 있습니다. 감사합니다.
[Oracle] WITH GRANT OPTION(권한 다중 부여)
·
DB/Oracle
오늘은 테이블에 대해 권한을 부여받은 사람이 다른 사람에게 권한을 줄 수 있는 옵션인 WITH GRANT OPTION에 대해 알아보겠습니다. 예시 사용자 A B C 각 사용자가 갖고 있는 테이블 A_TABLE B_TABLE C_TABLE 상황 : 사용자 B가 사용자 A의 A_TABLE에 대한 권한을 가져와 C에게 공유하려 합니다. 쿼리문은 다음과 같습니다. -- A_TABLE에 대한 조회 권한을 B사용자에게만 허용 GRANT SELECT ON A_TABLE TO B -- A_TABLE에 대한 조회 권한을 B사용자 뿐만아닌 다른 사용자에게도 허용 GRANT SELECT ON A_TABLE TO B WITH GRANT OPTION; 여러분 생각해봅시다. B는 A가 소유한 A_TABLE에 대한 조회 권한을 가..
[Oracle] 오라클 권한(GRANT) 확인
·
DB/Oracle
오라클에서 '권한(GRANT)'을 부여하고 잘 들어갔는지, 혹은 어떠한 권한이 있는지 확인하는 시간을 가져봅시다. 일단 오라클에서의 권한 테이블은 다음과 같습니다. 권한테이블 : USER_TAB_PRIVS 1. 부여된 권한 조회 (FUNC, PROCEDURE, PACKAGE) SELECT * FROM USER_TAB_PRIVS WHERE OWER = 'USER01' AND GRANTEE = 'USER02' AND PRIVILEGE = 'EXCUTE' ORDER BY TABLE_NAME;
[DB] 트랜잭션 - ACID(원자성, 일관성, 고립성, 지속성)
·
DB
오늘은 데이터베이스 관리 시스템 중 하나인 트랜잭션에 대해 공부해보겠습니다. 1. What is Trasaction? 트랜잭션은 데이터베이스(DB) 관리 시스템에서 여러 개의 작업이 하나의 논리적 작업 단위로 묶여있는 것을 뜻합니다. 이 논리적 작업에서는 모든 작업이 성공적으로 수행되거나 or 아무것도 수행되지 않아야 합니다. 즉 되거나, 안 되거나 트랜잭션은 데이터베이스에서 일관성을 유지하고 데이터의 무결성을 보장하는데 중요한 역할을 합니다. 2. Transaction의 특징 트랜잭션은 ACID 속성을 따릅니다. ACID는 Atomicity(원자성), Consistency(일관성), Isolation(고립성), Durability(지속성)의 약자로, 이 속성들은 트랜잭션이 안전하게 수행되고 데이터의 무..
[Oracle] (') 조건으로 조회하기
·
DB/Oracle
오라클에서 데이터를 조회할 때 간혹가다 -> 'xx회의소' 회식장소는 다음과 같습니다. 작은 따옴표가 들어간 데이터가 있을 땐 어떻게 쿼리문을 작성해야하는지 난감할 때가 간혹 있는데요. 해당 방법은 작은따옴표를 연속해서 입력하면 됩니다. -> '' 이렇게 해서는 몽말인지 모르겠으니 예시를 살펴보겠습니다. 저는 해당 테이블에서 BTS 멤버 '정국'의 불그리 를 조회하려고 합니다. (급 불그리 땡기네..) 밑에 쿼리문처럼 조회를 하면 SELECT * FROM restaurant.menu rm WHERE rm.name = 'BTS 멤버 ''정국''의 불그리' ; 이렇게 조회가 된답니다. 저는 불그리를 먹으러.. 이만