목록대용량 (4)
Dharma
앞으로 시절이 시절인 만큼, 공공 게시판에서 다양하게 의견을 주고 받을 수 없는 시절이 다가 올 수도 있습니다. 그래서 뜻이 맞는 사람들 (동지? ㅎㅎ) 끼리 모여서 이야기 할 수 있는 동호회 스러운 느낌의 게시판들이 성행할 수도 있습니다. 포탈은 어떻게든 내용이 새어나갈 수 있지만 , 이런 동호회 기반의 커뮤니티는 그런 염려가 없습니다. 저도 하나 가입해 있어서 어려울 때 심심찮은 위로가 됩니다. 그런데 그런 작은 규모의 게시판일 때는 제로보드가 문제 없이 동작하나 사람들의 접속이 많아지면 많아질 수록 힘들어 하는 것이 느껴집니다. 따라서 다수의 접속을 처리할 수 있도록 최근 뜨겁게 인기를 끌고 있는 event-driven 방식의 웹서비스가 필요하지 않을까 해서 만들어본 기초 프로젝트 입니다. 당연히 ..
샤딩 (Sharding) 을 하는 방법 또는 복제 셋 (Replication) 을 하는 방법에 관한 예제는 잘 나와 있습니다. 그런데 실전에서는 복제와 샤딩을 동시에 하는 것이 일반적일 것입니다. 이것에 관한 예제가 많이 없더군요. 어쩌다 찾은 것이 한개 있지만 한 기계에서 가상으로 돌려보는 예제 입니다. 이러한 예제로는 샤딩을 제대로 테스트 할 수가 없더군요. 하지만 그 문서를 바탕으로 실제로 샤딩과 복제를 클러스터 환경에서 테스트 해 봤습니다. http://cookbook.mongodb.org/operations/convert-replica-set-to-replicated-shard-cluster/ 위 내용은 한 기계안에서 샤딩과 복제 셋을 테스트 하는 예제 입니다. 원칙대로라면 복제 셋 (Repli..
화살표는 신경 쓰지 맙시다.. Consistency : 일관성 각각의 사용자가 항상 동일한 데이터를 조회한다. Availability : 가용성 모든 사용자가 항상 읽고 쓸 수 있다. Partition Tolerance : 확장 가능성 물리적 네트워크 분산 환경에서 시스템이 잘 동작한다. 기존의 RDBMS 로 칭해지는 데이타베이스들은 CA 에 취중합니다. 따라서 확장이 용이하지가 않고, 대신 최근 트렌드가 되고 있는 NoSQL 들은 기본적으로 P 의 성능이 좋습니다. 그래서 확장성은 기본입니다. 대신 C 나 A 의 일부분을 희생합니다. 카산드라 (Cassandra) 는 AP 를 추구 하고, HBase 는 CP 를 추구합니다. 카산드라는 페이스북이 채택하고 개발해진 것으로 알려지고 유명해 졌는데요. Con..
프로그래밍을 하다보면 수학적 귀납법의 원리를 이용하여 함수가 제대로 작성 됐는지 검증하면 편할 때가 많습니다. 수학적 귀납법 자연수 n과 관련된 명제 P(n)을 증명하려고 할 때, 다음 두 가지만 증명하면 된다. 1) n=1일 때, 참이다. 2) n=k일 때, 참이라고 가정하면 n=k+1일 때도 참이다. 1)과 2)에 따라서 모든 자연수일때 명제가 성립한다. 살아오면서 수학과 프로그래밍에 대해서는 별다른 연관성을 못 느끼고 있었습니다. '수학적 사고나 논리력 증대가 프로그래밍에 도움이 되는 것이겠지' 정도로만 치부하고 살았는데, 최근에 결국 프로그램의 대부분이 아무리 많은 데이터를 다루더라도 index 형태로 처리하게 된다면, 함수를 작성할 때 귀납법을 고려해서 작성하면 좋구나 하고 느낄 때가 있었습니다..