DB아키텍처데이터베이스 아키텍쳐(Database Architecture) http://www.dbguide.net/dbqna/oracle.db?cmd=view3데이터 베이스 아키텍쳐 = 프로세스 + 공유메모리 영역 + 디스크(물리적 파일)영역Oracle이나 MSSQL 같은 DBMS의 구조를 살펴보면 위와 같이 구성되어 있다. (위 사진은 오라클 구조) 프로세스(Process)* oracle이 리눅스(linux)에서는 프로세스 단위로 생성되고 운영된다. SQL server(mssql)는 쓰레드 기반 아키텍처고 oracle이 윈도우에서는 해당 프로세스를 쓰레드로 대체한다. 어차피 같은 역할을 수행하므로 프로세스로 통칭한다.프로세스는 크게 서버 프로세스(Server process)와 백그라운드 프로세스(Bac..
모델링현실 세계의 개념들을 추상화, 단순화, 명확화 한 것.모델링의 특징추상화 : 다양한 것을 일정한 형식에 맞춰 표현.단순화 : 동일한 규약으로 이해하기 쉽도록 하는 것.명확화 : 애매모호함을 제거, 정확하게 현상을 기술.모델링의 세가지 관점데이터 관점 : 업무와 데이터, 데이터간의 관계성프로세스 관점 : 업무가 실제로, 무엇을 하는지데이터와 프로세스의 상관관점 : 처리하는 일의 방법에 따라 데이터가 어떤 영향을 받고 있는지-> 데이터베이스를 구축하기 위한 모델링은 데이터 관점을 중심으로 진행되기 때문에 이하 ‘모델링’을 지칭하는 것은 데이터 관점을 말하는 것.모델링의 정의정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법데이터에 대한 약속된 표기법에 의해 표현하는 과정데이터베이스를 구축하기 위한 ..
배경 이전 글과 같이 갑작스런 Primary OS crash에 따른 Master-Slave 간 sync_binlog 파라미터의 값에 따라 데이터 정합성에 깨짐이 있는지 확인 해볼 생각입니다. sync_binlog 관련 내용은 이전 글 또는 docs를 참조해주세요. https://jhdatabase.tistory.com/entry/MySQL-MariaDB-Replication-%EB%B3%B5%EC%A0%9C-%EC%97%90%EB%9F%AC-errorcode-1236 [MySQL & MariaDB - Replication 복제 에러 error_code : 1236] 배경 최근 Replication 구조에서 Primary DB가 갑작스레 서버가 죽으며, DB가 내려갔다. 이후 Slave DB에서 repli..
배경 최근 Replication 구조에서 Primary DB가 갑작스레 서버가 죽으며, DB가 내려갔다. 이후 Slave DB에서 replication이 에라 발생과 함께 정상적으로 동작하지 않았다. 발생 에러 ■ Slave status MariaDB [(none)]> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Master_Host: 192.168.152.128 Master_User: repl Master_Port: 3306 Connect_Retry: 10 Master_Log_File: mysql.000001 Read_Master_Log_Pos: 568519 Relay_..
Federated engine이란 FEDERATED 스토리지 엔진을 사용하면 복제 또는 클러스터 기술을 사용하지 않고도 원격 MySQL 데이터베이스의 데이터에 액세스 할 수 있습니다. 로컬 FEDERATED 테이블을 쿼리하면 원격 테이블에서 데이터를 자동으로 가져옵니다. 로컬 테이블에는 데이터가 저장되지 않습니다. 표준 스토리지 엔진 (예 : MyISAM, CSV 또는 InnoDB) 중 하나를 사용하여 테이블을 생성할 때 테이블은 테이블 정의 및 관련 데이터로 구성됩니다. FEDERATED 테이블을 생성할 때 테이블 정의는 동일하지만 데이터의 물리적 스토리지는 원격 서버에서 처리됩니다. FEDERATED 스토리지 엔진은 더 이상 지원되지 않는 레거시 스토리지 엔진입니다. MariaDB 10.0 부터 CO..
발생 에러 MariaDB [(none)]> start slave; ERROR 1201 (HY000): Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log ## 에러 로그 2023-12-20 16:42:39 0 [ERROR] Failed to open the relay log './kjh-relay-bin.000008' (relay_log_pos 633) 2023-12-20 16:42:39 0 [ERROR] Could not find target log during relay log initialization 2023-12-20 16:42:39 0 [ERROR] F..
Partition Exchange 란? 원본 테이블을 파티션 테이블로 생성한 후 원본 테이블의 데이터가 너무 커지면 파티션을 다른 테이블로 이관할 수 있는 기능으로 MariaDB Partition Exchange는 MariaDB에서 파티셔닝된 테이블에서 데이터를 교환하고 재조정하기 위한 기능입니다. 이 기능은 특히 대량의 데이터를 효과적으로 관리하고 쿼리 성능을 최적화하는 데 사용됩니다. 파티셔닝은 테이블을 논리적 또는 물리적으로 분할하여 데이터를 더 쉽게 관리하고 쿼리 성능을 향상시키는 기술입니다. MySQL 5.6 버전/MariaDB 10.0 버전부터 지원가능. 목적 및 장점 ■ 목적 : 보관주기가 지난 파티션을 삭제전 삭제 대상 데이터를 백업하기 위한 목적 ■ 장점 1) 특정 파티션에 대한 삭제 시..
Vacuum이란? Vacuum은 PostgreSQL의 MVCC 구현 방법이 Oracle이나 MySQL 등 다른 DBMS와 다르고 그 차이로 인해 발생하는 문제점을 해결하기 위한 PostgreSQL만의 특별한 동작인데요. Vacuum을 DB단에서 자동으로 수행하는 동작을 AutoVacuum이라고 하며 Vacuum & AutoVacuum(이하 Vacuum으로 통일)을 통해 아래 4가지 작업을 수행합니다. - 임계치 이상으로 발생한 Dead Tuple을 정리하여 FSM (Free Space Map) 으로 반환 - Transaction ID Wraparound 방지 - 통계정보 갱신 - visibility map을 갱신하여 index scan 성능 향상 위 4개의 동작 모두 중요하지만 그 중 특히 중요한 것은 ..
Oracle FDW란. Postgresql 에서 Oracle에 있는 데이터를 가져오기 위해서는 FDW를 이용할 수 있다. FDW는 Foreign Data Wrapper 의 약자로 이기종 데이터베이스의 외래테이블 간에 연결하여 사용할 수 있는 솔루션이다. 테스트 환경 postgresql : 13.7 Oracle : 11.2.0.4 ※ oracle 부분 확인 필요 사항 오라클 클라이언트 다운로드가 필요(zip 파일) - 오라클 계정 필요 오라클 서버와 버전이 맞는 버전을 사용하는 것이 좋음(이슈 관련) 32비트 오라클 서버와 64비트 PostgreSQL 서버는 동작 불가.(동일한 bit의 프로그램 필요) #SELECT * FROM v$version; 로 oracle 버전 정보 확인 ----------Orac..
■ Oracle버전에 맞는 client 다운로드 basic & sqlplus https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html Instant Client for Linux x86-64 (64-bit) Base - one of these packages is required Tools - optional packages Development and Runtime - optional packages www.oracle.com [root@ip-172-31-38-100 ~]# wget https://download.oracle.com/otn_software/linux/instantclient/1919000..