É Oracle ou MySQL ou algo que eles mesmos construíram?
database
google-search
google-cloud-datastore
bigtable
solrevdev
fonte
fonte
Respostas:
Mesa grande
Um sistema de armazenamento distribuído para dados estruturados
Algumas funcionalidades
Arquitetura
BigTable não é um banco de dados relacional. Ele não oferece suporte a junções nem a consultas avançadas do tipo SQL. Cada tabela é um mapa esparso multidimensional. As tabelas consistem em linhas e colunas e cada célula tem um carimbo de hora. Pode haver várias versões de uma célula com carimbos de hora diferentes. O registro de data e hora permite operações como "selecione as versões desta página da Web" ou "exclua células anteriores a uma data / hora específica".
Para gerenciar as grandes tabelas, o Bigtable divide as tabelas nos limites das linhas e as salva como tablets. Um tablet tem cerca de 200 MB e cada máquina economiza cerca de 100 comprimidos. Essa configuração permite que tablets de uma única tabela sejam distribuídos entre muitos servidores. Ele também permite o balanceamento de carga refinado. Se uma tabela estiver recebendo muitas consultas, ela poderá liberar outros tablets ou mover a tabela ocupada para outra máquina que não esteja tão ocupada. Além disso, se uma máquina cair, um tablet poderá se espalhar por muitos outros servidores, para que o impacto no desempenho de qualquer máquina seja mínimo.
As tabelas são armazenadas como SSTables imutáveis e um final de logs (um log por máquina). Quando uma máquina fica sem memória do sistema, compacta alguns tablets usando técnicas de compressão proprietárias do Google (BMDiff e Zippy). As pequenas compactação envolvem apenas alguns tablets, enquanto as principais compactação envolvem todo o sistema de tabelas e recuperam espaço no disco rígido.
Os locais dos tablets Bigtable são armazenados nas células. A pesquisa de qualquer tablet em particular é realizada por um sistema de três camadas. Os clientes obtêm um ponto para uma tabela META0, da qual existe apenas uma. A tabela META0 controla muitos tablets META1 que contêm os locais dos tablets que estão sendo procurados. O META0 e o META1 fazem uso intenso de pré-busca e armazenamento em cache para minimizar gargalos no sistema.
Implementação
BigTable é construído no sistema de arquivos do Google (GFS), usado como repositório de arquivos de log e dados. O GFS fornece armazenamento confiável para o SSTables, um formato de arquivo proprietário do Google usado para manter os dados da tabela.
Outro serviço que o BigTable faz uso pesado é o Chubby , um serviço de bloqueio distribuído confiável e altamente disponível. O Chubby permite que os clientes bloqueiem, possivelmente associando-o a alguns metadados, que podem ser renovados enviando mensagens mantidas ativas de volta ao Chubby. Os bloqueios são armazenados em uma estrutura de nomeação hierárquica semelhante ao sistema de arquivos.
Existem três tipos principais de servidores de interesse no sistema Bigtable:
Exemplo do trabalho de pesquisa do Google:
API
As operações típicas do BigTable são criação e exclusão de tabelas e famílias de colunas, gravação de dados e exclusão de colunas de uma linha. O BigTable fornece essas funções para desenvolvedores de aplicativos em uma API. As transações são suportadas no nível da linha, mas não em várias chaves de linha.
Aqui está o link para o PDF do trabalho de pesquisa .
E aqui você pode encontrar um vídeo mostrando Jeff Dean, do Google, em uma palestra na Universidade de Washington , discutindo o sistema de armazenamento de conteúdo Bigtable usado no back-end do Google.
fonte
É algo que eles mesmos construíram - se chama Bigtable.
http://en.wikipedia.org/wiki/BigTable
Há um artigo do Google no banco de dados:
http://research.google.com/archive/bigtable.html
fonte
Spanner é o sistema de gerenciamento de banco de dados relacional distribuído globalmente (RDBMS) do Google, o sucessor do BigTable . O Google alega que não é um sistema relacional puro, porque cada tabela deve ter uma chave primária.
Aqui está o link do artigo.
Outro banco de dados inventado pelo Google é o Megastore . Aqui está o resumo:
fonte
Como outros já mencionaram, o Google usa uma solução doméstica chamada BigTable e eles lançaram alguns documentos descrevendo-a no mundo real.
O pessoal do Apache implementa as idéias apresentadas nesses documentos, chamadas HBase . O HBase faz parte do projeto maior do Hadoop, que de acordo com o site "é uma plataforma de software que permite escrever e executar facilmente aplicativos que processam grandes quantidades de dados". Alguns dos benchmarks são bastante impressionantes. O site deles está em http://hadoop.apache.org .
fonte
Embora o Google use o BigTable para todos os seus principais aplicativos, eles também usam o MySQL para outros aplicativos (talvez menores).
fonte
E talvez também seja útil saber que o BigTable não é um banco de dados relacional (como MySQL), mas uma enorme tabela de hash (distribuída) que possui características muito diferentes. Você pode brincar com (uma versão limitada) do BigTable na plataforma Google AppEngine .
Ao lado do Hadoop mencionado acima, existem muitas outras implementações que tentam resolver os mesmos problemas que o BigTable (escalabilidade, disponibilidade). Ontem vi um bom post de blog listando a maioria deles aqui .
fonte
O Google usa principalmente o Bigtable.
O Bigtable é um sistema de armazenamento distribuído para gerenciar dados estruturados projetados para serem dimensionados para um tamanho muito grande.
Para mais informações, baixe o documento aqui .
O Google também usa bancos de dados Oracle e MySQL para alguns de seus aplicativos.
Mais informações que você pode adicionar são muito apreciadas.
fonte
Google also use Oracle
- referência necessária.Os serviços do Google têm uma arquitetura de persistência poliglota. O BigTable é alavancado pela maioria de seus serviços, como YouTube, Pesquisa do Google, Google Analytics etc. O serviço de pesquisa inicialmente usou o MapReduce para sua infraestrutura de indexação, mas depois passou para o BigTable durante o lançamento do Caffeine.
O armazenamento de dados do Google Cloud tem mais de 100 aplicativos em produção no Google, tanto para usuários internos quanto externos. Aplicativos como Gmail, Picasa, Google Agenda, Android Market e AppEngine usam o Cloud Datastore & Megastore.
O Google Trends usa o MillWheel para processamento de fluxo. O Google Ads inicialmente usou o MySQL e depois migrou para o F1 DB - um banco de dados relacional distribuído e personalizado. O YouTube usa o MySQL com Vitess. O Google armazena exabytes de dados nos servidores de commodities com a ajuda do Google File System.
Fonte: Bancos de dados do Google: como os serviços do Google armazenam dados da escala de petabytes e exabytes?
Banco de Dados do YouTube - Como ele armazena tantos vídeos sem ficar sem espaço de armazenamento?
fonte