본문 바로가기

Database

(152)
데이터 품질 진단, 데이터 품질이라는게 무엇인가? (#DQ.01) 데이터 품질 진단, 데이터 품질이라는게 무엇인가? (#DQ.01) 데이터 품질이란? 요즘과 같이 데이터가 넘쳐나는 세상에서 데이터의 품질은 매우 중요한 부분이다. 그렇다면, 데이터 품질은 어떤 개념을 이야기 하는것 일까? DB에는 데이터가 있다. 누군가는 그 데이터를 이용해서 서비스를 받거나, 제공하고 있다. 서비스를 제공하는 사람은 데이터를 입력 또는 가공 하는 행위를 하며, 서비스를 받는 사람은 데이터 값을 이용해서 유의미한 정보를 제공 받는 쪽에 있다. 여기에서 그 데이터의 품질, 즉 퀄리티는 당연히 좋아야 한다. 데이터 품질이 곧 서비스의 성패를 가르게 되는것이다. 그럼 데이터 품질에 대해서 간단한 예를 들어보자. 위와 같은 사원목록 테이블이 있다. 회사의 사정을 잘 모르는 이가 봤을때도 문제가 ..
[mariadb] autocommit 설정과 트랜잭션 개념과 성질 #[mariadb] autocommit 설정과 트랜잭션 개념과 성질 헐.. autocommit 이라니.. 무슨 애들 장난감 DB도 아니고.. autocommit 이 "ON"이다. 일단, 마리아 DB와 mysql에서 autocommit 확인방법! show variables like 'autocommit%'; 이렇게 해서 "ON" 이 나오면 거긴 오토 커밋이다. 세션단에서 autocommit을 설정 또는 해제하는 방법이다. SET AUTOCOMMIT = TRUE; --> 설정 SET AUTOCOMMIT = FALSE; --> 해제 하지만 위의 명령어로는 세션단에서만 활성화되는 것이다. DB 기본 세팅을 autocommit으로 변경하기 위해선 /etc/my.cnf.d/server.cnf 파일을 열어 이렇게 수..
[oracle]오라클 운영 스크립트 모음 DBA script list #[oracle]오라클 운영 스크립트 모음 DBA script list 안녕하세요. 오라클 관련해서 오랫만에 포스팅합니다. 운영 스크립트 (dba script list) 모음입니다. 바로 시작합니다. 1. 테이블 스페이스 별 크기 조회 SELECT SUBSTRB(TABLESPACE_NAME, 1, 10) AS "테이블스페이스" , SUBSTRB(FILE_NAME, 1, 50) AS "파일명" , TO_CHAR(BLOCKS, '999,999,990') AS "블럭수" , TO_CHAR(BYTES, '99,999,999') AS "크기" FROM DBA_DATA_FILES ORDER BY TABLESPACE_NAME, FILE_NAME ; 2. 테이블 스페이스별 정보 조회 SELECT A.TABLESPACE..
[GPDB] greenplum sql 튜닝 파라미터 정리 (쿼리 튜닝 parameter) #greenplum sql 튜닝 파라미터 정리 (쿼리 튜닝 parameter) 안녕하세요. greenplum database는 오라클처럼 힌트를 사용할 수 없습니다. 그렇다고 느린 쿼리 성능을 그냥 GPORCA 가 시키는 데로 쿼리가 수행되게끔 둘 수는 없죠. gpdb의 파라미터값을 조절하여 쿼리의 성능을 향상할 수 있습니다. 아래에 정리 되어 있는 파라미터 값을 참고하여 최적의 성능으로 GPDB를 사용하세요. - gp_workfile_compress_algorithm=none # default 값은 none 이며, zlib 일 경우에는 pgsql_tmp 사용 시 압축 모드로 사용하기 때문에 동시 사용자수가 높을 경우에 적용할 필요가 있음. - statement_mem # default 값은 125MB이..
[mariadb] 유저별 권한 관리, 권한 목록 종류, DB 권한 관리의 필요성, 권한 조회 안녕하세요. 요즘 새로운 회사에 적응을 해가고 있습니다. 오늘은 mariadb 에서 계정을 생성하고, 각 계정별 권한을 부여하는 업무를 진행 합니다. DB를 관리 함에 있어서 계정은 일종의 방화벽 역할도 할 수 있습니다. 계정별로 접속 가능한 source를 설정 할 수 있으며, 권한을 관리하여 권한 밖의 일을 미연에 방지 함으로 DB 관리의 효율성을 가져 올 수 있습니다. 이처럼 권한 관리는 DB를 운영 함에 필수적인 시스템이라고도 할 수 있습니다. DB마다 특성이 있겠지만, 전 개인별 계정을 사용 하는것을 추천 합니다. 통합 계정을 사용 하면 사용자의 편의성은 증대 되겠지만, 관리적인 효율성은 떨어지게 됩니다. 특정 개발자가 본인이 사용 하는 이외의 오브젝트를 접근하거나, 컨트롤 할 수 있게 된다면 거..
[GPDB] 실시간 빅데이터 처리 DBMS 비교 Firebase Realtime Database vs GPDB 안녕하세요. DB 중에 실시간으로 빅데이터를 처리할 수 있는 게 제가 아는 것 중 GPDB라는 게 있어서 이 GPDB의 정보를 Firebase Realtime Database 와 비교해서 정리해 보았습니다. GPDB란 Pivotal에서 만든 DBMS로 MPP 기반의 병렬처리 빅데이터용 DB입니다. 성능은 매우 빠르고, 저장소를 무한히 확장할 수 있다는 장점이 있습니다. 병렬 처리를 하다 보니 데이터를 읽어오는 데 있어서 상당한 성능을 보입니다. Postgres 기반으로 개발된 DBMS 이기에 Postgres를 접해본 사람이라면 쉽게 다가갈 수 있습니다. 다만 그 병렬 처리를 위한 아키텍처를 이해해야 한다는 과정은 필요하겠죠. 참고로, 제가 직접 GPDB를 다룬 건 약 1년 전 국내 모 대기업 전자 회사에..
[mariadb] DB 계정 별 권한 확인, 적용, 부여, 회수 계정 생성 mariadb, mysql 에서 사용 할 수 있는 DB 계정별 권한 확인, 적용, 부여 안내드리도록 하겠습니다. 우선, 계정 목록을 보는 방법 select host, user from user; 계정 생성 방법 create user 'user'@'127.0.0.1' identified by 'Password'; # localhost에서만 접속 허용 create user 'user'@'%' identified by 'Password'; # everywhere 접속 허용 유저별 권한 부여 grant all privileges on TableName.* to 'user'@'127.0.0.1'; #localhost에서만 허용 grant select on testDB.* to 'user'@'%'; #everywh..
[mariadb] general log 설정 및 table에 log 쌓고 조회 설정 하기 안녕하세요. 오늘 mariadb, 물론 mysql에도 있는 log 관련된 기능 공유드립니다. 우선, mariadb에서는 db log를 저장할 수 있는데, 이것을 file이나 table에 기록할 수 있습니다. 이건 옵션으로 설정을 하는 건데요. 우선, general log가 무엇이냐? mariadb에서 수행되는 모든 쿼리를 로깅하는 기능입니다. 이 기능을 사용해서 log file을 쌓아, 조회할 수 있겠지요. 좀 더 조회를 편하게 하기 위해 general log를 table에 쌓을 수 도 있는데요. 이 방법을 소개하겠습니다. show variables like '%general%'; 우선 mariadb에 접속해서 위 sql을 실행합니다. 그럼 +------------------+---------------..