p33
그냥 지금처럼 실행하면 foreground로 동작되어 cmd창을 끄면 엘라스틱서버가 죽는다.
-d 옵션을 적용하여 백그라운드로 실행할 수 있다.
d는 deamon의 약자다 server라는 의미다
htpd/httpd
detach(=background)
엘라스틱서치 서비스 시작
- sudo service elasticsearch start
- sudo /etc/init.d/XXXX start/stop/restart //위치를 알필요가 없어서 좋당:)
p43
프로그램/폴더 구조
- /bin : 프로그램 파일들이 있겠군
- /lib
- /config : 설정 파일들이 있을꺼야
- config안에 elasticsearch.yml logging.yml 파일이 있음
- .yml or .yaml (yet another markup language)일꺼임 : key-value 구조
책보고 정리해야 한다..! 규칙들이 좀 있네
p54
인덱스는 핵 중요!!
- 샤드와 레플리카
샤드는 default 5
레플리카는 default 2
샤드/레플리카
VLDB(Very Large DBMS)
파티션 / 샤드
- 파티션은 DBMS 자체에서
- 샤드는 DBMS 외부에서(미들웨어/WAS)
- 목적에 따라 샤드를 쪼갤 수 있음
- 수직샤드: 데이터 종류??? 뭔가 기준이 있는 것 같다.
- 대부분 수직 샤드를 한다
- 수평샤드 : 대충 크기에 따라 짜르는거 같다?
- 수직샤드: 데이터 종류??? 뭔가 기준이 있는 것 같다.
샤드를 쓰면 효과가 뭡니까?
- 저장용량 증가
처리성능(Throughtpu)이 좋아진다.
쓰기성능이 향상된다.
읽기성능은 그닥 변화가 없다.
샤딩 예시
- DB에 사진 data와 동영상 data를 저장해야 할 때
- 수직적 방식은?
- 1번DB에 사진, 2번 DB에 동영상 data를 저장
- 수평적 방식은?
- 1번과 2번 DB에 사진 data 일부분을 분할 저장, 마찬가지로 동영상 data도 1,2번 DB에 분할 저장하는 방식
복제
- HA로 동일한 데이터를 여러 곳에 저장한다
- 데이터 손실에 대응할 수 있다.
- 읽기 성능이 향상된다
쓰기 성능은 올라가지 않는다.
- write는 어짜피 마스터 한군데에만 하기 때문이다.
엘라스틱 서치는 id를 기반으로 샤딩
DBMS 인덱스가 달리는 컬럼(PK, FK)
create index sample_index on Student(Telephone);
p57
데이터를 압축해서 전송할 수 있다
- HTTP → 텍스트 프로토콜(ASCII)
- TCP/UDP/IP → 바이너리 프로토콜
- 동일한 정보는 텍스트로 보낼때 더 사이즈가 클 수 밖에 없다.
- 예) 128.32.142.13 바이너리로 보내면 4bytes면 되는데,
- 이걸 HTTP로 전송하면 글자수 *4bytes이다. 상대적으로 넘 커진다.
- 하지만 텍스트파일은 압축률이 크다. 바이너리의 경우 압축률이 낮다.
- 애초에 네트워크가 요새 워낙빨라서 텍스트라고 문제가 되진 않지만, 뭐 대용량인 경우도 있으니 원하면, 압축해서 보낼 수 있다는 것이다. (transport.tcp.compress:true) 옵션을 통해서
- 아파치 Thrift 프로토콜이 있음
p57-8
http.enabled:false
데이터만 저장하고 외부의 접속을 허용하지 않는 노드가 있을 수도 있으니까
위처럼 설정하면 9200번대는 닫히고, 9300번대만 열림