인터넷 속도 올리기
gpedit.msc
혹시 실행이 안되면 아래 파일 실행
컴퓨터구성>관리템플릿>네트워크>QoS패킷 스케줄러
예약대역폭 제한 클릭
아래와 같이 변경
'그 외' 카테고리의 다른 글
파랑, 풍랑 그리고 너울 (0) | 2020.08.03 |
---|---|
병렬 프로그래밍 용어 정리 (0) | 2020.06.11 |
[R] 재미삼아 푸는 문제 (0) | 2020.01.15 |
지도 그림 그리기 예제 (0) | 2019.11.11 |
[주식] 키움 영웅문 통한 주식 자료다운로드 (0) | 2019.11.11 |
1. 데이터 모델링의 이해(2)
1. 데이터 베이스의 구조
2. 데이터 독립성 요소
1) 외부스키마
View 단계 여러 개의 사용자 관점으로 구성
개개 사용자 단계로서 개개 사용자가 보는 개인적 DB스키마
2) 개념스키마
하나의 개념스키마로 모든 사용자 관점을 통합한 조직 전체 DB를 기술하는 것
3) 내부스키마
DB가 물리적으로 저장된 형식
물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마
4) 논리적 독립성
개념스키마가 변경되어도 외부스키마에 영향을 미치지 않도록 지원하는 것
논리적구조가 변경되어도 응용프로그램에 영향이 없음
5) 물리적 독립성
내부스키마가 변경되어도 외부, 개념스키마에 영향을 미치지 않도록 지원하는 것
저장장치의 구조변경시에도 응용프로그램과 개념스키마에 영향이 없음
3. 사상
외부적/내부적 사상(논리적 사상) : 외부적 뷰와 개념적 뷰의 상호 관련성을 정의
개념적/내부적 사상(물리적 사상) : 개념적 뷰와 저장된 DB와의 상호 관련성을 정의
1) 데이터모델링의 세가지 중요 개념
업무가 관여하는 어떤 것 - 단수 : 엔터티(entity)/복수 : 인스턴스(instance), 어커런스(occurrence)
어떤 것이 가지는 성격(attributes) - 단수 : 속성(attribute)/ 복수 : 속성값(attribute value)
업무가 관여하는 어떤 것 간의 관계 - 단수 : 관계(relationship)/복수 : 페어링(pairing)
2) 관계흐름도(ERD) 작업 순서
1. 엔터티를 그린다.
2. 엔터티를 배치한다.
3. 엔터티 간 관계를 설정한다.
- PK로 속성되는 관계를 설정하도록 한다.
- 중복관계나 cicile 관계에 유의하여 작성
4. 관계명을 기술한다. (현재형을 사용)
5. 관계의 참여도 기술
6. 관계의 필수여부 기술
4. 좋은 데이터 모델의 요소
완전성 : 업무에서 필요로하는 모든 데이터가 데이터 모델에 정의
중복배제 : 하나의 DB에 동일한 사실은 반드시 한번만 기록
업무규칙 : 업무규칙이 데이터 모델에 표현되고 이를 모든 사용자가 공유할 수 있도록 제공
데이터 재사용 : 데이터의 통합성과 독립성에 대해 충분히 고려
- 애플리케이션으로부터 독립적으로 설계되어야 재사용성 향상
- 확장성과 유연성에 초점
의사소통 : 자료분석과정에서 자연스럽게 많은 업무규칙이 도출
통합성 : 동일데이터는 조직의 전체에서 한번만 정의되고 이를 여러 다른 영역에서 참조
'SQL' 카테고리의 다른 글
[SQL] SQLite 시간 자료 추출, table list 확인, 상위 n 개 자료 출력 (0) | 2020.09.23 |
---|---|
1. 데이터모델링의 이해(1) (0) | 2020.01.31 |
SQL개념 정리 (0) | 2020.01.22 |
1. 데이터모델링의 이해(1)
데이터모델링이란?
1. 모델링
모델링 : 사람, 사물, 사건 간에 발생하는 다양한 현상을 표기법에 의해 규칙을 가지고 표기하는 것
1) 모델링의 특징
추상화 : 현실세계를 일정한 형식에 맞추어 표현해야 함.
단순화 : 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현해 쉽게 이해할 수 있도록 하는 개념
명확화 : 누구나 이해하기 쉽게 모호하지 않게 기술해야 함.
2) 모델링의 관점
데이터 관점 : 업무가 어떤 데이터와 관련이 있는지 데이터 간에는 어떠한 관계가 있는지에 대한 관점
프로세스 관점 : 업무가 실제 하고 있는 일은 무엇인지와 무엇을 해야하는지에 대한 관점
데이터와 프로세스 관점 : 업무가 처리하는 일의 방법에 따라 어떤 영향을 받고 있는지에 대한 관점
3) 모델링의 필요성
- 파급효과 : 병행테스트, 통합테스트 수행중 데이터 모델의 변경이 불가피한 경우 전체 시스템 구축 프로젝트에 큰 위험요소가 발생
- 시스템의 요구사항과 한계를 가장 명확하게 표현할 수 있는 도구
- 데이터의 품질과 밀접한 관련
4) 모델링의 유의점
- 중복 : 데이터베이스가 여러장소에 저장되는 것을 유의해야 함
- 비유연성 : 업무 변화에 따라 모델이 영향을 받으므로 모델 변경이 요구되는 경우 존재.
유지보수를 편하게 하기위해서는 데이터 정의와 프로세스를 분할 할 필요가 존재
- 비일관성 : 데이터의 중복이 없어도 비일관성이 존재할 수있으므로 모델링시에 데이터간 상호 연관관계에 대한 명확한 정의가 중요
2. 데이터모델링
1) 데이터 모델링의 정의
- 정보 시스템을 구축하기 위한 데이터 업무 분석 기법
- 현실세계의 데이터를 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석/설계 과정
2) 데이터모델링의 단계
- 개념적 모델링 : 추상화 수준이 높으며 업무중심적, 포괄적 수준의 모델링 진행
* 데이터의 요구사항 파악에서 시작
* 자료의 중요도 파악
* 핵심 엔터티 간의 관계 파악 및 ERD를 구축하는 단계
- 논리적 모델링 : 시스템으로 구축하고자하는 업무에 대해 Key, 속성, 관계 등을 정확히 표현하는 단계
* 정규화 : 논리데이터모델의 일관성 확보 및 중복 제거를 통한 속성들의 적절한 엔터티에 배치되도록 함으로써 신뢰성있는 데이터를 얻는 것
* 상세화 : 식별자의 확정, 정규화, M:M 관계 해소, 참조무결성규칙정의 등을 의미
- 물리적 모델링 : 실제 데이터베이스에 이식할 수 있게 성장, 저장 등 물리적 성격을 고려하여 설계
* 물리적 스키마 : 테이블, 컬럼 등으로 표현되는 물리적 저장구조와 저장장치, 자료추출을 위해 사용된 방법 등을 정의하는 단계
데이터 독립성의 목적
- 유지보수 비용절감
- 데이터 복잡도 감소
- 중복된 데이터 감소
- 요구사항 대응이 용이
데이터 독립성의 이점
- 각 View의 독립성을 유지, 계층별 View에 영향을 주지않고 변경이 가능
- 단계별스키마에 따라 데이터 정의어와 데이터 조작어가 다름을 제공
'SQL' 카테고리의 다른 글
[SQL] SQLite 시간 자료 추출, table list 확인, 상위 n 개 자료 출력 (0) | 2020.09.23 |
---|---|
1. 데이터 모델링의 이해(2) (0) | 2020.01.31 |
SQL개념 정리 (0) | 2020.01.22 |
주피터 노트북에 메모리 사용량 모니터링 하기
conda install -c creditx nbresuse
pip install nbresuse
https://github.com/yuvipanda/nbresuse
conda install -c conda-forge nodejs
'python' 카테고리의 다른 글
주피터 노트북 변수 보기 및 실행시간 자동확인(Extensions) (0) | 2020.02.16 |
---|---|
matplotlib 정리(1) (0) | 2020.02.16 |
python 회귀분석 할 때 주로 사용할 것 같은 패키지 및 코드 (0) | 2020.01.14 |
power shell 을 활용하여 windows에 jupyter notebook 설치하기 (0) | 2019.06.27 |
selenium, shape file을 활용한 미세먼지 시각화(folium 사용) (0) | 2019.05.09 |
[R]postgre SQL 설치 및 활용
1. postgre SQL 설치
2. 외부접속 허용
3. R에서 설치
1. postgre SQL 설치
sudo apt-get install postgresql postgresql-contrib
설치 완료시 postgres 계정 자동 생성
새로운 계정 생성
sudo -i -u postgres(\q를 통해 빠져나옴)
createuser --interactive
DB 생성
createdb ducj
postgreSQL의 경우 DB명과 계정명이 동일한 리눅스 유저 계정이 필요
sudo adduser ducj
sudo -u ducj psql -d ducj
설치가 끝이 났다면 접속가능 IP를 확인해보자.
2. 외부접속허용
sudo netstat -tnlp | grep postgres
/etc/postgresql 경로의 버전을 확인한후
/etc/postgresql/버전/main/postgresql.conf
에서
listen_addresses='*'를 입력하고 저장 후 종료
ex)
sudo vi /etc/postgresql/10/main/postgresql.conf
(입력 a, 종료 :wq)
sudo vi /etc/postgresql/10/main/pg_hba.conf
모든 DB에서 모든 계정이 접속 가능하게 맨 마지막 줄에 host replication all 0.0.0.0/0 md5로 변경
psotgreSQL 재시작
sudo /etc/init.d/postgresql restart
3. R에서 설치
install.packages('RPostgreSQL')
library(RPostgreSQL)
library(rgdal)
library(sf)
library(rpostgis)
drv<-dbDriver('PostgreSQL')
con<-dbConnect(drv,dbname='ducj' port='5432', user='postgres',password='비밀번호' ,host='호스트')
library(sp)
data("meuse")
meuse <- SpatialPointsDataFrame(meuse[, 1:2], data = meuse[,
3:length(meuse)], proj4string = sp::CRS("+init=epsg:28992"))
pgInsert(con, "shp", shp, new.id = "gid")
meuse.db <- pgGetGeom(con, "meuse")
query <- "SELECT gid, ST_Transform(ST_Buffer(geom, 100), 4326) AS geom FROM meuse;"
meuse.buff <- pgGetGeom(con, name = "meuse_buff", query = query,gid = "gid")
plot(meuse.buff)
pgWriteRast(con, name, raster, bit.depth = NULL, blocks = NULL,
constraints = TRUE, overwrite = FALSE)
data("meuse.grid")
meuse.grid <- SpatialPointsDataFrame(meuse.grid[, 1:2], data = meuse.grid[,
3:length(meuse.grid)], proj4string = sp::CRS("+init=epsg:28992"))
gridded(meuse.grid) <- TRUE
pgWriteRast(con, "meuse_rast", meuse.grid)
(m.bound <- pgGetBoundary(con, "meuse_rast", "rast"))
dbListTables(con)
'GIS > postgreSQL' 카테고리의 다른 글
postgreSQL 강제 연결 끊기 (0) | 2020.06.26 |
---|
rstudio server 관리 및 설정
rstudio server 관리 파일의 구성
rstudio server 의 구성파일의 경우 /etc/rstudio/ 내에 존재
기본적으로 rserver.conf와 rsession.conf가 존재하며 나머지는 만들어 사용 가능
서버 실행 및 중지 관련 코드
- sudo rstudio-server stop
- sudo rstudio-server start
- sudo rstudio-server restart
서버 실행 상태확인 코드
- sudo rstudio-server status
사용중인 계정 확인 코드
- sudo rstudio-server active-sessions
새 버전의 Rstudio server 업그레이드
- sudo gdebi <rstudio-server-package.deb>
example)
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.2.5033-amd64.deb sudo gdebi rstudio-server-1.2.5033-amd64.deb
rserver.conf 옵션
접속 가능 사용자 목록 관리
- auth-required-user-group=유저명
포트 번호 수정
- www-port=80
외부 아이피 허용
- www-address=127.0.0.1
아이피 접속 허용 및 차단
/ etc / rstudio / ip-rules
example) 192.168.1.0/24 만 허용 나머지 차단
deny 192.168.1.10
allow 192.168.1.0/24
deny all
r-studio server 실행될 때 먼저 실행되는 스크립트 조절하기.
/etc/rstudio/rsession-profile
프로파일 생성
/etc/rstudio/profiles
1.글로벌( [*])
2.그룹([@그룹명])
3.사용자([유저명])
example)
[*] cpu-affinity = 1-4
max-processes = 100
max-memory-mb = 2048
session-timeout-minutes=60
[@powerusers] cpu-affinity = 5-16
nice = -10
max-memory-mb = 4096
[jsmith] r-version = /opt/R/3.1.0
session-timeout-minutes=360
rsession.conf 옵션
세션 타임아웃
- 세션이 일시중단 되기 전에 대기할 시간을 설정
- 기본 120분
- session-timeout-minutes=0으로 세션이 일시중단되지 않게 설정 가능
스케줄링 우선순위
- nice 를 조절하여 상대적 우선순위 설정 기본값은 0이며 -20~20까지 설정이 가능 -20으로 갈수록 우선순위가 높아짐.
메모리 제한 설정
max-memory-mb=제한할 메모리 량
기본값은 무제한 최소 1024 이상은 설정해야 됨
버전 관리
r-version 옵션을 통해 사용자별 r-version 관리 가능
[참고]
https://docs.rstudio.com/ide/server-pro/1.0.153/authenticating-users.html
'R > Rstudio Server' 카테고리의 다른 글
우분투에서 R로 Selenium 사용하기(도커 사용) (0) | 2019.03.23 |
---|---|
R 패키지 설치가 안될 때(RCurl, devtools, rvest) 및 Rstudio 서버 사용자 추가 (0) | 2019.03.15 |
ubuntu18.04 r-studio server setup (0) | 2019.03.15 |