![[MariaDB] User DDL - 사용자 생성, 변경, 삭제](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdN8Joc%2FbtsGc3QJx6v%2FeKc7wcipLDgbc1k7vTqLu1%2Fimg.png)
MariaDB User Database의 중요한 관리 중 하나는 User 에 대한 관리설정이다. 사용자에 맞는 User를 생성하고 발급하며, 해당 User별로 권한을 설정함으로써 보안에 좀 더 신경 쓸 수 있다. 요번 포스팅에서는 MariaDB의 User의 생성, 변경, 삭제를 할 수 있는 DDL에 대해서 알아보도록 하자. User DDL MariaDB User의 Create / Alter / Drop 명령어로 유저의 생성과 변경, 삭제를 담당한다. MariaDB의 User는 다른 Database와 다르게, 접근 위치 별(Host) 계정을 생성 할 수 있다. DDL명령어 설명하며 같이 설명하도록 하겠다. 사용자에 대한 정보는 mysql.user 라는 시스템 뷰로 확인 할 수 있다. select * fro..
![[Oracle] 테이블 정의서 만들기 - 쿼리로 추출하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FY7XSW%2FbtsF5UrZLAD%2FsXN9r8bIVt5KlsbCr9Amy1%2Fimg.png)
테이블 정의서 (Table Spec) MsSQL 의 테이블 정의서를 만드는 내용을 저번 포스팅에서 다뤄보았는데, 오늘은 오라클에 대해서 조회해보도록 하자. [MsSQL] 테이블 정의서 만들기 - 쿼리로 추출하기 테이블의 자세한 내용에 대해 설명 할 때 꼭 필요한 것이 테이블 정의서이다. 테이블의 존재하는 컬럼과 컬럼들의 Data Type 등을 기록하는 문서이며, 해당 문서를 통해 DBA에게 Table 생성을 요청하거나, 프로젝트 명세를 위해 내역을 첨부하는 등 필요가 많다. 보통은 DBA에게 요청하는 문서로 작성되어 오지만, 기존의 테이블의 정의를 확인하고 문서화 하기위해 정의서를 생성해 내야할 필요가 있다. 그럴 때 사용하기 적절한 쿼리에 대해 소개해보도록 하겠다. Query 쿼리내용은 아래와 같다. ..
![[Oracle] External Table - 외부 CSV 파일을 테이블로 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeLwADL%2FbtsF12cr2Sa%2Fei9ETUnRLozooJsJeFPkak%2Fimg.png)
External Table 외부 테이블이라고 불리우는 External Table은 Oracle의 여러 Object 중 하나로서, Table에 쌓이는 데이터를 Block에 저장하는 것이 아닌, Local Host의 저장되어있는 데이터베이스 외부 파일에서 데이터를 불러와 Table 형식으로 보여주는 것이다. 형식화 된 대용량 CSV파일 등을 힘들게 Insert 하지 않고도 테이블 형식으로 만들어 사용 할 수 있어 편리한 External Table 생성에 대해 한번 알아보도록 하자. Create External Table External Table을 생성하는 방법은 아래와 같다. create table TB_CSV_TEST ( col_1 NUMBER(10), col_2 VARCHAR2(100), col_3 V..
![[MsSQL] 테이블 정의서 만들기 - 쿼리로 추출하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBy5Q3%2FbtsF1BL3EAX%2FQgtAFDjx3yiiIGcBKqBTJk%2Fimg.png)
테이블 정의서 (Table Spec) 테이블의 자세한 내용에 대해 설명 할 때 꼭 필요한 것이 테이블 정의서이다. 테이블의 존재하는 컬럼과 컬럼들의 Data Type 등을 기록하는 문서이며, 해당 문서를 통해 DBA에게 Table 생성을 요청하거나, 프로젝트 명세를 위해 내역을 첨부하는 등 필요가 많다. 보통은 DBA에게 요청하는 문서로 작성되어 오지만, 기존의 테이블의 정의를 확인하고 문서화 하기위해 정의서를 생성해 내야할 필요가 있다. 그럴 때 사용하기 적절한 쿼리에 대해 소개해보도록 하겠다. Query Database에 생성되어있는 Table에 대한 테이블 정의서를 추출하는 쿼리는 아래와 같다. select o.name as table_name, a.value as table_comment, b.n..
![[Ignite][Linux] 5. Cluster Node - 신규 노드 추가하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMYJkk%2FbtsFRaHxpI6%2FbilZXjZykETStFt2XEYIW1%2Fimg.jpg)
Ignite Cluster Node 이그나이트의 클러스터 구성에 장점중 하나는 새로운 노드를 추가하기 쉽다는 것이다. 이미 구성되어있는 이그나이트 클러스터에 새로운 노드를 추가하는 작업을 진행해보자. Cluster config.xml 설정 파일을 통해 두대의 노드를 클러스터로 연결해둔 상태이다. 노드 설정을 다시한번 확인해보자. 클러스터 설정에 대한 자세한 내용은 이전 포스팅을 참고하도록 하자. (글의 맨아래에 링크참고) [노드 1 IP]:[노드 연결 포트] [노드 2 IP]:[노드 연결 포트] 이렇게 설정파일을 설정 후 클러스터를 활성화 하였는데, 현재 클러스터의 상태를 확인해보자. ./control.sh --baseline 클러스터 상태가 active인 것을 확인 할 수 있으며, 두대의 노드가 연결되..
![[MsSQL] Clustered 연구 노트 - 1. Heap Table 구조 파헤치기 (Page, Index)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqPCeZ%2FbtsFt57I0aS%2FIY38q9M9FI2DfxU415UrL1%2Fimg.png)
MsSQL Clustered 연구 노트 MsSQL의 테이블은 2가지 데이터 저장 자료구조를 가지고 있다. 하나는 데이터를 비어있는 Page에 데이터를 담는 Heap 구조와 Clustered Key 값을 가지고 정렬하여 저장하는 Clustered 구조를 가지고 있다. 이번에 작성하는 MsSQL Clustered 연구노트에는 Heap과 Clustered의 데이터가 저장되는 자료구조와 각 구조의 차이에 대해서 한번 Page단위까지 찾아가 보도록하겠다. 테스트를 위해 파일 그룹과 ndf파일을 분리하여 생성하였다. Table을 위치할 DATA 파일 그룹과 Index를 각각 위치시킬 INDEX_01 ~ INDEX_03 파일 그룹을 생성하여, 데이터의 변화 과정에 대해서 확인해보도록 하겠다. Test Table 만들..
![[Ignite][Linux] 4. Cluster Setting - 클러스터 노드 설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0hrez%2FbtsFm2EF4ss%2FPEMYcKE4OJVHKFl75PzZFK%2Fimg.jpg)
Ignite Cluster Setting Ignite의 장점은 클러스터 구성을 하여 여러대의 서버 자원을 사용하기 편하다는 점에 있다. 기본적으로 Ignite를 사용하는데 있어서는 당연히 클러스터를 구성해서 사용한다고 생각한다. 여러대의 서버 메모리를 사용하기위해 클러스터 구성을 한번 해보도록 한다. 구성 옵션 지정하는 방법과 서버의 설정들에 대해서 알아보자. config.xml 설정 config.xml 파일에서의 설정은 크게 두가지로 나뉜다. 클러스터에 참여할 노드들의 리스트와 해당 노드들의 데이터를 동기화 할 포트의 설정이다. 클러스터 노드 속성 앞서 항성 작업하던 config.xml 파일에 노드에 대한 설정을 진행하도록 한다. [노드 1 IP]:[노드 연결 포트] [노드 2 IP]:[노드 연결 포트..
![[Ignite][Linux] 3-1. Config.xml - Memory / disk 관련 기본 설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FebtBon%2FbtsFb9in3Uc%2FwSJYtknKoe41x60K4wgJZk%2Fimg.jpg)
Ingite Config 옵션 Ignite의 옵션들은 Config.xml 파일을 통해 적용을 하는것을 기본으로 한다. Config.xml 파일에서 설정 할 수 있는 옵션들은 매우 많지만, 이번 포스팅에서는 운영에 직관적으로 필요한 간단한 옵션들 중 Memory와 Disk관련 된 설정에 대해서 적용해보도록 하겠다. 이전 포스팅에서 config.xml파일을 마운트해서 사용하는 방법을 통해 도커 컨테이너에서 실행 될 Ignite에 옵션들을 적용해본다. [Ignite][Linux] 2. Setting - Docker를 활용한 Ignite 세팅 default-config.xml Ignite는 기본적으로 다른 설정이 없다면, {$IGNITE_HOME}/config 에 위치한 default-config.xml을 불러..
![[Ignite][Linux] 2. Setting - Docker를 활용한 Ignite 세팅](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7WTau%2FbtsEj44LSLs%2F0kK22GQdd1vWF5qFMknN61%2Fimg.jpg)
Docker 옵션들을 통해 Ignite 세팅 우리는 아래의 지난 글에서 도커의 컨테이너에 Ignite를 설치하였다. [Ignite][Linux] 1. Setup - Docker를 활용한 Ignite 설치 LocalHost에 도커의 내부 컨테이너에 실행되고 있는 Ignite와 연결 될 기본적인 세팅하는 방법에 대해 소개해본다. 우리가 기존에 실행하고 있던 컨테이너에 대해서 삭제를 하고 새롭게 컨테이너를 올렸다 삭제해가며 세팅을 진행 해보자. 이 과정은 아래의 내용에 포함하지 않고 매번 컨테이너를 생성할 때마다 진행하지만 생략하겠다. -- 실행 중인 컨테이너 확인 docker ps -- 컨테이너 중지 docker stop [container id] -- 컨테이너 삭제 docker rm [container i..
![[Ignite][Linux] 1. Setup - Docker를 활용한 Ignite 설치](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmQ9YZ%2FbtsD087HnUO%2FSlmCeTWxaekps32qf6byB1%2Fimg.jpg)
Docker로 Ignite 설치하기 Apache Ignite를 설치하는 방법이 몇 가지있지만 그 중 Docker를 활용하여 설치하는 방법에 대해 설명해볼까 한다. 리눅스에 기본적인 도커 설치에 대해서는 아래의 글을 참고 바란다. [Docker][Linux] (1) CentOS7 에서 도커 설치 및 Data Root DIR 변경 이글에 포함된 도커 혹은 도커 명령어에 대한 설명은 나중에 도커 관련 글에서 하도록 하겠다. Docker Image - Ignite Ignite 설치를 위해 도커 이미지를 검색하여 다운받는 과정을 거처야한다. 우선 우리가 설치할 Ignite 이미지를 검색해 보자. docker search ignite 위와 같이 검색시 여러 이미지들이 나오는데 그중 STARS가 제일 많은 apach..