오늘날 데이터는 빠른 속도, 대량의 양, 다양한 구조를 가지고 있습니다. 기존의 관계형 데이터베이스는 정형 데이터에는 강력하지만 대량의 비정형 데이터 처리에는 한계가 있습니다. 이러한 문제를 해결하기 위해 등장한 것이 바로 NoSQL 데이터베이스입니다. 이번 포스팅에선 NoSQL의 개념과 RDBMS와의 차이점, 그리고 다양한 NoSQL 데이터베이스 종류 및 활용 사례를 정리해 보았습니다.1. NoSQL 이란?NoSQL 은 "Not Only SQL"의 약자로, 기존 RDBMS와는 다른 방식으로 데이터를 저장하고 관리하는 데이터베이스 시스템을 의미합니다.특징비정형 데이터 및 반정형 데이터 저장 가능(JSON, XML, Key-Value 등)수평적 확장(Scale-out) 가능빠른 읽기/쓰기 성능 제공사용빅데..

PostgreSQL 은 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)으로, 안정성과 기능성 면에서 업계 표준으로 자리 잡았습니다. PostgreSQL 의 주요 특징과 설치방법에 대해 알아보겠습니다. 1. PostgreSQL 특징 ACID 준수: PostgreSQL은 트랜잭션의 원자성, 일관성, 격리성, 지속성을 보장하는 ACID 규칙을 준수하여 안정적인 데이터 관리가 가능합니다.확장성과 유연성: 사용자 정의 데이터 타입, 함수, 연산자 등을 추가할 수 있어 매우 유연하며, JSON 및 JSONB 같은 다양한 데이터 형식을 지원합니다.고급 기능과 성능: 복잡한 쿼리 처리, 병렬 쿼리 처리, 다양한 인덱싱 방식, MVCC(다중 버전 동시성 제어) 등을 통해 성능과 효율성을 높일 수 있습니다. 2. P..
Oracle에서는 JOB 스케줄러가 중요한 역할을 하며, 이를 통해 자동화된 작업을 쉽게 관리할 수 있습니다. 이번 포스팅에서는 JOB 스케줄러 실행 정보를 조회하는 방법을 알아보겠습니다. 주로 dba_scheduler_job_log, dba_scheduler_job_run_details 뷰를 활용하며, v$diag_info를 사용해 트레이스 경로를 확인하는 방법도 함께 다루겠습니다. 1. dba_scheduler_job_logSELECT job_name, log_date, status, additional_infoFROM dba_scheduler_job_logWHERE job_name = 'YOUR JOB NAME'ORDER BY log_date DESC;JOB의..
오라클 데이터베이스에서 SYS.ODCIVARCHAR2LIST를 활용하면 문자열의 리스트를 프로시저에 전달하여 처리할 수 있습니다. 이번 포스팅에서는 SYS.ODCIVARCHAR2LIST를 사용하여 프로시저에서 리스트를 입력받고 처리하는 방법에 대해 설명하겠습니다. 1. 프로시저에서 리스트로 입력 선언하기SYS.ODCIVARCHAR2LIST는 문자열 리스트를 다루기 위한 Oracle의 내장 타입입니다. 이를 사용하여 프로시저에서 리스트를 입력받을 수 있습니다.CREATE OR REPLACE PROCEDURE PROC_TEST( p_codes IN SYS.ODCIVARCHAR2LIST)ISBEGIN -- 프로시저 로직END;이와 같이 p_codes를 SYS.ODCIVARCHAR2LIST 타입으로 ..
1. DB_LINK란?DB_LINK(Database Link)는 한 데이터베이스에서 다른 원격 데이터베이스에 접근할 수 있도록 해주는 Oracle의 기능입니다. 이를 통해 서로 다른 데이터베이스 간에 데이터를 쉽게 주고받을 수 있습니다. 주로 분산 데이터베이스 환경에서 사용되며, 네트워크 상에 있는 다른 데이터베이스의 객체를 로컬 데이터베이스처럼 사용할 수 있게 해줍니다. 2. DB_LINK 확인 쿼리이미 생성된 DB_LINK를 확인하려면 아래의 SQL 쿼리를 사용합니다.-- 전체 데이터베이스의 모든 DB_LINK 정보 (DBA 권한 필요)SELECT * FROM dba_db_links;-- 현재 사용자의 스키마에 정의된 DB_LINK 정보SELECT * FROM user_db_links;-- 현재 사용..
잘되던 소스에서 어느 날부터 "java.sql.SQLException: 소켓에서 읽을 데이터가 없습니다." 오류가 발생했습니다. 락이 걸려 있는 세션을 찾아봐도 문제가 없었고, 같은 쿼리의 특정 row 에만 문제가 있는 것으로 보였습니다. 혹시 저와 같은 증상을 겪고 있다면 아래 쿼리를 이용하여 세션뿐 아니라 트랜잭션이 살아있는지 확인해야 합니다. 1. 세션 확인SELECT SUBSTR (TO_CHAR (LAST_CALL_ET), 1, 6) "경과시간(초)" , A.USERNAME , MACHINE , A.SQL_ID , B.SQL_TEXT SQLTEXT , 'ALTER SYSTEM KILL SESSION ' || '''' || A.SID || ', ' || A.SER..
오라클 DB의 문자셋을 확인하고 변경하는 방법에 대해 공유합니다.문자셋을 변경하기에 앞서, 데이터베이스에 데이터가 있다면 문자셋 변경은 위험한 작업이 될 수 있으니 이 점 유의 부탁드립니다.1. Charset 확인 쿼리SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';한글지원 가능한 문자셋KO16KSC5601 : 완성형 한글KO16MSWIN949 : 조합형 한글AL32UTF8 : Unicode CES 2. Charset 변경 쿼리cmd > sqlplus sysdbasql > update props$ set value$='KO16MSWIN949' where name='NLS_CHARACTERSET';sql > update ..
오라클 DB 에서 찾고자 하는 칼럼명을 사용하고 있는 테이블을 간단하게 조회하는 방법과 테이블 락세션을 확인하는 방법에 대해 알아보겠습니다. 1. 테이블모든 테이블 : ALL_TABLES사용자 테이블 : USER_TABLESDBA 테이블 : DBA_TABLES [관리자 계정]모든 칼럼 조회 : ALL_TAB_COLUMNS 2. 컬럼명으로 테이블 찾기SELECT *FROM ALL_TAB_COLUMNSWHERE COLUMN_NAME = '컬럼'3. 테이블의 모든 칼럼명 가져오기SELECT *FROM ALL_TAB_COLUMNSWHERE TABLE_NAME = '테이블';4. 테이블 락 확인SELECT SID , A.SERIAL# , LAST_CALL_ET , A.USERNAME ..
- Total
- Today
- Yesterday