본문 바로가기

Database

(155)
[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을 실행합니다. 그럼 +------------------+---------------..
[mariadb] table add column 옵션 (컬럼 추가 옵션) after, first 안녕하세요. mariadb 에서 컬럼을 추가 할 일이 있는데.. (mysql도 동일 합니다) 어떻게 하느냐.. 도 중요하지만, 옵션을 줘서 편리하게 Table을 운용 할 수 있습니다. 일단, 일반적인 컬럼 추가 방식 부터 한번 볼께요. ALTER TABLE column_test ADD COLUMN company_name VARCHAR(10); 이렇게 컬럼을 추가 하게 되면.. 이 컬럼은 column_test라는 테이블의 젤 끝에 붙게 됩니다. 그래도, select 하고 SQL 작성하는데는 크게 문제가 없지만, 관리하는 DBA 입장에선 뭔가 깨름칙 합니다.. 유형이 비슷한 컬럼 끼리 좀 줄을 맞춰 놓고 싶은데요.. 이래서 필요한 옵션~! AFTER 와 FIRST 입니다. 여기서 딱! 감이 오시죠! ㅎㅎ 시..
[mariaDB] DB내 database, table, column, index, procedule, function 등 기준정보 조회 안녕하세요. mariaDB내 Table, column, index, procedule, function 등 간단한 기준정보들을 조회 하는 쿼리를 공유합니다. # database 목록 조회 SHOW DATABASES # table 목록 조회 SELECT table_schema , table_name , table_comment , table_rows FROM information_schema.`TABLES` ORDER BY 1 , 2; # schema 별 테이블 건수 조회 SELECT table_schema , COUNT(*) FROM information_schema.`TABLES` GROUP BY table_schema; # column 목록 조회 SELECT table_schema , table_na..
[Database]Transaction Isolation Level(트랜잭션 고립 레벨) [Database]Transaction Isolation Level(트랜잭션 고립 레벨) 트랜잭션 고립 레벨 Database를 관리, 운영, 지원하다보면트랜잭션이라는 말을 많이 듣게 됩니다.이때 다양한 트랜잭션 관련 용어들을 보고 듣게 되는데, 잘 이해가 안가는 표현들이 많았던 경험들이 있으실겁니다. 오늘은 거기에 대한 내용을 정리 해볼께요~ 트랜잭션에서 병행 작업시 발생하는 문제점 ◎ dirty reads : 다른 트랜잭션에서 커밋되지 않은 변경내용을 볼 수 있다.◎ nonrepeatable reads : 최초에 읽기 작업 후, 다른 트랜잭션이 데이터를 변경 시키고, 그 다음 읽기 작업이 변경된 사항을 읽어들여 최초의 읽기와 두 번째 읽기 작업 의 결과가 불일치 하는 경우. ◎ phantom reads..
[GPDB DBA Guide v5.1 한글판] #성능관리 [GPDB DBA Guide v5.1 한글판] #성능관리 ##서론 참고##2018/08/20 - [GPDB Database Administrator Guide 한글판 작업] - Greenplum database administrator 한글판 작업 시작 및 안내사항 성능관리이 섹션에서는 Greenplum 데이터베이스의 성능관리, 즉, 데이터베이스를 모니터링 하는 방법과 리소스활용의 우선 순위를 지정 하도록 워크로드를 구성하는 방법을 포함 합니다. ##섹션 리스트## ※ 데이터베이스 성능 정의- 시스템 성능 관리에는 성능 측정, 성능 문제의 원인 파악, 문제 해결에 사용할 수 있는 툴 및 기술 적용 등이 포함됩니다.※ 성능 문제의 일반적인 원인- 이 섹션에서는 일반적인 성능 문제 및 문제에 대한 잠재적인 ..
[데이터베이스 모델링]DB 데이터 모델링의 중요성 및 유의점 데이터 모델링의 중요성 및 유의점 1) 파급효과 (Leverage) - 시스템 구축를 하는동안의 각 단위 테스트들이 잘 진행되고, 완료 되면 전체를 묶어서 병행 또는 통합테스트를 거치게 됩니다. 이때 데이터 모델의 변경이 불가피한 상황이 발생 되면 그 데이터 구조 변경에 따라 표준 영향 분석, 응용 변경 영향 분석 등 많은 영향 분석이 일어나게 됩니다. 이때 데이터 구조의 변경으로 인해 발생되는 변경작업은 시스템 전체 구축 프로젝트에서 큰 위험 요소가 될 수 있습니다. 2) 복잡한 정보 요구사항의 간결한 표현 (Conciseness) - 데이터 모델은 구축 대상 시스템의 정보 요구사항과 한계를 가장 명확하고 간결하게 표현 할 수 있는 방법입니다. 데이터 모델은 시스템을 구축하는 사람들이 설계자의 의도대로..