데이터베이스 Database

이번 포스팅에서는 프로젝트 수행 사례를 통해 데이터 품질 점검을 위한 비즈니스 규칙 유형에는 어떤 것이 있는지, 그리고 실제로 품질 진단 측정을 위한 SQL 쿼리는 어떻게 작성해야 하는지에 대해서 공유하고자 한다. Intro_ 프로젝트 개요 이번 프로젝트에서는 크게 두 가지 업무를 수행했다. (1) 데이터 자산화 첫번째는 데이터 자산화 업무로, 고객사의 시스템별로 존재하는 테이블 및 컬럼 정보를 수집해서 데이터 모델을 작성해 총 10,000여 개의 테이블을 가시화했다. 이 중 미사용 테이블을 제외하고 사용 중인 테이블 5,000 개에 대해서는 한글화 및 용어 표준화 작업도 진행하였다. (2) 데이터 품질 관리 두번째는 고객사에서 품질 관리 활동이 가능하도록, 데이터 품질 관리에 필요한 지침을 수립하고 고..
Intro 이번에 투입된 프로젝트는 데이터 거버넌스를 구축하는 프로젝트였다. '데이터 거버넌스'는 사실 포괄적으로 사용되는 용어이기 때문에, 고객사에서 '거버넌스'를 어떻게 바라보는가에 따라서 수행 영역이 달라지는 것 같다. 일반적으로 이론화된 데이터 거버넌스를 구성하는 요소는 다음과 같다. 데이터 거버넌스란? 전사적인 데이터 관리 방향을 제시하고 통제하는 활동 전반을 말한다. 1. 원칙 및 프로세스 - 비전 및 원칙, 업무에 대한 문서화를 말함 - e.g. 데이터 관리 체계 정의서, 데이터 모델 관리 지침서, 데이터 표준 지침서, 데이터 품질 지침서 등 2. 조직 - 담당자 및 R&R 정의 3. 관리 도구 - 메타데이터, 데이터 표준 승인 관리, 데이터 품질, 데이터 모델 관리 도구 등 이번 프로젝트에..
Intro 나는 DBMS 아키텍처나 SQL을 공부할 때, 모두 'Oracle’을 기준으로 배웠다. 그런데 막상 프로젝트에 투입되니 샤용해야 할 DBMS는 사이트마다 천차만별어서 기존에 알던 것들이 무용지물이 되었다. (지금 프로젝트에서는 Sybase ASE, HANA, IQ와 PostgreSQL을 주로 사용하고 있다.) DBMS에 따라서 완전히 다르게 동작하는 경우가 많아서 마치 새로운 세계관 속에 들어와있는 것처럼 느껴진다. 처음에는 DBMS별로 함수의 차이부터 비교를 해보다가 세부적인 차이가 너무 많아서 1:1 비교도 불가능할 정도라는 걸 느끼고 이 무용한 작업을 때려치웠다. 대신, 새로운 DBMS를 만났을 때 어떤 점을 먼저 확인해보면 좋을지 일종의 체크리스트를 만들어 보기로 했다. 그 시작으로, ..
1. 개요 오라클 클라우드 사인인(Sign in)을 하려는데 아래 과정을 모두 마친 분들을 위한 글입니다. 메일 인증 완료 지급 검증 방법 입력 완료 ✅ Thank you! 메시지 확인 여기까지 다 되면, 팝업을 닫고 "내 무료 체험판 시작하기"만 누르면 될 것 같은데.... 2. 체크포인트 세 가지 마지막 단계인 "내 무료 체험판 시작하기"에서 자꾸 실패하시는 분들, 아래 세 가지를 확인해보세요. (1) 마스터/비자/아멕스 신용카드가 맞는지? 체크카드🙅‍♀️✖️ 오라클은 체크카드를 받지 않습니다. (2) 해외 결제(온라인)가 가능한 카드인지? 온라인 해외 결제가 가능한 카드여야 합니다. 차단된 경우가 있으니 카드사 홈페이지나 애플리케이션에서 설정을 확인하세요. (3) 카드사에 영문 빌링 주소가 등록되어..
책의 목차 4. SQL문 분석과 공유 풀 4.1 SQL문의 분석과 공유 풀을 왜 배워야 하는가? 4.2 SQL문과 일반적인 프로그래밍 언어의 차이 4.3 서버 프로세스와 분석 4.4 실행 계획이 최적이라는 것을 판단하기 위해서는? 4.5 공유 풀의 동작과 구조 4.6 수치로 알아보는 분석과 공유 풀의 정보 4.7 요약 5 .오라클의 기동과 정지 5.1 기동과 정지를 왜 배워야 하는가? 5.2 오라클의 기동/정지의 개요 5.3 업무의 시작에 해당하는 오라클의 기동 5.4 인스턴스, 데이터베이스, 그리고 주요 파일의 구성 5.5 기동 처리의 흐름과 내부 동작 5.6 업무 종료에 해당하는 오라클의 정지 5.7 데이터베이스를 수동으로 생성하기 5.8 요약 SQL문 분석과 공유 풀 SQL문 분석 규칙 기반 비용 ..
책의 목차 3. 캐시와 공유 메모리 3.1 어째서 캐시가 필요한 것인가? 3.2 그래서 캐시란 대체 무엇인가? 3.3 데이터는 블록 단위로 관리 3.4 캐시를 사용해서 인덱스 검색을 효율적으로 3.5 프로세스는 캐시를 공유 3.6 공유 메모리에 필요한 설정 3.7 공유 메모리는 어떤 식으로 보이는가? 3.8 버퍼 캐시를 정리하는 LRU 알고리즘 3.9 오라클뿐만이 아닌 OS나 스토리지에 대해서도 생각하자 3.10 요약 요약 내용 캐시 메모리 사용으로 디스크 처리량을 줄이기 위해 사용 튜닝 포인트 IT일반용어 캐시 vs. 오라클 캐시 IT 일반 : 작업 CPU 캐시 데이터 캐시 오라클 버퍼 캐시 오라클 버퍼 캐시 블록 단위 관리 사이즈: 2KB, 4KB, 8KB✅, 16KB(DW), 32KB 중 선택 sp..
책의 목차 1. I/O와 디스크의 관계 1.1 오라클을 이해하기 위한 필수 키워드 1.2 오라클과 디스크(하드디스크) 1.3 디스크의 동작 1.4 데이터를 보증하기 위한 디스크 1.5 요약1.1 오라클을 이해하기 위한 필수 키워드 2. 오라클의 여러 프로세스 2.1 오라클의 역할 이미지 2.2 데이터베이스의 데이터는 모두의 것 2.3 오라클이 여러 개의 프로세스로 구성된 이유 2.4 서버 프로세스와 백그라운드 프로세스의 역할 2.5 각 프로세스가 수행하는 처리 2.6 요약 요약 내용 1. I/O와 디스크의 관계 오라클의 키워드 ➡️ 서로 상반되는 성질 병렬처리 = 높은 처리량 모순 없는 병렬처리를 위해 Lock 필요 응답 시간 커밋한 데이터의 보호 디스크 기록을 자주하면 응답시간이 나빠짐 디스크 구성 디..
CSV 파일 임포팅 데이터 임포트 방식 LOAD CSV Cypher의 built-in clause를 사용해 LOAD CSV를 통해 CSV 파일을 import 할 수 있음 APOC library - JSON, XML JSON, XML 파일을 불러오기 위해서는 APOC library를 사용함 CSV 파일도 APOC으로 불러올 수 있음 이 경우에는 Cypher 코드 없이 불러올 수 있음 Neo4j 지원 데이터 타입 그래프에 활용이 가능한 데이터 타입은 아래와 같음 String Long (integer values) Double (decimal values) Boolean Date/Datetime Point (spatial) StringArray (comma-separated list of strings) Lo..
중복 데이터 중복 속성 만들기 MATCH (apollo:Movie { title: 'Apollo 13', tmdbId: 568, released: '1995-06-30', imdbRating: 7.6, genres: ['Drama', 'Adventure', 'IMAX'] }) MATCH (sleep:Movie { title: 'Sleepless in Seattle', tmdbId: 858, released: '1993-06-25', imdbRating: 6.8, genres: ['Comedy', 'Drama', 'Romance'] }) MATCH (hoffa:Movie { title: 'Hoffa', tmdbId: 10410, released: '1992-12-25', imdbRating: 6.6, ge..
Neo4j 그래프아카데미의 'Graph Data Modeling Fundamentals'의 내용을 정리한 내용입니다. 관계 모델링 절차 좋은 이름 짓기 관계 생성 관계명, 방향이 선언되어야 한다 방향 Direction 관계는 통상적으로 2개 노드 사이에 형성됨 (재귀적) 그러나 하나의 노드에도 형성할 수 있음 속성 Properties 노드/관계 생성 MERGE (:Label) - [:RELATION] - (:Label) //alias 선언 MATCH (sandy:User {name: 'Sandy Jones'}) MATCH (sleep:Movie {title: 'Sleepless in Seattle'}) //관계 생성 MERGE (sandy)-[:RATED {rating:4}]->(sleep) 위 문장과 ..
Neo4j 그래프아카데미의 'Graph Data Modeling Fundamentals'의 내용을 정리한 내용입니다. 모델링을 해야 하는 이유 애플리케이션에서 활용할 방안(use cases) 모색 활용 계획(key use cases)과 Cypher 수행 속도를 고려한 구조 마련 따라서 USE CASES 정의가 가장 중요하며, 선결되어야 함 모델링 절차 유스케이스 정의 기초 그래프데이터 모델 정의 1. 노드 모델링 2. 관계 모델링 초기 그래프 데이터 모델은 단순히 하나의 시작점으로서, 유스케이스에 따라서 변화가 필요함 유스케이스 테스트 그래프 형성 및 테스트 데이터 입력 유스케이스 테스트 및 그래프 성능 확인 리팩토링 리테스트 최종 목적: 유스케이스에 대한 최적 성능의 모델 디자인 사전 정의 대상 애플리..
기본 표기법 (NodeName) 노드는 괄호로 표기 (Node) (:LabelName) 레이블 표시를 위해서는 콜론(:) 사용 (:Person) -- 관계는 더블하이픈(--)으로 표기 (:Person)--(:Movie) --> 방향은 로 표기 (:Person)-->(:Movie) Neo4j에서 관계를 생성할 때는 방향이 꼭 설정되어야 함 명시하지 않을 시에는 좌-->우로 설정됨 [:RELATIONSHIP_NAME] The type of the relationship is written using the square brackets between the two dashes: [ and ], for example [:ACTED_IN] {} JSON와 마찬가지로 중괄호로 괄호를 표시함 속성의 키-값..
H 에이치
'데이터베이스 Database' 카테고리의 글 목록