일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mongodb
- network
- ajax
- cache
- effective
- mybatis
- NoSQL
- Elk
- redis
- Static
- r
- HTTP
- nodejs
- reactive
- html
- Java
- VCS
- git
- Lombok
- github
- Linux
- 데이터통신
- javascript
- libuv
- 네트워크
- socket
- spring
- Heap
- reactor
- AWS
- Today
- Total
목록database (12)
빨간색코딩
참고문서 https://github.com/ept/ddia-references 데이터 중심 애플리케이션 설계(마틴 클레프만, 위키북스) 초심자의 눈으로 이해한 내용을 정리해보았다. 책에 있는 내용을 기반으로 썼지만, 책에 없는 내용도 조금씩 적어보았다. 책은 꼭 사서 보시길 바랍니다.. 데이터 모델은 우리가 어떤 문제를 어떻게 해결해야하는지, 생각에도 영향을 미친다. 데이터 모델은 그 위에서 소프트웨어가 할 수 있는 일과 할 수 없는 일에 영향을 준다. ex) 어떤 연산은 빠르고, 어떤 연산은 느리다. 데이터 모델의 큰 범주 관계형 모델 문서 모델 그래프 모델 1. 관계형 모델과 문서 모델 관계형 모델 데이터는 관계(relation)으로 구성 각 관계는 순서없는 튜플(tuple)의 모음 SQL 은 정규화..
redis 기본 개념 포스팅 : https://sjh836.tistory.com/178 maxmemory https://redis.io/docs/manual/config/ redis.conf 에서 초기설정 가능 런타임에는 CONFIG SET 으로 가능 32bit : 3GB 64bit : 0 = 상한선없음 RAM을 모두 사용하면, 디스크 swap 까지 사용 swap 사용부터는 상당한 성능저하 redis cluster 에서도 동작은 한다. 다만, 한 장비에 N개의 노드를 뛰울 경우, maxmemory 를 잘 생각해야한다. A 장비에 master 노드, slave 노드를 뛰울거면, ÷2 를 해야.. RDB 에 스냅샷을 남기는 경우, BGSAVE 를 수행하는 스레드가 메모리를 사용할 수도 있으므로, 고려해야한다..
참조문서 https://github.com/ept/ddia-references 데이터 중심 애플리케이션 설계(마틴 클레프만, 위키북스) 초심자의 눈으로 이해한 내용을 정리해보았다. 책에 있는 내용을 기반으로 썼지만, 책에 없는 내용도 조금씩 적어보았다. 책은 꼭 사서 보시길 바랍니다.. 1. 데이터 시스템 어플리케이션은 계산 중심(compute-intensive)보다 데이터 중심(data-intensive)이 많다. 계산에 쓰이는 CPU보다는 데이터 양, 데이터 복잡도 등이 더 문제다. 데이터 중심 어플리케이션이 공통으로 필요로 할수 있는 기능들 : 데이터 시스템 데이터베이스 : 영속성 스토리지 캐시 : 읽기 속도 향상, 값비싼 수행 결과 기억 검색 색인 : 사용자가 키워드로 데이터를 검색하거나 다양한 ..
참조문서 https://kafka.apache.org/documentation/ https://godekdls.github.io/Apache%20Kafka/contents/ 1. 개요 링크드인에서 2011년 개발 Apache 프로젝트 오픈소스 Message Queue 분산 메세징 시스템, 확장성, 고가용성 메세지 전달의 중앙 플랫폼으로 두고 필요한 모든 데이터 시스템과 연결된 파이프라인을 만드는 것을 지향함 이벤트 스트리밍 jdk 1.8 이상 1-1. 기존 MQ(RabbitMQ 등)와 차이점 대용량 실시간 로그 처리에 특화 분산 및 복제가 쉬움 AMQP(Advanced Message Queuing Protocol) 프로토콜이나 JMS API를 사용하지 않고 단순한 메시지 헤더를 지닌 TCP기반의 프로토콜..
참조문서 https://redis.io/documentation https://github.com/antirez/redis https://redislabs.com/redis-enterprise/data-structures/ 명령어 목록 : https://redis.io/commands 1. redis란? redis는 REmote DIctionary Server의 약자이다. C언어로 작성되었다. In-Memory 데이터베이스이며, 다른 제품들(ex. Memcached)과 다르게 다양한 자료구조를 지원한다. String, Bitmap, Hash, List, Set, Sorted Set, Geospatial Index, Hyperloglog, Stream 영속성(Persistence) 보장을 위해 보관과 백업..
참조문서http://d2.naver.com/helloworld/5102792https://www.holaxprogramming.com/2013/01/10/devops-how-to-manage-dbcp/ 1. DBCP 란?Database Connection Pool 의 약자이다. 요청이 올때마다 Connection 객체를 얻는 것이 아닌, 미리 일정 갯수 찍어내서 Connection Pool 로 관리하는 것이다. DBCP를 사용치 않으면 아래와 같은 과정을 거친다.DB 서버 접속을 위해 JDBC 드라이버를 로드한다.DB 접속 정보와 DriverManager.getConnection() Method를 통해 DB Connection 객체를 얻는다.Connection 객체로 부터 쿼리를 수행하기 위한 Prepa..
참조문서 : https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/ 현재 날짜로 최신버전은 3.4.6이다. 설치할 OS는 CentOS 7이다. 몽고디비를 깔아보자1. 설치홈페이지에서 링크따와서 wget으로 친다. yum으로하면 다 잡아주니 편하겠지만 업데이트하면 버전땜에 골치아플까봐..wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.6.tgz tar zxvf mongodb-linux-x86_64-rhel70-3.4.6.tgz 2. 환경변수 설정환경변수를 잡아준다. /etc/profile에서 path잡고 source해준다.3. 실행실행전에 데이터쌓을 디렉터리를 만들어..
참조문서https://docs.mongodb.com/v3.4/https://velopert.com/mongodb-tutorial-list버전별로 명령어가 조금 바뀌는 것 같다. 나는 3.4버전이다. 자세한건 공식 API문서를 참고하자. MongoDB의 포함관계는 database > collections > documents 이다.1. database1-1. 생성use 데이터베이스명 으로 생성한다. 이미 있는 경우엔 현존하는 데이터베이스를 사용한다. 1개 이상의 Collection이 있어야 데이터베이스 리스트에서 보인다.1-2. 조회db : 현재 사용중인 데이터베이스 확인show dbs : 데이터베이스 리스트 확인db.stats() : 데이터베이스 상태확인1-3. 제거db.dropDatabase() 로 데..
참조문서 : https://docs.mongodb.com/ mongoDB는 C++로 짜여진 오픈소스 데이터베이스이다. 문서지향(Document-Oriented)적이며 뛰어난 확장성과 성능을 자랑한다. NoSQL이다. 1. RDB와 비교 RDBMS MongoDB Database Database Table Collection Tuple / Row Document Column Key / Field Table Join Embedded Documents Primary Key Primary Key (_id) 2. 특징과 장단점 2-1. 특징 Document-oriented storage : MongoDB는 database > collections > documents 구조로 document는 key-value형태의..
참조문서 : NoSQL을 여행하는 히치하이커를 위한 안내서 1. 개념 NoSQL은 Not Only SQL의 약자이다. 기본 RDBMS의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터베이스다. 릴레이션이 아니므로 고정된 스키마가 없고 조인이 힘들다. 빅데이터를 다룰 때, RDBMS로만 트래픽을 감당하기 어려워졌고, 이를 해결하려고 NoSQL이 탄생했다. NoSQL은 분산 환경에서 대용량의 데이터를 빠르게 처리하기 위해서 개발되었다. 핵심은 Horizontal Scalability(수평확장)과 High Availability(고가용성)이다. RDBMS의 한계 많은 데이터량과 데이터 처리량이 계속적으로 증가한다면 RDBMS는 아래와 같은 문제점을 만난다. 스키마 문제 : 빅데이터를 RDB의 스키마에 맞춰..
컴퓨터공부하시는 분들 트랜잭션이라는 말은 주구장창 들었을 것이다. 그렇지만 듣기만 해보았지 정확한 개념을 모르는 경우가 있다. 나처럼ㅋㅋ 여러군데 공부해보고 정리해봤다 컴퓨터 과학분야에 트랜잭션은 "쪼개질 수 없는 업무처리의 단위"를 의미한다. ATM으로 계좌이체를 한다고 생각해보자. 내 계좌의 잔액에서 이체한 금액만큼 빼는 일과, 상대 계좌의 잔액에서 해당 금액만큼 더하는 일은 쪼개어져서는 안된다. 즉 하나의 업무로 함께 진행되어야 하는 일이다. "더이상 쪼갤 수 없다는" 표현 때문에 이를 원자성(Atomicity)을 보장해야 한다라고 얘기한다. 쪼갤 수 없기 때문에 일부만 동작해선 안된다. 부분 작업들 여러개가 모여진 이러한 트랜잭션을 처리하기 위해 데이터베이스는 다음과 같은 기술을 제공한다. 요런거..
MySQL에서 실행되는 쿼리들을 보고 싶을 때가 있다. 직접 MySQL 콘솔로 쿼리를 날리면 과정이 다 찍힌다. 그러나 JDBC를 이용하여 MySQL을 이용할때는 쿼리가 어떻게 넘어가는지 보고싶을 때 사용하면된다. 로그관련 상태 보기show variables like 'general%'; 로그 쌓기set global general_log='on'; 로그 쌓지 않기set global general_log='off'; 로그 쌓이는 곳(윈도우10 기준)C:\ProgramData\MySQL\MySQL Server 5.7\Data