본문 바로가기

세계정복의주인장

(1153)
pickle 1. pickle? 직렬화 : 개체를 메모리, DB, 파일에 저장하기 위해 개체를 바이트 스트림으로 변환하는 프로세스 언어마다 직렬화를 표현하는 단어가 다르다. java : 직렬화 python : 피클링 perl.. etc : 마샬링 사실 마샬링이 가장 큰 개념이다. 직렬화하는 모든 과정을 뜻하는 말이다. 2. 난 json 잘 쓰고 있는데? pickle vs json pickle과 JSON (JavaScript Object Notation) 에는 근본적인 차이가 있다. JSON은 텍스트 직렬화 형식(유니코드 텍스트를 출력하지만, 대개는 utf-8으로 인코딩)인 반면, pickle은 바이너리 직렬화 형식 JSON은 사람이 읽을 수 있지만, pickle은 그렇지 않다 JSON은 상호 운용이 가능하며 파이썬 ..
파티셔닝 실습 - postgresql 1) 선언적 파티션 선언적 파티션 구성 실습은 postgres 10.X 이상에서만 가능하다. 9.* 버전의 경우 테이블 파티션 명령어가 없기 때문에 2) Partitioning Using Inheritance(하단 참조)를 사용해야 한다. select version(); 1. 파티션 테이블 생성 대형 아이스크림 회사를 위한 데이터베이스를 구축한다고 가정합니다. 이 회사는 매일 최고 기온과 각 지역의 아이스크림 판매량을 저장할 테이블을 다음과 같이 예정이다. 1 2 3 4 5 6 CREATE TABLE measurement ( city_id int not null, -- 도시 id logdate date not null, -- 날짜 peaktemp int, -- 최고 온도 unitsales int -- 판..
파티션 개념 DB 운영 방식 한대의 DB 서버에서 운영한다. 이중화 : 한대의 서버만 운영하니까 불안해, DB 서버가 죽으면 서비스가 되지 않으니까 DB 서버를 두대로 만들자. 레플리카 : 서버 두대로도 부족한 거 같아. 한대가 죽으면, 한대로 운영하는 동안 백업을 할 수가 없어 레플리카는 기본적으로 서버 4대가 한 묶음이다. 파티션 : 하나의 테이블에 너무 많은 데이터가 있어서 느려졌어, 관리도 힘들어, 테이블을 나누지만 하나의 테이블처럼 사용하자 샤딩 : 하나의 디비에 너무 많은 데이터가 있어서 느려졌어, 파티션으론 한계가 있으니, 디비를 복사해서 하나의 디비처럼 사용하자 proxySQL : 서버 여러대를 하나의 서버처럼 사용하고 싶어 파티션 데이터를 별도의 테이블로 분리해서 저장하지만 사용자 입장에서는 여전히 ..
객체 지향 데이터베이스 (OODB / object-oriented Database) 객체지향 데이터베이스 객체 지향 데이터베이스는 객체 지향 패러다임을 사용하는 객체지향 프로그래밍에서 영향을 받아 생성되었다. 객체지향 프로그래밍과 마찬가지로 실세계의 객체를 DB로 표현하기 위해 만들어졌었다. 객체 표현을 관리하는 데이터베이스 기술, ODMG 2.0 표준으로 기술되어 있다. 객체 모델의 핵심 기능은 다음과 같습니다. 속성 및 관계 개체 속성 개체 작업 (동작) 및 예외 다중 상속 범위 및 키 개체 이름 지정 Atomic, structured and collection literals List, set, bag and array collection classes 동시성 제어 및 객체 잠금 객체 관계 데이터베이스를 위한 데이터 언어 표준으로 ISO에서 제시한 SQL3가 있다. 참고로 객체지향..
pip multiple versions of dependency resolver problem INFO: pip is looking at multiple versions of to determine which version is compatible with other requirements. This could take a while. INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. pip의 dependency resolver 문제로 pip의 최신 버전에서 나타나는 문제이다. 설치하려는 패키지와..
파이썬 부동소수점 사용시 주의할점 부동 소수점 오류 예 0.1 == 0.1 # True 0.2 == 0.1+0.1 # True 0.3 == 0.1+0.1+0.1 # False 0.4 == 0.2+0.2 # True 0.5 == 0.2+0.2+0.1 # True 0.6 == 0.2+0.2+0.2 # False 0.9 == 0.5+0.4 # True 0.9 == 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 # False 0.1을 100번 더하면 10이 나와야 되는데... 0.1을 정확히 표현할 수 없기 때문에 발생하는 오류입니다. result = 0.0 for i in range(0, 100): result += 0.1 print(result) 이 모든것은 부동 소수점에서 발생하는 문제이다. 소수점 연산은 정확한 연산을 ..
로그가 서버를 죽이러 왔다. 사건의 발단 : 1) airflow가 설치된 서버의 스토리지가 모든 용량을 꽉 채우고 죽는 사태가 벌어진 적이 있다. 2) 문제는 airflow의 로그가 계속 쌓여 있어서, 해당 로그들을 삭제함으로써 몇달은 버틸 수 있었다. 3) 이제 스토리지 용량이 다 되어 로그 삭제를 개발하려 했다. 먼저 해당 서버의 스토리지 용량을 다음의 명령어들을 사용해서 확인하려고 했다. df (disk free) - 디스크 여유 공간 확인 df 명령을 사용하면 리눅스 시스템 전체의 (마운트 된) 디스크 사용량을 확인할 수 있다. 파일시스템, 디스크 크기, 사용량, 여유공간, 사용률, 마운트 지점 순으로 나타낸다. du (disk usage) - 디렉토리 디스크 사용량 확인 df 명령어가 시스템 전체의 디스크 공간을 확인하는 ..
이상감지 (정리) https://www.youtube.com/watch?v=xPA6JyHFHew 1. 이상치(Anomaly)란? 기존 관측과는 상이하여 다른 메커니즘에 의해 생성되었다고 판단할만한 관측값 2. 이상탐지 목적 기회 탐지 Chance Discovery (Positive Anomaly) : 새로운 이상치 탐지 오류 탐지 Fault Discovery (Negative Anomaly) : 노이즈 제거 3. 입력 데이터의 특성 (input data) Time series(sequential) vs static univariate vs multivariate data type (binarr / categorical / continuous / hybrid ) relational vs inddependent well-kn..