목록전체 글 (531)
개발놀이터
Q. NoSQL이 뭔가요? A. NoSQL은 비관계형 데이터베이스로서 기존 RDBMS가 엄격한 스키마에 따른 정형 데이터를 저장하는 것에 특화된 것과 다르게 NoSQL은 ACID를 엄격히 지키지 않고, 스키마에서도 자유롭기 때문에 비정형 데이터를 저장하고 RDBMS에 비해 수평적으로 확장하기 쉽다는 특징이 있습니다. NoSQL의 타입으로는 Key-Value Store, Document Store, Wide Column Store, Graph Store가 있습니다. Q. NoSQL과 RDBMS의 차이에 대해서 설명해주세요 A. 우선 크게 확장성, 성능, 보안적으로 설명할 수 있습니다. 수직적인 확장만 가능하던 RDBMS와 다르게 NoSQL은 수평적으로 확장이 가능하기 때문에, NoSQL의 경우 빅데이터를 ..
Q. 트랜잭션 전파단계에 대해서 설명해주세요 A. JPA Propagation은 트랜잭션 동작 도중 다른 트랜잭션을 호출하는 상황에 선택할 수 있는 옵션입니다. @Transactional의 Propagation 속서을 통해 피호출 트랜잭션의 입장에서는 호출한 쪽의 트랜잭션을 그대로 사용할 수도 있고, 새롭게 트랜잭션을 생성할 수도 있습니다. Q. 전파단계의 종류에 대해서 설명해주세요 A. REQUIRED는 부모 트랜잭션 내에서 실행하며, 부모 트랜잭션이 없을 경우 새로운 트랜잭션을 생성합니다. 그 외에는 REQUIRES_NEW, SUPPORTS, NOT SUPPORT, MANDATORY, NESTED, NEVER등이 있습니다.
Q. Elasticsearch에 대해서 설명해주세요 A. Elasticsearch는 자바로 만들어진 오픈소스 검색엔진으로서 독단적으로 사용되지는 않고 ELK 스택이라고하는 기술로 묶어서 사용됩니다. Elasticsearch는 데이터의 검색을 담당하고 Logstash는 데이터 집계를 담당하고 Kibana는 데이터 시각화를 담당합니다.
Q. CAP 정리에 대해서 설명해주세요. A. CAP 정리는 분산시스템에서 Consistency, Availability, Partition tolerance 이 세가지 속성을 모두 만족시키는 데이터베이스는 없다는 정리입니다. Consistency는 같은 시간에 클라이언트가 같은 데이터를 봐야 한다는 정합성이고, Availability는 모든 노드가 요청에의한 응답을 할 수 있어야 한다는 가용성이고, Partition tolerance는 장애 상황에서도 애플이케이션이 작동해야 한다는 장애 허용입니다. Q. CAP정리에서 RDBMS는 어디에 속하나요? (충분히 물어볼 수 있음) A. RDBMS는 분산시스템이 아니고, CAP정리는 분산시스템을 기반으로한 정리이기 때문에 RDBMS를 CAP정리로 설명하는 것은..
redundancy : 여분, 잉여 -> CS에선 "필요한 양보다 더 많은 양을 준비해 안정성을 올린다" 라는 뜻 reliability : 신뢰성 subtract : 빼다, 덜다, 공제하다 lessen : 경감하다 inspect : 면밀하게 살피다 / 점검하다 specialized : 전문의 / 분화된 criteria : 기준 account : 계좌, 계정 / (이유를) 밝히다 / 설명하다 A load balancer acts as the “traffic cop” sitting in front of your servers and routing client requests across all servers capable of fulfilling those requests in a manner that ma..
이번 포스팅에서는 로드 밸런싱에 대해서 알아볼 예정입니다. 로드 밸런싱이란 쉽게 말해서 트래픽을 분산 처리 해주는 시스템인데요. 이름 그대로 짐 (Load) 을 나눠주는 (Balancing) 시스템이죠. 요즘 IT 대기업을 필두로 엄청난 트래픽이 유발되고 있죠? 점심시간에 폭주하는 트래픽을 감당해야 하는 배달의 민족이나 명절 때 엄청난 트래픽을 감당해야 하는 쿠팡까지 로드 밸런싱을 사용하지 않는 기업은 없을 것 같은데요. 우리는 이번 포스팅에서 로드 밸런싱이 무엇인지, 로드 밸런싱을 구현한 알고리즘은 뭐가 있는지, 로드 밸런싱에는 어떤 것들이 있는지에 대해서 알아보도록 하겠습니다. 로드 밸런싱 (Load Balancing)로드 밸런싱은 둘 이상의 컴퓨터 사이에서 작업을 분산시켜주는 작업을 뜻합니다..
임홍택 저자의 "90년생이 온다"를 읽었다. 군대에서 읽었던 책 중 하나이고 집 책장에 꽂아놨는데 무슨 내용인지 까먹어서 다시 읽은 책이다. 사실 군대에서는 서평에 미쳤어서 내용은 딱히 중요하게 생각 안하고 읽었던 터라 그랬던 듯 하다. 내용은 제목 그대로 90년생이 온다는 내용이고 도입부는 공시생이 역대 최대를 찍었다는 내용으로 시작한다. 합격률은 1.8퍼센트 하지만 응시자는 30만명이 넘어가는 이 상황, 무엇이 90년생들을 이렇게 몰아넣었을까 하는 의문으로 이 책은 시작된다. 이 책에서는 세대를 어떻게 나눌 것인지 기준을 세우고, 90년생들이 처한 현재 상황, 90년생의 특징, 90년생이 사회로 나온 지금 기존 세대들과 갈등이 생긴 원인, 90년생이 주 소비층이 되는 사회에서 눈여겨봐야할 점 등을 다..
요근래 공부를 정말 열심히 했는데 얼마전 공부가 전혀 머리에 들어오지 않고 오히려 공부하기가 싫은 날이 있었다. 알고리즘 문제는 집중이 안됐으며, 영어로 된 문서들은 해석이 안되고, 인강은 귀에 들어오지 않는 이상황... 이날 나는 너무 공부를 많이한 것에 대한 반작용으로 결론짓고 공부를 하루 쉬자고 마음먹었다. 근데...공부를 쉬면 쉬는시간엔 뭘하지? 머릿속에 수많은 취미생활들이 스쳐지나갔다. 유튜브, 게임, 애니메이션, 넷플릭스 등등 근데...유튜브는 볼게 없고 게임은 한번 빠지면 헤어나오질 못해 손대기가 무섭고 애니메이션은 재밌는건 다 봤으며 넷플릭스는 시간을 오래 잡아먹으니 취미생활도 뭐하나 손에 잡히는게 없었다. 그때 문득 든 생각 "책이나 읽어볼까?" 나는 어릴때부터 책 읽는걸 싫어하지 않았고..
stakeholders : 제삼자 seamless : 원할한 Manipulation : 조작 notorious : 악명높은 around : ~중심에서 growing number : 점덤 더 많은 ensure : 확인하다 / 보장하다 ingestion : 섭취 enrichment : 강화 / 농축 / 풍부 aggregate : 집계 this translates to a faster, more seamless flow. 이러한 작업이 더 빠르고 더 원할한 흐름을 가져다 준다. Elasticsearch and the ecosystem of components that’s grown around it called the “Elastic Stack” has been used for a growing number ..
이번 포스팅에서는 Elasticsearch에 대해서 알아보겠습니다. Elasticsearch가 뭐야? 라고 물으면 "index 아냐?", "검색 엔진이잖아", "데이터베이스 분석하는 툴이지", 구글같은거?" 이런 많은 대답이 오고 갈 수 있는 이유는 Elasticsearch가 위의 모든 내용을 포함하고 있기 때문입니다. Elasticsearch는 웹사이트나 document에서 간단한 검색부터, 로그데이터를 분석하고 모으는 일이나, 데이터를 분석하고 시각화해주는 똑똑한 비즈니스 툴이죠. 이번 포스팅에서는 Elasticsearch가 어쩌다 가장 인기있는 엔터프라이즈 검색 엔진이 되었는지 그리고 가장 인기있는 DBMS 탑10에 이름을 올리게 되었는지에 대해서 설명해보겠습니다. Elasticsearch가 뭐야?..