본문 바로가기
728x90

DataBase70

[NoSQL] MongoDB cluster 구성 정리 (feat production, NCP) NCP 서비스 중 MongoDB cluster를 생성해보면서, cluster를 구성할 수 있는 방법들을 정리 해봤습니다. 1. MongoDB Cluster Type 비교 클러스터 타입 이중화 구성 서버 생성 수(대) 구성 Stand-alone X 1 Standalone Single Replica Set O 3~7 Primary, Secondary, Arbiter Sharding O Mongos : 2~5 Config : 3 Shard: 2개 이상(최대 5개) Shard(Replica Set)당 Member: 3~7 Shard(Replica Set)당 Arbiter: 0~1 Mongos, Primary, Secondary, Arbiter 2. Single replica set vs sharding Sing.. 2024. 2. 26.
[NoSQL] Docker로 EC2에 MongoDB 설치해서 NoSQL booster for mongodb에 연결하기 이번 포스트에는 AWS EC2 ubuntu 20.04 lts에 Docker를 설치하고, mongodb를 설치 및 연결해보겠습니다. NoSQL Booster for MongoDB가 없으신 분은 아래 링크를 통해 다운로드 받아주세요. https://nosqlbooster.com/downloads NoSQLBooster - The Smartest GUI Tool and IDE for MongoDB nosqlbooster.com 1. EC2 생성 EC2 에서 20.04 LTS ubuntu 생성해줍니다. 공식 홈페이지를 찾아보면 MongoDB docker로 띄우기위해 최소로 필요한 서버의 크기는 2vCore 와 4GB mem정도로 나옵니다. 2. Docker 설치 // apt 인덱스 업데이트 $ sudo apt-.. 2024. 2. 25.
[Database] Redshift Procedure를 airflow로 제출하기 (error 정리) 에러 airflow에서 redshift를 pyscogp2를 이용하여 연결하고, procedure를 제출했는데, 다음과 같은 에러가 있었다. psycopg2.errors.InvalidTransactionTermination: ROLLBACK cannot be invoked from a procedure that is executing in an atomic context. HINT: Try calling the procedure as a top-level call i.e. not from within an explicit transaction block. Or, if this procedure (or one of its ancestors in the call chain) was created with SE.. 2023. 10. 20.
[DataBase] RDBMS 이관 PostgreSQL to MySQL, 여러가지 방법과 에러 정리 이번 포스트에는 회사업무중에 필요에의해 기존에 있던 PostgreSQL DB를 MySQL로 이관시켜야 하는 요구사항이 있었습니다. 보통 PostgreSQL이 더 관대한 RDBMS로써 이기종 DBMS간 이관을 할 때, 찾아보니 MySQL → PostgreSQL은 많이 사례가 있고 자료가 있었지만, 우리의 경우 반대의 경우 였기 때문에 많은 리서칭이 필요했습니다. 이관 대상 대상 구분 대상 여부 스키마(Schemas) Y(MySQL에서는 Databases) 테이블(Tables) Y 제약사항(Constraints) Y Index Y Sequence Y(Auto Increments) User / Role - 이관 방법 1. PostgreSQL dump file https://www.postgresql.org/d.. 2023. 9. 29.
[Data] 로그(Log) 데이터의 개념과 활용, 사례 및 수집 알아보기 이번 포스트에는 log데이터에 대해 전반적으로 알아보고 어떻게 수집되고 활용되는지 기업의 사례를 들어가며 정리해보겠습니다. 1. 로그 데이터(log data)란? IT인프라에서 발생하는 모든 상황의 데이터(서비스나 시스템 가동 시 발생되는 이벤트의 기록) 소프트웨어 및 하드웨어,인프라의 상태를 파악하는 시각적 정보의 역할 최근 사용자의 사용성 및 행동 패턴을 확인하거나 유저 클러스터링, 모델링 등 다양한 목적으로 사용되는 행동 기반 데이터 사용자의 행동 패턴을 분석하는데 근간이 되는 데이터의 역할 대체로 시간(TimeStamp)와 함께 출력 되기 때문에 시계열 데이터 개념에 포함되는 개념 2. 로그의 형태 정해진 규칙에 의거하여 Key-Value, JSON 형태로 표현 Key 순서에 맞게 Value 값으.. 2023. 4. 6.
[Data] 데이터의 종류, 서비스 데이터와 행동 데이터(로그성 데이터) 기업에서 다루는 데이터는 크게 2가지로 나뉩니다. 하나는 서비스 데이터고 다른 하나는 사용자 행동 데이터, 즉 로그성 데이터로 볼 수 있습니다. 이번 포스트에는 각각 다른 성격의 데이터에 대해 정리하겠습니다. 1. 서비스 데이터 회원가입, 결제, 제출 등 서비스 운영을 위해서 반드시 필요한 데이터 트랜잭션 데이터라고도 불리우는 데이터 무결성이 필요한 비즈니스 데이터(주로 트랜잭션을 보장하는 RDB에 저장) 2. 행동 데이터 사용자들의 행동 패턴을 확인하기 위해서 별도로 저장하는 데이터 웹 로그 데이터, 앱 로그 데이터, 이벤트 데이터, 사용자 로그 데이터 데이터 규모(사이즈)가 큼 데이터 신뢰도가 서비스 데이터보다 낮음 누락,중복 집계 될 가능성이 있음 웹사이트 페이지뷰, 스크롤, 클릭 등 페이지뷰: 어.. 2023. 4. 5.
[DataBase] Oracle DBMS Synonym (Public, Private)개념과 실습 1. Synonym이란? 시노님(Synonym)의 뜻은 동의어이며 일종의 별칭 오라클에서 쿼리문을 작성할 때 스키마명(소유자명)을 붙이지 않고 테이블을 사용하고 있다면 해당 테이블의 시노님을 사용하고 있는 것 시노님은 Table, View, Procedure, Function, Sequence 등의 오라클 오브젝트에 사용 가능 (mysql에는 없는 기능) MySQL은 DB.Table의 구조 2. Synonym의 장점 오브젝트명을 짧게하여 SQL문을 단순화 스키마, 오브젝트명(테이블명 등)이 변경 되어도 시노님만 재생성하면 SQL문은 변경하지 않아도 됨 오브젝트를 외부에 제공할 경우 스키마, 오브젝트명을 숨길 수 있어서 보안에 도움이 됨 3. Synonym 문법 CREATE [OR REPLACE] [PUB.. 2023. 2. 15.
[Data] 데이터 관리, 마스터 데이터와 MDM(Master Data Management) 1. 마스터 데이터란? 마스터 데이터는 비즈니스 운영에 필수적인 모든 데이터 일반적으로 모든 비즈니스 데이터 중에서 작은 비율이지만, 조직 내에서 가장 복잡하고 중요한 데이터 중 일부 비즈니스 주체 또는 비즈니스가 수행되는 객체(고객, 공급업체, 직원, 제품, 비용센터 등)에 관한 데이터 트랜잭션 데이터와 비교되는 맥락에서 사용 일반적으로 다양한 스프레드시트, 애플리케이션, 물리적 미디어에 분산 사람(고객, 직원, 공급업체), 장소(사무실, 사업장), 사물(제품, 설비자산)과 같은 데이터 마스터 데이터의 예시 고객 마스터 데이터: 이름에서 알 수 있듯이, 고객 마스터 데이터에는 연락처 정보부터 구매 이력, 지급 조건에 이르기까지 고객과의 거래에 필요한 모든 핵심 데이터가 포함 ERP, CRM 및 기타 시.. 2023. 2. 12.
[SQL] SQL 성능확인, Query Plan 보는 법 (Oracle, MySQL) 1. Query Plan이란? SQL 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터 접근에 사용되는 순서가 있는 단계별 집합 엑세스 플랜의 관계형 모델 개념의 특화된 경우 SQL이 선언형이기 때문에 주어진 쿼리를 실행하기 위해 수많은 방법이 존재하는 것이 일반적이며 이에 따라 다양한 성능 차이를 보임 Query Optimizer는 Query 실행을 위한 각기 다른 가능성 있는 올바른 플랜 중 일부를 평가한 다음 최적의 옵션을 고려할 때 반환 2. Query Plan 보는 법, 요소(Oracle) 1) Query Plan 보는 법 위에서 아래로 내려가면서 제일 먼저 읽을 위치 찾기 내려가는 과정에서 같은 들여쓰기가 있으면, 무조건 위에서 아래 순으로 읽기 같은 레벨에 들여쓰기된 하위 스텝이 존재하면.. 2023. 1. 31.
728x90