[Oracle] RAC - Grid Infrastructure은 무엇인가
Grid Infrastructure은 무엇인가 HA와 효율적인 스토리지 관리를 제공하는 SW이다 cluster 관리와 Storage 관리 기능을 제공한다 cluster 관리 : - 다중 서버를 묶어서 하나의 논리 시스템으로 만든다- RAC Storage 관리 : - db파일과 일반 파일 관리 ,  - ASM Grid Infrastructure 의 구성요소 1) Clsuterware- 노드 상태 모니터링, 장애 발생 시 HA보장- OCR : cluster MetaData저장 - Voting Disk : cluster 노드간의 합의알고리즘으로 split brain 분제 방지 2) ASM- disk 그룹 기반으로 파일 관리- 데이터 자동 rebalance- disk HA(고가용성) 제공 3) ACFS (ASM..
2024.11.21
[k8s] operator-sdk(Go)로 memcahce 오퍼레이터 구축하기 - 3 (요약)
[k8s] operator-sdk(Go)로 memcahce 오퍼레이터 구축하기 - 1[k8s] operator-sdk(Go)로 memcahce 오퍼레이터 구축하기 - 2 위의 두 단계에서 한 내용을 요약해보자   1. 현재 폴더에 Operator project를  설정한다operator-sdk로 초기화를 한다 operator-sdk init --domain example.com --repo github.com/example/memcached-operator  2. API와 Controller 를 생성한다 operator-sdk create api --group cache --version v1alpha1 --kind Memcached --resource --controllerCR을 위한 API와 Cont..
2024.11.18
k8s
[k8s] operator-sdk(Go)로 memcahce 오퍼레이터 구축하기 - 2
[k8s] operator-sdk(Go)로 memcahce 오퍼레이터 구축하기 - 1 [k8s] operator-sdk(Go)로 memcahce 오퍼레이터 구축하기 - 1Quickstart for Go-based Operators | Operator SDK Quickstart for Go-based OperatorsA simple set of instructions to set up and run a Go-based operator.sdk.operatorframework.io 필수 체크 요소 - cluster-admin 권한이 있어야함 - example.com 이sua-tech.tistory.com Operator 배포와 CRD등록까진 했다   api/v1alpha1/memcached_types.go 수..
2024.11.15
k8s
[k8s] operator-sdk(Go)로 memcahce 오퍼레이터 구축하기 - 1
Quickstart for Go-based Operators | Operator SDK Quickstart for Go-based OperatorsA simple set of instructions to set up and run a Go-based operator.sdk.operatorframework.io 필수 체크 요소 - cluster-admin 권한이 있어야함 - example.com 이 기본 namespace로 된다  프로젝트 생성과 초기화 operator-sdk 초기화mkdir memcached-operatorcd memcached-operatoroperator-sdk init --domain example.com --repo github.com/example/memcached-operato..
2024.11.14
k8s
no image
[SIMD 프로그래밍-1] SIMD 성능 비교 해보기
[SIMD 프로그래밍-0] colum base DB와 Row base DB차이는 ? [SIMD 프로그래밍-0] colum base DB와 Row base DB차이는 ?일반적인 RDBMS는 row base이다 create T1 (c1 int, c2 int , c3 int) 로 생성했다면 데이터 저장은 아래처럼 될거다 (= row 단위로 묶여서 1번 row는 c1 옆에 c2 옆에 c3) select * from t1 where c1 = 1 이면 1,10,100 모두sua-tech.tistory.com이전 글에서 column base를 쓰는 경우는 OLAP에서 주로 쓴다고 했다. 분석용..사실 SIMD 테스트를 포스팅 하기 위한 글 SIMD란 Single Instruction Multiple Data 즉 하나..
2024.10.28
no image
[SIMD 프로그래밍-0] Column base DB와 Row base DB차이는 ?
일반적인 RDBMS는 row base이다 create T1 (c1 int, c2 int , c3 int) 로 생성했다면 데이터 저장은 아래처럼 될거다 (= row 단위로 묶여서 1번 row는 c1 옆에 c2 옆에 c3) select * from t1 where c1 = 1 이면 1,10,100 모두 필요한데 어차피 row 단위로 묶여있으니 한번만 접근하면 row 데이터 다 가져올 수 있다 파랑이만 가져오면 되서 빠르다 OLTP에선 빛을 발하겠지만 근데 OLAP에서도 저 구조가 좋은 걸까??? select sum(c1)  from t1  이라 생각하자row가 2억건이면 2억건의 row를 다 뒤져야한다  만약 c1 끼리 뭉쳐있다면 어떨끼? C1끼리 뭉쳐있으면 2억건의 접근이 없다. 물론 한번의 접근만으로는 ..
2024.10.28
[k8s] CRD->CR->Operator(kopf python) 만들기
operator는 왜 필요한가 - deployment 보단 statefulset에서 많이 쓰인다- DB기동 전후 스크립트, 백업자동화, failover , scale in/out 에 필요한 작업을 커스터마이징 하기 위해 필요하다  CRD를 만들고 / CRD를 사용하는 CR을 만들고 / CR을 사용하는 Operator 를 만든다  "사용자 정의 리소스를 Custom Resource라고 한다. Service, Pod와 같은 리소스를 사용자가 직접 등록할 수 있다. Custom Resource를 등록하기 위해서 Custom Resource에 대한 스펙 (이름, 인자 등등)을 정의해야 하는데, 스펙을 정의한 YAML 문서를 Custom Resource Definition (CRD)라고 한다. "출처: https..
2024.08.27
k8s
no image
[K8s] ClusterIP vs Headless vs Nodeport vs LoadBalancer ( ft. Ingress)
베어메탈에서도 네트워크가 가장 어려웠는데 .. k8s 도 참으로 번잡하다우선 관련 유튭을 보면서 이해한 내용을 적는다  service는 무엇인가?pod ip는 고정이 아니다 - pod은 고유의 ip를 갖는다 / 단,임시적이다 (고정ip아님) / pod 재기동하면 새로운 ip 를 갖는다 - 즉 pod ip로 서비스 생성하는건 무리다service로 해결이 가능하다 - stable ip 를 설정하여 , pod가 재기동 되어도 같은 ip로 pod 에 접속할 수 있게 한다 service는 load balancing이 된다  - client는 service ip로 붙고 service에서 load balancing 하여 개별 pod에 업무를 준다  k8s cluster 내부에서도 service는 사용가능하다- loo..
2024.08.22
k8s
[Oracle] Optimizer Mode 란?
오라클 Optimizer 는 (테이블or 컬럼)통계정보를 보고 (operator에서 return 되는 row수를 예측하고 ) 실행계획을 만든다  통계정보를 추출하는 방법은?=> analyze table , DBMS_STAT 그럼 통계정보는 어디서 확인할 수 있을까?=> 아래의 dictionary View 에서 확인 할 수 있다USER_TABLE , USER_TAB_COLUMNS ,USER_TAB_STATISTICS,  USER_TAB_COL_STATISTIC ,  column 통계정보에는 어떤 데이터가 있는가?=> column의 Distinct values 의 수 , 최소값, 최대값 등의 정보가 있다   optimizer mode 란?설정 시점은?1. 초기 매개변수 파일인 init.ora 에서 변경 가능..
2024.08.16
centos 9 - k8s 구성하기 (master, worker01,worker02)
장비 사양core : 24mem : 62disk : 866Glinux : Rocky Linux release 9.4 (Blue Onyx)kernel : 5.14.0-427.13.1.el9_4.x86_64모든 작업은 root 계정에서 진행 모든 노드에서 공통 작업환경설정host 설정vi /etc/hosts192.168.0.97 tech07 master kubemaster192.168.0.93 tech03 worker01 kubeworker01192.168.0.94 tech04 worker02 kubeworker02   swap offswapon --showswapoff -ased -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstabcat /etc/fstab[root@tech7 ~]# ..
2024.08.02
k8s
[Oracle] Tunning Advisor 사용해보기 (DBMS_SQLTUNE 패키지 사용하기 )
기본 쿼리 SELECT d.DEPARTMENT_NAME AS "Department Name", l.CITY AS "City", l.COUNTRY_ID AS "Country", COUNT(e.EMPLOYEE_ID) AS "Employee Count", AVG(e.SALARY) AS "Average Salary"FROM EMPLOYEES eJOIN DEPARTMENTS d ON e.DEPARTMENT_ID = d.DEPARTMENT_IDJOIN LOCATIONS l ON d.LOCATION_ID = l.LOCATION_IDGROUP BY d.DEPARTMENT_NAME, l.CITY, l.COUNTRY_IDORDER BY d.DEPARTMENT..
2024.07.26
no image
[Oracle] sample schema 및 insert 하는 법 (HR , OE , PM ,SH ERD 확인 및 샘플 파일 다운 / 기본 제공 스크립트 적용)
1. Oracle 공식 홈페이지 참조Sample Models and Scripts | Oracle 대한민국 Sample Models and Scripts | Oracle 대한민국Sample Models and Scripts With SQL Developer Data Modeler, you don't need to be connected to a database to create a design. You can start creating a new design from scratch open an exisiting design or import a DDL script to create a new model. Below are awww.oracle.com    제공하는 sample  모델들이 총 4개가 있다..
2024.07.24
[Oracle] ORA-01950: no privileges on tablespace 'USERS' -> quota 권한으로 해결
ORA-01950: no privileges on tablespace 'USERS' 02:26:04 SUA@ORCL> insert into empvalues( 7934, 'MILLER', 'CLERK', 7782, to_date('23-1-1982','dd-mm-yyyy'), 1300, null, 10);02:26:05 2 02:26:05 3 02:26:05 4 02:26:05 5 02:26:05 6 insert into emp *ERROR at line 1:ORA-01950: no privileges on tablespace 'USERS'  전체 tablespace 확인 (dba_tablespaces)02:28:43 SUA@ORCL> select TABLE..
2024.07.19
[PostgreSQL] pg_stat_statement 보는 법 (ft. analyze table)
데이터 bulk inset  오라클에서 계층쿼리로 넣었다면 pg에선 dual테이블도 없고 connect by 구문도 없다 insert into t1 select level, '0715test'from dualconnect by level  generate_series 사용insert into t1 select generate_series(1,99999), '0715test';   실행시간 보는 법psql  - \timingsuadb=> \timing작업수행시간 보임suadb=> insert into t1suadb-> select generate_series(1,99999), '0715test';INSERT 0 99999작업시간: 116.898 mssuadb=> select count(*) from t1;..
2024.07.16
no image
[PostgreSQL] pg_stat_statements 설정하기
pg_stat_statements 확장은 각 쿼리의 실행 횟수, 총 시간, 평균 시간 등을 추적합니다. 이 정보를 사용하여 CPU 사용을 간접적으로 추정할 수 있습니다. pg_stat_statements 의 relation을 찾을 수 없음 postgres=# SELECT * FROM pg_stat_statements;오류: "pg_stat_statements" 이름의 릴레이션(relation)이 없습니다줄 1: SELECT * FROM pg_stat_statements; pg_stat_statements  확장팩 설치 postgres=# CREATE EXTENSION pg_stat_statements;CREATE EXTENSION  postgresql.conf 파일 설정┌─[postgres][~/15/..
2024.07.15
[PostgreSQL] 기본 명령어 (schema,USER 생성 및 확인하는 방법)
USER 확인 pg_catalog.pg_userpostgres=# SELECT * FROM pg_catalog.pg_user; usename | usesysid | usecreatedb | usesuper | userepl | usebypassrls | passwd | valuntil | useconfig-----------+----------+-------------+----------+---------+--------------+----------+----------+----------- postgres | 10 | t | t | t | t | ******** | | cccc | 16384 ..
2024.07.15
no image
[AWS] AWSOME DAY - 인프라 보안 (VPC, ACL , 보안그룹(Security Group) 차이점 비교 )
인프라 보안VPC의 보안그룹 , 네트워크 엑세스 제거, 라우팅 테이블 여러 보안객체를 사용해서 , 각 서브넷에서 EC2 인스턴스에 대한 엑세스 제어 가능 여러 계층을 통해 보안을 강화 할 수 있다  VPC 라우팅 테이블VPC 라우팅 테이블로 네트워크 트래픽이 전달되는 위치 제어가능1차 방어 관문공격시도 해도 라우팅 테이블에 해당 규칙이 없으면 접근 불가라우팅 테이블은 VPC, 게이트웨이 , 서브넷에 연결하여 사용  네트워크 ACL 엑세스 제어 목록 - 서브넷 범위의 인바운드와 아웃바운드 트래픽을 제어하기 위한 방화벽 역할을 함ACL 규칙으로 SSH 접근 , 프로토콜, 포트범위 설정이 가능하다보안그룹 (Security Group)인스턴스에 대한 인바운드 , 아웃바운드 트래픽을 제어한다서브넷 범위가 아니라 ..
2024.07.12
no image
[AWS] AWSOME DAY - Networking (VPC란? 서브넷이란? ELB란?)
VPC (Virtual Private Cloud )가상네트워크를 위한 서비스AWS Cloud의 개인 네트워크 공간VPC 내에서 EC2와 같은 AWS 리소스를 생성및 사용 가능리전 범위의 서비스 (선택한 리전의 가용영역에 걸쳐서 생성)IP주소 범위 선택/ 서브넷 생성/ 라우팅 테이블 / 게이트웨이 구성 등 가상 네트워킹 환경을 사용자가 직접 제어 가능 서브넷 이란?VPC, IP 주소 범위내의 segment 또는 파티션으로 볼 수 있다서브넷 생성으로 워크로드를 네트워크에서 격리 가능공용 인터넷에 직접 엑세스 불가 = 프라이빗 서브넷공용 인터넷에 직접엑세스 가능 = 퍼블릭 서브넷퍼블릭 서브넷으로 만드는 법웹서비스 실행하는 EC2 일 경우 , 인터넷 게이트웨이를 VPC에 연결 하고 , 해당 서브넷에 라우팅 테이..
2024.07.12
no image
[AWS] AWSOME DAY - DataBase ( RDS,Aurora,Redshift,DynamoDB,DocumentDB,ElasticCache,Neptune,QLDB,Timestream 비교)
DB를 사용하는 2가지 방법1. EC2위에 직접 DB 구축OS 설정등 세밀한 조정이 필요할 경우AWS 에서 지원하지 않는 상용 DB 설치 가능2. AWS 에서 제공하는 관리형 DB 사용DB 프로비저닝 , 백업 복구 작업 , 패치 등 사소한 관리 작업을 AWS 가 해결해줌 (APP에 집중 가능하게)원클릭으로 standby DB 설치하고 , 데이터 동기화 하는 Multi AZ 기능 사용 가능DB관련 할 일은 성능 조정, 스키마 최적화 그런 고차원적이 작업만 하면 된다   다양한 DB옵션 제공15개 이상의 엔진 제공Amazon RDS: 대표적인 RDB로 얘기한다Amazon Aurora : mysql 과 postgreSQL 이랑 연동 가능Amazon Redshift : DW용 DBAmazon DynamoDB :..
2024.07.12
[AWS] AWSOME DAY - Storage 종류 (EBS, EFS, FSx , S3 , S3 Glacer , Storage Gateway 비교)
스토리지 옵션블록 스토리지파일 스토리지객체 스토리지 블록 스토리지EBS : EC2 instance 에 연결되어 블록 단위로 데이터 저장파일 스토리지EFS : 용량 및 성능을 프로비저닝 및 관리할 필요없음FSx : Windows 등 OS 위한 파일 스토리지객체 스토리지S3 : 다양한 형식/ 원하는 만큼의 데이터 저장 / 데이터 유실 확률 매우 적음S3 Glacier : 아카이빙 데이터 및 장기간 저장이 필요한 / 저렴한 비용Storage Gateway : 온프레미스에서 S3 와 같은 클라우드 스토리지에 엑세스제공 1. 객체 스토리지인 S3 살펴보기객체에 파일, 이미지 , 동영상 데이터, 메타데이터, key 등 저장파일 및 폴더 구조가 사용되지 않음버킷 내 모든 객체는 수평적으로 저장됨내구성이 99.9% (..
2024.07.12
[AWS] AWSOME DAY - Computing 종류 (Ec2 ,Lambda ,ECS비교)
AWSomeday_02 컴퓨팅  컴퓨팅3가지 유형의 컴퓨팅 옵션가상머신 (EC2)서버리스(Lambda)컨테이너서비스 (ECS)  1. EC2 (가상머신)EC2는 web서버 , app서버 ,DB서버 등 원하는 대로 사용 가능하다AMI (Amazon Machin Image) 라는 이미지 기반으로 구성 가능AMI : Starage Volumn , 시작 권한, 블록 디바이스 매핑 등의 정보가 있다ex) 워드만 필요할 경우 AWS Marketplace에서 워드프로세스가 설치되어있는 이미지만 구매하면된다 400가지가 넘는 Instance 패밀리의 이름 사용사례범용트래픽이 적고 소,중규모의 데이터베이스A1, T3 T3a , T2 M6g , M5컴퓨팅 최적화고성능 웹서버 . 동영상 인코딩C5, C5n, C4, C7g메..
2024.07.12
no image
[AWS] AWSOME DAY (Outposts , Local Zones , Wabelength 비교), (온프레미스와 용어 비교) , (기본 구성 방법) , (하이브리드 클라우드란?)
AWSomeday Conference 2024.07.12 진행  총 5가지 세션컴퓨팅스토리지데이터베이스네트워킹보안30 여개 Region중 선택 방법데이터 거버넌스 고려( 적합한 사람과 애플리케이션이 필요할 때 쉽고 안전하게 올바른 데이터를 찾고, 액세스하고, 공유하여 데이터 기반 의사 결정을 가속화....)고객 데이터가 특정 지역에 있어야 한다는 규정이 있을 경우지연시간 고려서비스 제공 유무리전마다 제공하는 서비스가 다름비용적 측면 AWS 엣지 인프라엔트포인트와 가깝게 AWS Outposts온프레미스에 저장되야하는 경우 사용마이그레이션, local critical app , 데이터 레지던시 업무AWS Local Zomes많은 사용자 , 대규모 매트로 센터local app 의 엑세스 시간이 단축마이그레이션..
2024.07.12
no image
[Oracle] dba_hist_osstat view 보는 법
AWR snapshot 데이터중 하나이다   AWR-  AWR snapshot은 기본적으로 1시간에 한번씩 기록된다  - snapshot은 수동으로 찍을 수 있고       (EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();)  - snapshot 주기도 변경가능다     (EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval =); )  - snapshot은 SYSAUX tablespace에 저장이 되고  - 보관주기또한 변경 가능하다       (EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(retention => );)  - DBA_HIST_ 로 시작..
2024.07.10
no image
[Oracle] - sqlplus prompt setting 하기
이쁘게 보기 위한set pagesize 1000 /* page가 14마다 구분되지 않도록 크게 지정한다. */set linesize 300 /* linesize도 record 길이만큼 지정하여 아래로 구분되지 않도록 한다. */ 출력 제어-- 해당 컬럼 출력안함 column [컬럼명] noprint-- 명령이 display되지 않도록 한다. set echo off -- 조회 결과가 화면에 나오지 않도록 한다. set term off  이전 명령 보는 법 history 기능 키기 SQL> set hist onSQL> HIST[ORY] [n RUN | EDIT | DEL[ETE]] | [CLEAR | LIST]-- 과거이력 확인 SQL> history..
2024.07.03
no image
[Oracle] AWR Report 보는법 - Advisory Statistics 이 뭔지 알아본다
Oracle 에서 제공하는 뷰인 V$xxx_ADVICE를 통해 PGA와 SGA를 권고받았었다.AWR에서 누적된 값/ 시간단위로 기록된 값을 알 수 있다   Size Factor로 현재는 1.0인데 예시로 2.0이라면 2배로 늘릴 경우 어떤 수치가 나올지 예상해준다W/A MB : Work Area에서 현재 얼만큼 처리하고 있는지 보여준다 W/A to Disk : Disk 에는 이만큼 쓰고 있다   위의 결과를 보면, Size Factor를 크게 잡는다고 선형적인 결과를 얻을 수 없다는걸 알 수 있다20% 늘린거와 8배로 늘린거의 Disk Read//Write 가 다르지 않다
2024.06.09
no image
[Oracle] AWR Report 보는법 - SQL Statistics 이 뭔지 알아본다
SQL Statisitcs 항목 •SQL ordered by Elapsed Time (수행시간)   : 자주 봄  •SQL ordered by CPU Time (CPU 시간) : CPU를 얼마나 썼는가 •SQL ordered by User I/O Wait Time  •SQL ordered by Gets (User I/O Wait 시간) (Buffer Cache access block 수)  : Logical IO 자주 봄   •SQL ordered by Reads (Physical(Storage) access block 수)  : Physical IO 자주 봄  •SQL ordered by Physical Reads ( UnOptimized) : Optimize가 안된것 •SQL ordered by Ex..
2024.06.09
no image
[Oracle] AWR Report 보는 법- Load Profile 만 보고 어떤 시스템인지 맞춰보기
CASE 1)  내 분석 - Redo Log Size 24kb  per  Sec /  3kb per Tx -> 1sec당  tx 한 6-7개 있는건가보다- Logical Read 가 많고 Physical은 적다  -> tunning 잘되어있나보네 -> 1G 정도 읽음 - Block change 별로 없고 문제 없어보이는데? 강사의견- Logical Read 는 좀 많은 편이나/ Physical Read는 거의 없다 - 문제가 없어 보인다. CASE 2)   내 분석 - Redo Log Size 23kb  per  Sec /  1kb per Tx -> 초당 18개정도의 tx-> transactions는 16이다-> log 가 초당 - Logical Read (4G)  /  Physical (125M)  -..
2024.06.07