일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 데이터모델링
- Neo4j
- concurrency
- cypher
- 정리
- graph
- 시험
- 사이버보안
- 사이버 보안
- GraphDB
- 자격증
- 정보보안기사
- Database
- go
- SQLD
- 공부
- Golang
- IT보안
- 랜섬웨어
- 정보보안
- security
- 해킹
- 보안
- neo4j성능
- 그래프데이터베이스
- 그래프 데이터베이스
- 보안솔루션
- 프로그래밍
- 보안 분석
- 위협 탐지
- Today
- Total
목록분류 전체보기 (67)
Jamie the programmer

PC방에서 오버워치를 하던 중 갑자기 연결이 끊겼다면, 단순히 "인터넷이 안 된다"고 말하는 것만으로는 문제를 해결하기 어렵습니다. 네트워크 장애의 원인은 다양한 요소에 의해 발생할 수 있으며, 이를 효과적으로 분석하려면 OSI 7계층 모델을 이해하고 적용하는 것이 중요합니다.이 글에서는 OSI 7계층을 기반으로 네트워크 장애를 분석하는 방법을 설명하고, PC방에서 발생할 수 있는 다양한 문제 상황을 실제 사례와 함께 살펴보겠습니다.1. 네트워크 장애 원인 분석: 전체 vs 개별 PC먼저, 네트워크 장애가 발생한 범위를 확인하는 것이 중요합니다. 다음 두 가지 경우로 나누어 분석할 수 있습니다.① 모든 PC에서 동일한 문제가 발생하는 경우이 경우 네트워크의 공용 장비(라우터, 스위치, 인터넷 회선 등)에..

1. 관계(Relationship)관계는 엔터티 간의 관련성을 의미하며 존재 관계와 행위 관계로 분류된다. 2. 존재 관계존재 관계는 엔터티 간의 상태를 의미한다.예를 들어 고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 할당점으로 관리점에서 고객을 관리한다. 3. 행위 관계행위 관계는 엔터티 간에 어떤 행위가 있는 것을 말한다.계좌를 사용해서 주문을 발주하는 관계가 만들어진다.예를 들어 증권회사는 계좌를 개설하고 주문을 발주하는 것이다. 4. 관계 차수(Cardinality)관계 차수는 두 개의 엔터티 간에 관계에 참여하는 수를 의미한다.예를 들어 한 명의 고객은 여러 개의 계좌를 개설할 수가 있다.이러한 경우는 1대N 관계가 된다. 5. 관계 차수의 종류1대1 관계1대1 관계는 완전 1대1 관..

1. 속성(Attribute)속성이라는 것은 업무에서 필요한 정보인 엔터티가 가지는 항목이다.속성은 더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다.인스턴스의 구성요소이고 의미적으로 더 이상 분해되지 않는다. 2. 속성의 특징속성은 업무에서 관리되는 정보이다.속성은 하나의 값만 가진다.주식별자에게 함수적으로 종속된다.즉, 기본키가 변경되면 속성의 값도 변경된다는 것이다. 3. 속성의 종류분해 여부에 따른 속성의 종류단일 속성하나의 의미로 구성된 것으로 회원 ID, 이름 등이다.복합 속성여러 개의 의미가 있는 것을로 대표적으로 주소가 있다.주소는 시, 군, 동 등으로 분해될 수 있다.다중값 속성속성에 여러 개의 값을 가질 수 있는 것으로 예를 들어 상품 리스트가 있다.다중값 속성은 ..

Neo4j에서 상속(Inheritance) 또는 IS-A 관계는 객체 지향 프로그래밍(OOP)에서의 상속 개념을 그래프 데이터베이스에 적용한 것입니다. 이는 한 노드가 다른 노드의 특성을 상속받는 관계를 의미하며, 데이터 모델링에서 유연성과 재사용성을 높이는 데 유용합니다. 아래에서 Neo4j에서 상속 또는 IS-A 관계를 구현하는 방법과 사용 사례를 설명드리겠습니다.상속(Inheritance) 또는 IS-A 관계란?IS-A 관계는 한 엔티티가 다른 엔티티의 특성을 상속받는 관계를 의미합니다.예: "고양이는 동물이다" → Cat 노드는 Animal 노드의 특성을 상속받습니다.Neo4j에서는 상속을 명시적으로 지원하지 않지만, 라벨(Labels)과 관계(Relationships)를 활용하여 이를 구현할 수..

Neo4j에서 PROFILE과 EXPLAIN은 Cypher 쿼리의 실행 계획을 분석하는 데 사용되는 두 가지 키워드입니다. 이 둘은 비슷해 보이지만, 목적과 제공하는 정보에서 중요한 차이가 있습니다. 아래에서 PROFILE과 EXPLAIN의 차이점을 상세히 설명드리겠습니다.PROFILE 설명목적: 쿼리의 실제 실행 계획과 실행 통계를 제공합니다.동작 방식:쿼리를 실제로 실행하고, 실행 중 발생하는 작업(Operation)과 비용(Cost)을 상세히 보여줍니다.실행 계획과 함께 실제 데이터(DB Hits, Rows, Time 등)를 제공합니다.사용 예시: PROFILE MATCH (p:Person)-[:ACTED_IN]->(m:Movie) RETURN p.name, m.title;주요 정보:실행 계획(..

Neo4j의 PROFILE 키워드는 Cypher 쿼리의 실행 계획을 분석하고, 쿼리가 어떻게 실행되는지 상세한 정보를 제공하는 데 사용됩니다. 이 키워드는 쿼리의 성능을 최적화하거나 문제를 진단할 때 매우 유용합니다. 아래에서 PROFILE의 사용법과 주요 기능을 설명드리겠습니다.PROFILE 키워드란?PROFILE은 Cypher 쿼리의 실행 계획을 분석하고, 쿼리 실행 중 발생하는 작업(Operation)과 비용(Cost)을 상세히 보여줍니다.쿼리가 어떻게 실행되는지, 어떤 단계에서 시간과 자원이 소모되는지 확인할 수 있습니다.EXPLAIN과 유사하지만, PROFILE은 실제 쿼리를 실행하고 실행 통계를 제공합니다.PROFILE 사용법PROFILE 키워드는 Cypher 쿼리 앞에 추가하여 사용합니다.예..

Neo4j에서의 Fanout은 그래프 데이터베이스에서 특정 노드가 매우 많은 수의 관계를 가지고 있어 발생하는 문제를 의미합니다. 이는 슈퍼 노드(Super Node) 문제와 밀접하게 관련되어 있으며, 특히 그래프 탐색 및 쿼리 성능에 큰 영향을 미칩니다. Fanout는 그래프 데이터베이스 설계와 최적화에서 중요한 개념입니다.Fanout란?Fanout는 특정 노드로부터 매우 많은 수의 관계가 뻗어 나가는 상황을 말합니다.예를 들어, 한 노드가 수천 또는 수백만 개의 관계를 가지고 있다면, 이 노드는 Fanout 문제를 일으킬 수 있습니다.Fanout는 그래프 탐색 시 성능 저하를 초래하며, 특히 너비 우선 탐색(BFS)이나 깊이 우선 탐색(DFS)에서 문제가 됩니다.Fanout가 발생하는 경우소셜 네트워..

Neo4j의 Cypher 쿼리 언어를 사용할 때 권장되는 컨벤션(Convention)은 코드의 가독성, 일관성, 유지보수성을 높이는 데 도움을 줍니다. 아래는 Cypher를 작성할 때 일반적으로 따르는 컨벤션들입니다.1. 키워드(Keyword)Cypher의 키워드는 대문자로 작성합니다.예: MATCH, RETURN, WHERE, CREATE, MERGE, SET, DELETE, WITH, ORDER BY, LIMIT 등.예시: MATCH (p:Person)-[:ACTED_IN]->(m:Movie) RETURN p.name, m.title;2. 라벨(Labels)라벨은 파스칼 케이스(PascalCase)로 작성합니다.예: Person, Movie, UserProfile, CustomerOrder.예시:..