quinta-feira, 29 de agosto de 2013

Google vai voltar para o futuro, com banco de dados SQL F1


Ganhe um topo de gama HP Spectre laptop


O mundo da tecnologia está voltando para SQL, trazendo para a próxima meia década, possivelmente, desperdiçada em que startups desenvolvedores cortejado com promessas de escalabilidade infinita e as melhores ferramentas de imitação, do Google disponíveis, e as empresas se viram expostos a dados instáveis ​​e garantias pobres.


A mudança vem acontecendo em silêncio por algum tempo, e tecnologia líder Google vem brigando com os inconvenientes de sistemas ACID-compliant não-relacionais e não por anos. Essa luta exigiu a criação de um novo sistema para lidar com dados em escala, e na terça-feira na Base de dados muito grandes (VLDB) conferência , o Google entregou um documento delineando seu sistema de "F1" muito discutido, que substituiu o MySQL como o distribuídos coração da plataforma AdWords extremamente lucrativo da empresa.







O sistema AdWords inclui "100s de aplicações e 1000s de usuários", que todos compartilham um banco de dados sobre 100TB servindo-se "centenas de milhares de solicitações por segundo e executa consultas SQL que dezenas de varredura de trilhões de linhas de dados por dia", disse o Google . E tem cinco noves de disponibilidade.


Embora o Google tinha dado uma apresentação sobre F1 na Universidade de Stanford, em 2012, e uma sessão de acompanhamento técnico em uma conferência na Califórnia no início deste ano, ele ainda não havia apresentado um documento sobre a tecnologia em detalhe rigoroso.


F1 usa algumas das mais avançadas tecnologias do Google, como o BigTable e-medindo planeta " Spanner banco de dados ", que os servidores F1 são co-localizado com a utilização óptima. Google descreve como um "um híbrido, que combina os melhores aspectos de bancos de dados relacionais tradicionais e sistemas NoSQL escalável".


Embora construído sobre Spanner (que desenha os seus próprios dados do sistema de arquivos Colossus), acrescenta em cinco principais novos recursos, incluindo consultas distribuídas do SQL, índices secundários transacional consistente, mudanças de esquema de banco de dados assíncronos, incluindo reorganizações, transações otimistas, e gravação de histórico de alterações automático e publicação.


Ele tem um esquema relacional semelhante aos sistemas tradicionais RDBMS, com extensões como hierarquia mesa explícita e colunas com tipos de dados do buffer de protocolo.


A hierarquia da tabela significa que cada chave primária inclui outras chaves que fazem referência a seus antepassados, assim, por exemplo, a chave para uma entidade AdGroup poderia referenciar a entidade de campanha de que é um sub-grupo ea entidade cliente de que a campanha é um subgrupo. Este, o Google diz, permite a rápida caso comum de processamento de participar.


Ao combinar essas tecnologias, F1 traz os benefícios inerentes scale-out de NoSQL com os recursos do SQL que as empresas são usados ​​para - o cumprimento ACID, consultas SQL, gerenciamento de esquema e índices. Ele também pode lidar com análise, bem como processamento de transações, como F1 suporta framework MapReduce do Google, permitindo empregos Hadoop-like.


A tecnologia vem com um custo, como o Google disse que, devido às suas escolhas de projeto que resultou na "maior latência para típico lê e escreve", embora a empresa desenvolveu soluções para isso. Tem "relativamente altas" latências compromissos de 50-150 ms, Google escreve.


F1 "começou como um experimento e não estava claro que era possível ou iria funcionar", Jeff Shute, engenheiro-chefe do Google sobre F1, disse em uma apresentação na conferência O'Reilly Strata no início deste ano. Ao colocar F1 no coração da rede de anúncios do Google, a empresa sente que provou "você pode fazer um banco de dados que funciona como um banco de dados, mas as escalas, como sistemas NoSQL como BigTable."


"Com F1 e Spanner realmente decidi começar de novo", diz Shute. Nós movemo-nos este gigantesco sistema Adwords para este novo DB e provou que realmente funciona. O sistema é muito mais escalável do que o que era antes - melhor disponibilidade do MySQL, melhor consistência do MySQL, temos SQL-consulta que é tão bom como o que começou com ".


Fogo até o SQL-Delorean, Google vai voltar para o futuro


A razão Google construído F1 foi em parte devido à frustração dos seus engenheiros haviam encontrado quando se trata de sistemas não-relacionais com problemas de consistência pobres.


"Nós também temos muita experiência com eventuais sistemas de consistência no Google", escrevem no papel. "Em todos esses sistemas, encontramos os desenvolvedores gastam uma fração significativa de seu tempo de construção de mecanismos extremamente complexos e propenso a erros de lidar com eventual consistência e manipular dados que podem ser de dados".


Então grave uma pena que esses sistemas impõem desenvolvedores que o Google chamou de um "fardo inaceitável". Por esta razão, F1 oferece consistência transacional completa em transações de instantâneo, as transações pessimistas para a realização de bloqueios em todo lugar cheques distribuídos e transações otimistas para escrever todo o mundo, sem a necessidade de verificar certos estados localmente.


A empresa também havia encontrado a frustração com a falta de SQL entre seus desenvolvedores. "Muito limpos semântica que encontramos é algo que você não pode viver sem", o engenheiro de software do Google Stephen Ellner, diz.


Junto com a interface SQL, F1 também oferece aos desenvolvedores uma interface baseada em valores-chave NoSQL, bem como, com o Google incentivando os desenvolvedores a mudar para SQL "para baixa latência consultas OLTP, grandes consultas OLAP, e tudo mais", de acordo com o Google papel.


"É realmente um mecanismo de consulta com uma carga de trabalho muito diversificado", disse Shute "As pequenas consultas para aplicativos voltados para o usuário ... percorrer todo o caminho até a enorme análise em todo o banco de dados. Nós temos um monte de outros dados em sistemas externos - Estatísticas, registros - e estes podem ser ordens de magnitude maior do que o que está no banco de dados real ".


Ele também permite uniões entre Spanner e outras fontes de dados, tais como o BigTable, arquivos CSV, e coisas do data warehouse analítico dentro Adwords.


Com a implementação de F1, o Google foi capaz de consolidar seus sistemas de bem. "Nós desfragmentado nosso ecossistema de armazenamento", Stephen Ellner, um engenheiro de software do Google, diz. "Nós trazemos mais coisas de volta do BigTables núcleo na base de dados transacional núcleo para que os desenvolvedores têm menos coisas externas para lidar com e menos APIs".


Google espera que a implantação do sistema Spanner subjacente através de uma grande quantidade de produtos do Google, e para onde vai Spanner, F1 podem seguir.


Assim como o Google foi pioneiro no uso de scale-out tecnologias de armazenamento de dados com o Google File System e documentos MapReduce, sua combinação de Spanner e F1 analítica e pode inspirar uma nova onda de startups de trabalho em bancos de dados SQL-como scale-out.


Agora, empresas como a Cloudera, ParAccel, MongoDB e Cascading estão tentando camada mecanismo de consulta SQL-like mais de um armazenamento de dados como HDFS ou MongoDB. Mas, embora estes podem ser bem dimensionada eles não têm as capacidades transacionais de alguns sistemas. Isso, para as empresas, é uma pílula desagradável de engolir.


Com F1, o Google parece ter sido capaz de desenvolver soluções para alguns dos problemas mais espinhosos para fazer com as operações consistentes durante a execução em escala global - e isso pode colocar os Espíritos em empresas já tentando imitar o Spanner tecnologia, como FoundationDB.


"Você pode ter um banco de dados verdadeiramente escalável sem ir NoSQL? Nossa resposta é sim", diz Ellner. ®







via Alimentar (Feed)

Nenhum comentário:

Postar um comentário