BrainStorm/문학코딩

서문 최근에 디스코드 DB 를 교체하는 이유와, 과정에 대한 글을 쓴적이 있는데, 이 과정에서 사용된 방식을 Super-Disk라고 부르더라 ㅋㅋㅋ 다시한번 말하지만, 디스코드 같이 전세계를 대상으로 서비스하는 회사는 엄청난 양의 데이터를 관리하고 있다. 또, 요즘에는 실제로 컴퓨터를 보유하고 직접관리하는 방식이 아닌, 전문적으로 컴퓨터 관리만하는 회사에게, PC를 대여하는 클라우드 컴퓨팅을 사용하는데, 이와 마찬가지로, 디스코드도 구글 서버를 빌려서 사용하는 중이다 (GCP) 이번 글에서는, 디스코드가 클라우드 컴퓨팅을 서비스를 이용하면서 겪은 어려움과, 이를 해결하기 위해 사용한 방식을 알아보면서, 실제 서비스에서 중요하게 여겨지는 기준과, 디스코드가 사용한 기술들을 살펴보자. 문제 배경 디스코드는 ..
서문 저번 게시글에서는, 디스코드가 대량의 데이터를 저장하기 위해서 이전에 사용했던 방식을 살펴보았다. [Snack] 디스코드가 1조개의 메시지를 저장하는법 서문 작년 (2022), 디스코드는 기존의 사용하고 있는 데이터베이스인 Cassandra에서, 새로운 데이터베이스인 ScyllaDB로 모든 데이터를 옮겼다. (migrate) 이는, 디스코드가 서비스에서 중요하게 생각하 defineall.tistory.com 또, 그 방식에 따른 문제점과, 사용자와 개발자에게 미친영향을 알아보았다. 결국 그 문제점들 때문에 디스코드는 DB를 교체하기로 결정했다 ( 처음에 기술의 정확한 장단점을 최대한 인지하는것이 중요한 이유 ) 과정 1. 데이터 중복 저장하기 하지만, 대용량의 데이터를 저장하는 것과, 저장된 데이터..
서문 작년 (2022), 디스코드는 기존의 사용하고 있는 데이터베이스인 Cassandra에서, 새로운 데이터베이스인 ScyllaDB로 모든 데이터를 옮겼다. (migrate) 이는, 디스코드가 서비스에서 중요하게 생각하는 3가지 요소 때문이다. 커지고 작아지는게 자유로운지 (확장성 - Scalable) 오류가 있어도, 다시 복구 가능한지 (Fault-tolerant) 유지보수가 적은지 (maintanance) 디스코드는 2017년에도, MongoDB에서 Cassandra로 옮긴 전적이 있지만, 유지보수 측면에서 많은 어려움을 겪었다고 한다. 이 때문에 디스코드는, 더 편하고 (유지보수 극혐), 심지어 더 빠르기까지한 ScyllaDB를 선택했다. 여기서 말하는 "모든" 데이터는 상상할 수 없을 정도로 크다..
(1972) The Humble Programmer - Edsger W.Dijkstra 프로그램 테스트는, 우리가 작성한 코드에 버그가 있다는 것을 알려주는데 탁월하지만, 우리가 작성한 코드에 버가 없다는 것을 알려주는덴 절망적으로 부적절하다. Stream chat in Twitch - someone. 우리 회사에 내가 담당하던 개발자가 있었는데, Elixir 코드에 대한 José Valim의 PR(Pull Request)를 "자신의 스타일이 더 좋다"고 거부했다. (José Valim - Elixir 언어 창시자) 그는 오래 가지 못했다.
해당 게시글은 javascript 기본 지식이 필요합니다 // 사람이 두명 있음 function personA(money){ // 60만원보다 많이 받으면 놀라재낌 if(money > 60){ return "Wow" } // 감사합니다 return "Thanks" } function personB(money){ // 1억은 넘어야 놀라재낌 if(money > 10000){ return "Wow" } // 감사하긴함 return "Thanks" } // input 값은 같음 const resultA = personA(100); const resultB = personB(100); // 반응비교 const isEqual = resultA == resultB; console.log("resultA : " + ..
MOONCO
'BrainStorm/문학코딩' 카테고리의 글 목록