no image
[DBMS] 과연 Index scan(Random Acces)가 빠른것인가? (Random Access vs Sequential Access & Index Scan vs Full Scan)
Database의 IO Access 유형으로는 Sequential , Random 이 있다. random Access는 OLTP성 DB에서 성능에 미치는 영향이 크다 Disk Access Time (Seek Time) - 데이터를 읽고 저장하기 위해. HDD head 위치를 이동시키는데 소요된 시간 Sequential Access (순차scan) - HDD에서 순서대로 검색, 스캔 방식 - table full scan 일 경우 , DB_FILE_MULTIBLOCK_READ_COUNT 설정으로 HDD 에서 한번 읽을 떄 몇개의 block을 읽을건지 정할 수 있다. 해당 파라미터값은 임계치가 있어서 크다고 좋은것이 아니다. Random Access (임의 Access) - 원하는 데이터가 산발적으로 흩어져있..
2024.02.26
no image
[Oracle] Database Block, Clustering Factor란?
DataBase Block DataBase Block 이란?- DB 데이터검색과저장의가장기본단위(8K, 16K, 32K, 64K )\- 모든 보통 DB I/O 는 DB Block 단위로 수행- Block 당 평균 수십개의 레코드가 들어갈수있는 크기로 구성- 단 하나의 레코드를 읽을 지라도 최소한1 Block은 Access 해야함  DB 성능에 가장 영향을 미치는게 IO이기에 block 설정이 중요하다  - 100byte row 2개를 insert 한다 가정하면, 한 row씩 IO가 발생한다면 너무 비효율적이다. 한번에 2 row를 IO로 내린다  OS도 block 이 있고 IO가 있는 SW는 다 block 이 있다 .   Q. 백만개의 record 가지는 두개의 테이블. 검색속도가 동일 할까?NO. re..
2024.02.26
no image
[DBMS] DB성능에 미치는 요소/ scan 방법 간단설명
문제를 내볼게요 다음중 DBMS 성능에 가장 영향을 미치는 것은? 1. CPU 2. MEMORY 3. I/O 바로 I/O이다 ( in memory DB가 아니라는 가정하에 ) 물론 cpu, memory 가 영향이 없다는 것은 아니다 . 그럼 IO를 적게 하는 방법은 뭐가 있을까? 1. Storage 쪽 IO를 적게 한다 2. IO자체를 빠르게 한다 3. IO의 형태 (Random Access, Full Scan)를 조정한다 고로 , IO 사전 지식이 필요하다 DBMS 란 - 데이터를 효과적으로 저장하고, 갱신하고 조회하기 위한 시스템이다 어떻게 저장을 해야 빠르게 저장/갱신/조회가 가능할까 ? 어떻게 저장하느냐에 따라 저장/검색 속도가 달라진다 . 1. 데이터을 임의의 공간에 보관할 경우( Random ..
2024.02.25
no image
[Oracle] Architecture(간단)
Architecture 개요 SGA SGA(System Global Area)란? - 공유메모리 - 여러개의 process들이 공유하는 메모리 영역 - 여러개의 process란? - client 가 붙으면 server process 가 생성되고 , server process는 SGA 영역을 많이 참조한다 - server process는 자신만의 memory 공간도 있다 PGA(Program Global Area) SGA 영역 종류 - Shared Pool - 주로 sql에 관한 내용 (sql plan) - Data Dictionary Cache - Database Buffer Cache - Storage 영역에 있는 데이터를 읽을 때 , Buffer cache에 올려놓는다 . (한번 읽은 데이터는 다시 ..
2024.02.25
no image
SwingBench(stresstool) 사용하기 - Order Entry 스키마/데이터 생성 및 SwingBench 구동 (oewizard.bat )
목차 Order Entry 수행하기 수행하기 앞서 , 1. Data Tablespace 증설 -> 최소 40G (미리 생성하자 ) 2. Temporary Tablespace 증설 3. user 생성을 해야한다 -> SOE_10G 4. 스키마와 데이터를 넣어야한다 -> oewizard.bat tablespace 생성 $ sqlplus '/as sysdba' SQL> CREATE BIGFILE TABLESPACE SOE_10G DATAFILE '/opt/oracle/oradata/ORCL/soe_10g_01.dbf' SIZE 60G AUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M ; [oracle@sua-03 O..
2024.02.25
no image
SwingBench(stresstool) 사용하기 - 1 (디렉터리 살펴보기)
SwingBench 디렉토리 살펴보기 winbin : window 에서 사용하는 bat 프로그램 - swingbench.bat: SwingBench 실행 UI - oewizard.bat : Order Entry 데이터 생성 - tpcdswizard.bat : TPCDS 데이터 생성 - sqlbuilder: customized SQL 생성 sql - java로 만들어진 프로그램이지만 실제로직으로는 sql폴더 안에 있는 sql 구문이 실행이 된다 - package(PL/SQL)호출해서 돌아가는거 ** SOE : order entry source java 프로그램 소스코드 - PL/SQL을 호출하는 용도 lib - swingBench 는 JDBC를 사용 - 프로그램 안에 ojdbc 라는 swing bench ..
2024.02.22
no image
SwingBench란? Window 에 swingbech(latest)설치 (java 17 설치)
사용이유( stress tool) 1. 다양한 형태의 테스트를 하기 위해서 사용 2. 벤치마크 테스트 할떄 사용 3. OLTP ,DSS 등등 4. 대용량데이터 처리 TPC-D 테스트도 가능 5. 비싼 상용tool기능을 무료로 사용가 Swing 의미 = Java의 UI framework ** 접속을 JDBC로 하는 이유이기도 하다 Swingbench Load 유형 Order Entry : OLTP Stored Procedure Stub : stored procedure에 원하는 sql 을 넣을 수 있다 . Customized SQL이나 Logic 으로 생성 가능 TPC DS : DSS (batch) , TPC-H의 스키마로 만듬 - TPC-C : OLTP용 공인 벤츠마크 - TPC-H : 대용량 처리용 공..
2024.02.21
no image
[Oracle] Sql Developer 설치 및 기본 사용기
1. download 링크: Oracle SQL Developer Downloads Oracle SQL Developer Downloads This archive. will work on a 32 or 64 bit Windows OS. The bit level of the JDK you install will determine if it runs as a 32 or 64 bit application. This download does not include the required Oracle Java JDK. You will need to install it if it's not already www.oracle.com 2. Install zip으로 저장된다 압축해제 진행 실행 환경설정 - 아니요 설치 완..
2024.02.21
no image
[Oracle] Toad for Oracle 살펴보기
sys계정으로 접속 - 접속 시엔 sysdba 로 접속해야됨 Editor 쿼리 실행 방법 ctrl+엔터 또는 실행버튼 실행을 하면 Data Grid 에 값이 출력된다 Muti Connection 가능 Toad에서 실행계획 보는 법 바로 보이진 않는다 . 방법 : crtl + e cost , byte , Cardinality 까지 보인다 Oracle Parameter 확인 database> Administer > Oracle Parameter table 생성도 쿼리가 아닌 클릭으로 가능하다 database> Create>Table data type도 나열/ type 마다 설정값 입력이 막혀서 syntax error 와 멀어지겠다 모니터링 가능 보통 AWR 이랑 연계해서 쓴다함 session 정보 확인 가능..
2024.02.17