단어는 기술적 인 사람들을 각성 : 당신이 구글 (재 인쇄)되지 않습니다

재판 링크 : https://www.infoq.cn/article/2017/06/U-no-Google

최초의 완전 맹목적으로 그 거대한 기업을 경배하기보다는 문제 자체를 이해해야하는 문제에 대한 해결책을 찾고합니다. 아마존, 링크드 인 구글에 오잔 Onay 예를 들어, 자신의 감각에 와서 사람들을위한 알람 소리가났다. 다음 내용은 원문을 볼 수있는 권한이 저자를 번역 한 : 당신은 구글되지 않습니다.

소프트웨어 엔지니어는 항상 동성애 일에 매료된다. 우리는 매우 합리적인 보이지만, 기술 선택의 얼굴에 항상 미친에서 잡은 - 해커 뉴스에서 블로그의 모든 종류, 나방처럼 앞뒤로, 마침내 지쳐 무력 던지기처럼 밝은 빛의 공을 비행, 그는 그것의 앞에 그의 무릎에 떨어졌다 - 그것이 우리가 찾고 있던거야.

진짜 이유 사람들은이 같은 결정을 내릴 수 없습니다. 그러나 그러한 맵리 듀스를 사용할지 여부를 결정 항상 엔지니어의 경우,.

조 Hellerstein은 자신의 비디오 자습서 데이터베이스 대학에서 말했다 :

세계의 약 5 개 기업은 큰 작업을 실행해야합니다. 다른 회사로 ...... 그들은 내결함성을 달성하기 위해 필요한 모든 IO를 사용합니다. 2000 년대, 사람들은 광적 구글 쫓아 : "우리는 또한 세계 최대의 인터넷 데이터 서비스를 실행하기 때문에 구글은, 우리가해야 할 모든 일을했다."

아무 문제없이 내결함성의 실제 요구하지만, 저쪽에 우리의 무거운 가격 지불 : - 비즈니스, 인덱싱 및 쿼리 최적화를 포함 -뿐만 아니라 시스템의 원래 성숙을위한 IO뿐만 아니라 수 증가를 깨진 될 참을 수없는. 역사의 심각한 어떤 반전! 얼마나 많은 하둡 사용자들은 의식적으로 그런 결정을 내릴? 얼마나 많은 사람들이 결국 그들의 결정은 현명한 아니라는 것을 알고?

맵리 듀스는 공개 비판의 대상이되었다, 그 우상 숭배자는 뭔가 잘못 깨달았다. 당신은 큰 기술 회사를 사용하지만,하지만 상황은 그들과 매우 다르다, 당신의 결정이 아니라, 그냥 모방 거대 회사도 할 수 있어야한다는 생각에 익숙해 져 밖으로 생각하지 않는 :하지만이 상황은 널리 퍼져있다 당신 같은 재산을 가지고 있습니다.

예,이 기사를 "맹목적으로 숭배하지 말라", 어드바이스 당신입니다. 그러나 이번에는 당신이 더 나은 결정을 내릴 수있는 최소한의 유용한 체크리스트의 긴 목록을 가지고 있었다.

쿨 기술? UNPHAT

당신은 여전히 ​​당신의 소프트웨어 아키텍처를 다시 Google 검색 기술을 사용하는 경우, 당신이 다시하지 않는 것이 좋습니다. 대신, 응용 프로그램 UNPHAT 원칙을 고려할 수 있습니다.

철저한 이해가 귀하의 질문에 (이해)하기 전에 해결책을 찾기 위해 돌진하지 않습니다. 문제 영역에 있어야 당신의 목표는 대신 프로그램 분야에서 문제 해결의 문제를 "해결".
목록 (열거) 다양한 프로그램이 아니라 좋아하는 프로그램에 그녀의 눈을 고정.
후보자를 선택하고 논문 (종이)를 참조하십시오.
배경 후보 (역사적 배경)의 이해.
비교 우위 (장점)과 단점, 약점.
(생각) 생각! 침착 후보가 문제를 해결하기위한 적합한 지 여부를 숙고. 어떻게 당신이 당신의 마음을 바꿀 수있게된다 비정상적인 상황을 표시하는? 예를 들어, 어느 정도 적은 데이터는 하둡을 사용하는 아이디어를 포기하게됩니다?
당신은 아마존 아니에요

UNPHAT 원리는 매우 간단합니다. 최근에 나는이 회사와 대화를했다 한 회사가 읽기 집약적 인 시스템에서 카산드라를 사용하고자하는, 데이터는 내부의 밤 중에 시스템에로드됩니다.

그들은 디나모에 관한 논문을 읽고, 카산드라는 가장 가까운 디나모의 제품입니다 것을 알고있다. 우리는 기록의 가용성을 보장하는 이러한 분산 데이터베이스 우선 순위 (아마존은 "장바구니에 추가"이 작업이 실패하게 표시되지 않습니다) 것을 알고있다. 또한,이를 위해, 그들은 일관성에 타협을 만들어 전통적인 RDBMS의 거의 모든 특성에 나타납니다. 그들은 하루에 한 번만 쓸 수 있지만 많은 양의 데이터가 있기 때문에이 회사는 실제로 가용성을 작성하는 우선 순위를 부여 할 필요가 없습니다.

PostgreSQL의 쿼리는 몇 분 정도 걸리기 때문에 그 이유는 그들은, 카산드라의 사용을 고려한다. 그들은 하드웨어 문제, 조사 후, 우리는 5000 만 개 데이터 테이블 데이터, 데이터의 80 바이트까지 각이 있다는 것을 발견 있다고 생각합니다. 한 조각은 약 5 초에서 당신이 SSD에있는 모든 데이터를 읽을 경우,이는 2 차의 크기에 빠르고, 실제 쿼리에 비해 빠른 아니라.

난 정말 (! 나열된 여러 후보) 나는 다섯 개 가지 프로그램들을 준비, 문제가 더 심각 해지면, (문제를 이해하기!) 그들에게 몇 가지 질문을 물어보고 싶은, 그러나 그들을 위해, 카산드라 분명하다 그것은 완전히 잘못된 접근입니다. 그들은 단지 그러한 데이터의 일부를 리모델링으로 몇 가지 조정을 할 인내심을 필요가있다 (물론,이되지 않을 수 있습니다) 기타 특정 기술을 사용하는 것으로 간주 ......하지만이 고 가용성 키 - 값 저장소, 아마존은 카산드라 만들었다 쓰기 시스템이 아닙니다 할 수있다 자신의 카트의 문제를 해결하는 데 사용됩니다!

당신은 링크드하지 않는

실제로 자신의 시스템에서 카프카를 사용하는 학생에 의해 설립 작은 회사를 발견, 그것은 나를 매우 놀랄 느낄 수 있습니다. 상황의 가장 좋은, 하루에 몇 백 - 지금까지 내가 아는 한, 그들은 당신이 매일해야 할 몇 가지가 있습니다. 이러한 거의 확실 직접 노트북에 기록 될 수있다.

카프카는 링크드 인 내부의 특정 처리 할 수 ​​있도록 설계되어 있으며, 그는 천문학적이다. 심지어 몇 년 전,이 수치는 매일 수조, 매 초마다 피크 시간 동안 1,000 만 메시지를 처리해야 도달했습니다. 그러나 카프카는 크기 10 개 주문에 의해 아마 다시 낮은 처리량을 처리하는 부하에 사용 할 수 있습니까?

의사 결정 아마도 엔지니어들은 실제로 자신의 예상 요구에 따라, 또한 해당 장면 카프카 잘 알고있다. 그러나 나는 그들이 카프카의 사회의 추구를 견딜 수 없었다 조심스럽게 카프카가 그들에게 적합한 대해 생각하지 않은 것 같아요. 알다시피, 그 크기 차이의 10 개 주문입니다!

다시 말하지만, 당신은 아마존 아니에요

아마존의 분산 데이터베이스보다 더 유명한이 서비스 지향 아키텍처 확장 가능한 아키텍처 모델,라는 것이다. 2006 년 인터뷰에서 베르너 포겔 스 서비스 지향 아키텍처가 그들 앞에 스트레치를 달성하는 데 도움이됩니다 동안 아마존은 2001 년에, 스케일 아웃하는 프론트 엔드를 자신의 필요를 실현 지적했다. 엔지니어는 서로를 보았다, 그리고 마지막으로 몇 엔지니어는이 일을 시작하지만, 거의 하나의 작은 서비스에 자신의 정적 웹 페이지를 분할하고자합니다.

그러나 아마존은 그 때 7800 명의 직원을 가지고 매출 $ 30 억 SOA로 전환하기로 결정했다.

물론, 정말 당신의 문제를 해결할 수 있습니다, 당신은 직원들이 SOA를 설정할 수 있습니다 때 7800 년까지 기다릴 필요가 ......하지만 당신은 그것에 대해 생각해야 의미하지 않는다? 문제의 원인은 무엇입니까? 그들은 다른 방법으로 그것을 해결 될 수 있는가?

여전히 그가 모듈 응용 프로그램은 음악에 큰 단일 사용하지 않았습니다 왜 그렇게 많은 대기업이 할 : 당신은 당신이 회사의 50 개별 SOA를 설정하려는 것을 얘기하면, 내가 도울 수 없지만 궁금해?

심지어 구글은 구글 아니다

데이터 때로는 소량의 하둡을 사용하고 같은 큰 데이터 흐름 엔진은 매우 흥미로운 일이 될 것이다 스파크하지만, 대부분의 경우, 기존의 DBMS는 현재로드에 더 적합한 것은 메모리에 직접적으로합니다. 당신은 메모리 1TB를 구입 $ 10,000 지출 할 수 있습니까? 당신이 억 사용자가있는 경우 투자가 충분히되지 않도록, 각 사용자는 메모리의 1킬로바이트 사용할 수 있습니다.

아마 당신은 디스크에 기록 대용량 데이터를로드해야합니다. 그래서 당신은 얼마나 많은 디스크가 필요? 당신은 결국 얼마나 많은 양의 데이터를? 구글의 GFS와 맵리 듀스를 만드는 이유는, 같은 전체 웹 검색 인덱스의 재구성 등 웹 전반에 걸쳐 계산 문제를 해결하는 것입니다.

아마도 당신은 GFS와 맵리 듀스 종이를 읽고, 문제의 부분은 구글 처리량, 오히려 용량보다 바이트의 읽기 스트림이 디스크에서 너무 많은 시간을 보내고 있기 때문에 그들이, 분산 스토리지를 필요로하는 이유. 그런 다음 2017 년에 많은 장비 처리량이 필요하십니까? 당신은 더 나은 장비를 사용하는 것이 좋습니다 그래서 당신은 확실히 많은 구글 처리량 같은 필요가 없습니다. 당신이 사용하는 경우 모두 SSD는 당신에게 비용 증가의 양을 줄 것이다?

아마도 당신은 또한 확장 성을 원한다. 하지만 당신은 신중하게, 데이터 속도는 SSD 가격의 속도보다 더 빠르게 증가 할 것이다 계산했다? 데이터의 모든 기계를 폭발하기 전에, 당신의 사업은 많은 성장을 할 것인가? 2016 년 현재로, 스택 교환 날은 2 억 요청을 처리 할 수 ​​있지만, 그들은 단지 스택 오버플로, 다른 목적으로 하나의 백업 복제본과 다른 두 네 개의 SQL 서버, 하나를했다.

아마 당신은 UNPHAT 원리를 적용한 후 여전히 하둡 또는 불꽃을 사용하기로 결정. 아마도 당신의 결정은 권리이지만, 키는 도구를 사용한다는 것입니다. 구글들이 맵리 듀스가 더 이상 인덱스를 구축하기위한 적합한 없다는 것을 깨달았다이 사실, 잘 알고, 그들은 그것을 사용하지 않을 것입니다.

먼저 귀하의 질문을 이해

새로운 아이디어,하지만 당신은 충분하다 아마도 UNPHAT하지 않습니다에 대해 내가 이야기하고있다. 당신이 충분하지 생각한다면, 당신은 ", 해먹 중심의 개발"리치 키스 마크 야의 음성을들을 수 있습니다 또는 폴리 -A의 책은 "어떻게 그것을 해결하기 위해", 또는 과정 "과학 및 공학 지내요의 예술을"해밍에 대한 자세한 내용을 참조 할 수 있습니다. 나는에 대한 자세한 내용을 생각해야하도록 요청! 이들의 사전 완전한 이해의 문제를 해결하기 위해 시도하기 전에. 마지막으로, 유명한 폴리 -A의 구절을 보내 :

당신은 질문에 대한 답은 바보 모르는, 당신이 원하는 엔드 포인트가 슬픈 도달하지 않습니다.

추천

출처www.cnblogs.com/liguo-wang/p/11652258.html