빅테이블

Bigtable
구글 빅테이블
개발자구글
초기 릴리즈2005년 2월, 17년 전(2005-02)
기입처
C++(코어), Java, Python, Go, Ruby
플랫폼구글 클라우드 플랫폼
유형클라우드 스토리지
면허증.독자 사양
웹 사이트cloud.google.com/bigtable/

Bigtable은 Google Cloud 포트폴리오의 일부로 대규모 분석 및 운영 워크로드를 위한 완전한 관리형 와이드 컬럼 및 핵심 가치의 NoSQL 데이터베이스 서비스입니다.

역사

Bigtable 개발 2004[1]에 이제는 구글 Analytics,[2]웹 indexing,[3]맵 리듀스,면서 종종 수정하는 데이터 Bigtable,[4]구글 Maps,[5]구글 도서 검색,"내 검색 역사", 구글 어스, Blogger.com, 구글 코드의 호스팅, YouTube,[6]과 Gmai에 저장되어 생성하는 데 사용되는 같은 구글 응용 프로그램의 회원들에 의해 사용될 전망이다.l.[7]구글이 자체 데이터베이스를 개발하는 이유는 확장성과 성능 [8]특성에 대한 더 나은 제어가 포함됩니다.

구글의 스패너 RDBMS는 각 테이블에 대한 2단계 커밋을 위해 Paxos 그룹과 함께 Bigtable의 구현 위에 레이어되어 있습니다.Google F1은 MySQL 기반의 구현을 대체하기 [9]위해 Spanner를 사용하여 구축되었습니다.

Apache HBaseCassandra는 Bigtable을 모델로 한 가장 유명한 오픈 소스 프로젝트 중 하나입니다.

2015년 5월 6일, 공개 버전의 Bigtable이 Cloud [2]Bigtable이라는 이름으로 Google Cloud의 일부로 제공되었습니다.

현재 Bigtable은 10엑사바이트 이상의 데이터를 관리하고 [10]초당 50억 건 이상의 요청을 처리합니다.

설계.

Bigtable은 넓은 기둥 상점의 원형 사례 중 하나입니다.2개의 임의의 문자열 값(행 키 및 열 키)과 타임스탬프(따라서 3차원 매핑)를 연관된 임의의 바이트 배열에 매핑합니다.이것은 관계형 데이터베이스가 아니며, 희박한 분산형 다차원 정렬 [3]: 1 맵으로 더 잘 정의할 수 있습니다.Colosus(Google File System), Chuby Lock 서비스, SSTable(LevelDB와 같은 로그 구조 스토리지) 및 기타 구글 기술을 기반으로 구축되었습니다.Bigtable은 "수백 대 또는 수천 대의 머신"에 걸쳐 페타바이트 범위로 확장되도록 설계되었으며, 시스템을 쉽게 추가하고 재구성하지 않고도 이러한 리소스를 자동으로 활용할 수 있습니다.[11]예를 들어 Google의 웹 복사본은 큰 테이블에 저장할 수 있습니다. 여기서 행 키는 도메인에서 반전된 URL이고 열은 웹 페이지의 다양한 속성을 나타내며, 특정 열은 페이지 자체를 유지합니다.페이지 열에는 가져올 때 타임스탬프가 찍힌 웹 페이지의 다른 복사본을 설명하는 여러 타임스탬프 버전이 포함될 수 있습니다.빅테이블의 각 셀에는 타임스탬프된 데이터 버전이 0개 이상 있을 수 있습니다.타임스탬프의 또 다른 기능은 만료된 데이터의 버전 관리 및 가비지 수집을 모두 허용하는 것입니다.

테이블은 여러 의 태블릿으로 분할됩니다.테이블의 세그먼트는 특정 행 키로 분할되어 각 태블릿의 크기가 수백 MB 또는 수 기가바이트가 됩니다.빅테이블은 수천에서 수십만 대의 태블릿 파편이 수백에서 수천 대의 빅테이블 서버에 의해 처리될 수 있다는 점에서 맵리듀스 워커풀과 비슷합니다.테이블 크기가 지정된 제한을 초과할 경우, 태블릿은 BMDiff[12][13] 알고리즘과 스내피로 알려진 [15]Zippy 압축[14] 알고리즘을 사용하여 압축할 수 있으며, 이는 LZ77의 공간 최적 변동은 덜하지만 컴퓨팅 시간 측면에서 더 효율적입니다.태블릿의 GFS 내 위치는 "META1" 태블릿이라고 불리는 여러 특수 태블릿에 데이터베이스 항목으로 기록됩니다.META1 태블릿은 일반적으로 자체 서버에 상주하는 단일 "META0" 태블릿을 쿼리함으로써 찾을 수 있습니다. META1 태블릿은 실제 데이터가 어디에 위치하는지에 대한 답을 가지고 있는 "META1" 태블릿의 위치에 대해 클라이언트에 의해 자주 문의되기 때문입니다.GFS의 마스터 서버와 마찬가지로 META0 서버는 일반적으로 병목현상이 아닙니다.이는 META1 로케이션의 검출과 전송에 필요한 프로세서의 시간과 대역폭이 최소이며 클라이언트는 쿼리를 최소화하기 위해 적극적으로 로케이션을 캐시하기 때문입니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ 를 클릭합니다Hitchcock, Andrew, Google's Bigtable, retrieved 29 July 2007, First an overview. Bigtable has been in development since early 2004 and has been in active use for about eight months (about February 2005)..
  2. ^ a b "Announcing Google Cloud Bigtable: The same database that powers Google Search, Gmail and Analytics is now available on Google Cloud Platform". Google Blog. 6 May 2015. Retrieved 21 September 2016.
  3. ^ a b Chang et al. 2006.
  4. ^ Chang et al. 2006, 페이지 3: 'Bigtable은 Google에서 개발한 대규모 병렬 컴퓨팅을 실행하기 위한 프레임워크인 MapReduce와 함께 사용할 수 있습니다.Bigtable을 입력 소스와 MapReduce 작업의 출력 타깃으로 사용할 수 있는 래퍼 세트를 작성했습니다.
  5. ^ 를 클릭합니다Hitchcock, Andrew, Google's Bigtable, retrieved 29 July 2007, There are currently around 100 cells for services such as Print, Search History, Maps, and Orkut.
  6. ^ 를 클릭합니다Cordes, Kyle (12 July 2007), YouTube Scalability (talk), Their new solution for thumbnails is to use Google's Bigtable, which provides high performance for a large number of rows, fault tolerance, caching, etc. This is a nice (and rare?) example of actual synergy in an acquisition..
  7. ^ 를 클릭합니다"How Entities and Indexes are Stored", Google App Engine, Google Code.
  8. ^ Chang et al. 2006, 결론: '구글에서 구조화된 데이터를 저장하기 위한 분산 시스템인 Bigtable에 대해 설명했습니다...사용자는 Bigtable 구현에 의해 제공되는 성능과 고가용성을 좋아하며, 시간이 지남에 따라 리소스 요구의 변화에 따라 시스템에 머신을 추가하는 것만으로 클러스터의 용량을 확장할 수 있습니다.마지막으로 Google에서 자체 스토리지 솔루션을 구축하면 상당한 이점이 있다는 것을 알게 되었습니다.우리는 빅테이블을 위한 자체 데이터 모델을 설계함으로써 상당한 유연성을 얻었습니다.'
  9. ^ 슈트, 제프리 'Jeff, Oancea, 미르체아;Ellner, 스테판, 만능 수리공, 벤자민 'Ben, 롤린스, 에릭, Samwel, 바트, Vingralek, 라데크, Whipkey, 차드, 첸 신;Jegerlehner, 비트, 리틀 필드, 카일, 동양, 피닉스(2012년),"요약;F1은 Fault-Tolerant 분산 객체 지원 구글의 애드 사업 —", 연구(발표), Sigmod 페이지의 주 19일 우리는 이사를 했다. MySQLF1에서 A와 중요한 큰 응용 프로그램 모음.
  10. ^ "Cloud Bigtable now even easier to manage with autoscaling".
  11. ^ 를 클릭합니다"Google File System and Bigtable", Radar (World Wide Web log), Database War Stories, O'Reilly, May 2006.
  12. ^ 를 클릭합니다"Google Bigtable, Compression, Zippy and BMDiff". 12 October 2008. Archived from the original on 1 May 2013. Retrieved 14 April 2015..
  13. ^ Bentley, Jon; McIlroy, Douglas (1999). Data compression using long common strings. DCC '99: Proceedings of the Conference on Data Compression. IEEE Computer Society. CiteSeerX 10.1.1.11.8470. doi:10.1109/DCC.1999.755678.
  14. ^ 를 클릭합니다"Google's Bigtable", Outer court (Weblog), 23 October 2005.
  15. ^ 를 클릭합니다Snappy (project).

참고 문헌

외부 링크