목록분류 전체보기 (531)
개발놀이터
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/NUUfz/btr4aK03wa2/4SlJmKFwmygSkqikmJ40YK/img.png)
이번 포스팅에선 동기화 프로그래밍, 비동기화 프로그래밍에 대해서 알아보도록 하겠습니다. 동기화 프로그래밍과 비동기화 프로그래밍은 네트워크 공부를 하다보면 쉽게 접할 수 있는 주제입니다. 그만큼 중요한 주제이기도 하죠. 이번 포스팅에선 동기화, 비동기화 프로그래밍이 무엇인지, 둘의 차이는 무엇인지, 둘의 장단점은 무엇인지, 둘의 사용처는 어디인지에 대해서 자세히 알아보도록 하겠습니다. 동기화, 비동기화의 특징 동기화 동기는 Synchronous 줄여서는 sync라고도 부릅니다. 동기는 Blocking Architecture라고도 불리고 반응형 시스템을 위한 프로그래밍을 할 때 사용하면 좋습니다. 동기는 굉장히 엄격한 순서를 가지고 동작하는데 request한번 response한번 이렇게 한 세트로 동작하는데..
desire : 열망 / 원하다 incorporates : 통합하다 reply to : 응답하다 it is not available because the nodes in the other partition do not provide an answer to the queries they receive. 가용성은 아니다 왜냐하면 다른 파티션안에서 노드들이 서버가 받은 쿼리에대한 응답을 제공하지 않기 때문이다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dpiJsN/btr3eWnn2GP/CIQOYUjVSNGNB1aMozARA0/img.png)
이번 포스팅에서는 Brewer (브루어)의 CAP정리에 대해서 알아보도록 하겠습니다. CAP정리가 20년도 더 된 정리이기 때문에 그걸 보완한 PACELC 정리에 대해서도 알아보겠습니다. CAP에 대해서 구글링을 해보면 많은 분들이 CAP이론이라고 하시는데 이론과 정리는 엄연히 다릅니다. 이론은 증명되지 않은 생각? 주장? 에 가깝고 (e.g 일반 상대성 이론) 정리는 증명이 완료된 이론을 정리라고 합니다 (페르마의 마지막 정리). 정확히 말하면 CAP는 이론이었다가 증명이 완료된 후 정리가 된것입니다. 정식 영문 명칭도 theory가 아닌 theorem으로 되어있습니다. p.s 저도 CAP이론이라고 말하는게 더 멋있어서 이론이라고 부르고 싶은데... 이론이 아닌걸 이론이라고 부르면 아무래도 잘못된 ..
compilation : 편집, 편집물 frequency : 빈도수 availability : 유용성 accommodated : 수용하다, 태우다 / 편의를 봐주다 infrastructure : 기반 시설 redundancy : 여분 / 과잉 Furthermore, if the data required for the query is horizontally partitioned across multiple shards, the router must then query each shard and merge the result together 게다가 만약 데이터가 여러개의 샤드로 수평적으로 나눠진 쿼리를 요구한다면, 라우터는 각각의 샤드로 쿼리를 나눠서 보내고 각각의 결과를 병합해야한다. A poor choi..
Compliant : 표준, 준수 proprietary : 독점, 소유 solely : 단지 respective : 각각의 outperformed : 성능이 우수한 aggregation : 집합, 집단, 집적 fraud : 사기, 기만, 사기 행위, 부정 수단 financial : 금융의 precise : 정밀한 scalability : 확장성 criteria : 기준 auditing : 회계 감사, 감사 conclude : 결론을 내리다 confidential : 기밀의 conduct : 행위, 행실, 품행 / 행동하다 / 지휘하다 -> conducted : 행해진 generate : 일으키다. 초래하다 advent : 출현, 도래 vary from : ~와 다르다 refined : 정제된 redund..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/9ck0y/btr3iHCVtxs/F2DjZXkRajuifDKTOrq2w1/img.png)
오늘 포스팅에서는 데이터베이스 튜닝 방법인 Clustering, Replication, Sharding에 대해서 알아보도록 하겠습니다. 제가 설명할 이 세가지는 바로 분산시스템을 구현하는 방법들입니다. 분산시스템 혹은 분산환경이라고 불리는데, 여러개의 데이터베이스로 쪼개는 작업을 일컫습니다. 즉, MVCC와 마찬가지로 특별한 기술이 아닌 방법론으로 이 방법론들을 개발자들은 Architecture라고 하는 듯 합니다. 따라서 이 셋을 구현하는 방법은 정말 여러가지로 많고 우리는 그중에서 가장 대표적인 것들을 위주로 알아볼 예정입니다. Clustering Clustering (이하 클러스터링)은 하나의 데이터베이스 인스턴스 혹은 시스템 서버를 더많은 과정으로 쪼개는 작업입니다. 보통 데이터베이스 클러스터 안..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/clsaMF/btr2PVBYLfl/wo8cakczvCMgMcaqrm8mM0/img.png)
이번 포스팅에서는 흔히 NoSQL이라 불리우는 비관계형 데이터베이스에 대해서 알아보도록 하겠습니다. 원래는 NoSQL에 대해서 공부할 생각이 없었지만 트위터에서 개발자가 꼭 알아야할 내용중에 NoSQL이 있는 것을 보고 내가 생각했던것만큼 중요하지않은게 아니구나 싶어서 공부하게 되었습니다. 이번 포스팅에서는 NoSQL이 무엇인지, 기존 관계형 데이터베이스와 무엇이 다른지, NoSQL의 타입, 마지막으로 MicroService Architecture의 저변확대로인한 NoSQL의 입지에 대해서 알아보겠습니다. DBMS의 역사 우리는 NoSQL을 알아보기에 앞서 NoSQL 전에 관계형 데이터베이스 그리고 더 이전인 과거 이야기부터 시작해야합니다. 관계형 데이터베이스 이전, 기업들은 데이터를 관리하는 방법으로 ..
consecutive : 연속적인 / 일관된 substitute : 대신쓰다, 대체하다 / 바꾸다 in terms of : ~인 측면에서 negate : 부정하다 / 취소하다 abort : 유산(낙태)하다 / 중단하다 rigorous : 엄격한 / 혹독한 mature : 성숙한 / 잘 익은 / 완전히 발달한 ephemeral : 명이 짧은 / 덧없는 recursive : 순환의 stand out : 두드러지다 integrity : 고결 / 성실 / 청렴 -> 컴퓨터사이언스에선 데이터 무결성과 같이 사용 duration : 지속 / 계속 conversion : 전환 / 변환 numerous : 다수의, 수많은 This level is different from Read Committed in that a ..
이번 포스팅에서는 Repeatable Read 격리수준에서 발생하는 부정합 문제인 Phantom Read를 Oracle에선 어떤 방식으로 해결했을지에 대해서 알아보도록 하겠습니다. Oracle은 전 세계에서 가장 많이 사용하는 데이터베이스 중 하나로 오랜시간 사랑받은 데이터베이스입니다. Phantom Read 해결방안 In Oracle 데이터를 잠근다는 것은 같은 리소스에 접근하는 트랜잭션 사이에서 일어날 수 있는 해를 끼치는 상황들을 막아줍니다. 이러한 모든 상황에서 오라클은 SQL문이 처리될 때 필요한 락을 자동적으로 얻을 수 있습니다. 그래서 오라클을 사용하는 유저는 세세한 것까지 걱정할 필요가 없어지죠. 오라클은 자동적으로 가장 낮은 수준의 제한정도를 가장 높은 수준의 데이터 정합성으로 바꿔줍니다..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/IHyJn/btr1340U63R/HTdVno2rAXtCbbo2LJ3410/img.png)
이번 포스팅에서는 Repeatable Read 격리수준에서 발생하는 부정합 문제인 Phantom Read 를 PostgreSQL과 MSSQL에서는 어떻게 해결했는지에 대해서 포스팅해보겠습니다. 우선 PostgreSQL과 MSSQL을 묶은 이유는 두개의 데이터베이스가 Phantom Read 부정합문제를 같은 방식으로 해결했기 때문입니다. 우선 저는 이번에 PostgreSQL에 대해서 자세히 알게 되었습니다. 얼마전까진 있었는지도 몰랐구요. 그래서 간단하게 PostgreSQL에 대해서 정리하고 본격적으로 해결방안에 대해서 말씀드리겠습니다. PostgreSQL이란? PostgreSQL은 RDBMS 중 하나입니다. 기존 Postgres에서 SQL을 지원하게 된 것이 지금의 PostgreSQL이라고 합니다. 초기..