Monday, 19 February 2018

Sistema comercial nosql


Grande tecnologia de dados.
O que é Hadoop? O que é MapReduce? O que é o NoSQL?
A taxa de fluxo de dados nesta idade moderna e # 150; pense na barragem Hoover inundando o rio Colorado.
À medida que o mundo se torna mais orientado para a informação do que nunca, um grande desafio tornou-se a forma de lidar com a explosão de dados. As estruturas tradicionais de gerenciamento de dados agora se abrem sob o volume gigantesco dos conjuntos de dados de hoje. Felizmente, uma paisagem em rápida mudança de novas tecnologias está redefinindo como trabalhamos com dados em escala super-massiva. Essas tecnologias exigem uma nova geração de DBAs e engenheiros / desenvolvedores de infra-estrutura para gerenciar sistemas muito mais sofisticados.
Aqui está uma visão geral de tecnologias importantes para conhecer o contexto em torno da grande infraestrutura de dados.
RDBMS tradicional (tecnologia mais antiga, perda de relevância) Sistemas de banco de dados NoSQL Hadoop, MapReduce e computação massivamente paralela.
O que é um banco de dados Relacional?
O RDBMS tradicional (sistema de gerenciamento de banco de dados relacional) foi o padrão de fato para gerenciamento de banco de dados ao longo da era da internet. A arquitetura por trás do RDBMS é tal que os dados são organizados de forma altamente estruturada, seguindo o modelo relacional. No entanto, o RDBMS agora é considerado uma tecnologia de banco de dados em declínio. Embora a organização precisa dos dados mantenha o armazém muito "limpo", a necessidade de os dados serem bem estruturados realmente se torna um fardo substancial em volumes extremamente grandes, resultando em declínios de desempenho à medida que o tamanho aumenta. Assim, o RDBMS geralmente não é pensado como uma solução escalável para atender às necessidades de dados "grandes".
O que é o NoSQL?
O NoSQL (comumente conhecido como "Not Only SQL") representa uma estrutura completamente diferente de bancos de dados que permite o processamento ágil de alto desempenho e de grande escala. Por outras palavras, é uma infra-estrutura de banco de dados que está bem adaptada às pesadas demandas de dados importantes.
A eficiência do NoSQL pode ser alcançada porque, ao contrário dos bancos de dados relacionais altamente estruturados, os bancos de dados NoSQL são de natureza não estruturada, negociando requisitos de consistência rigorosos para velocidade e agilidade. O NoSQL se centra em torno do conceito de bancos de dados distribuídos, onde os dados não estruturados podem ser armazenados em vários nós de processamento e muitas vezes em vários servidores. Essa arquitetura distribuída permite que os bancos de dados NoSQL sejam escaláveis ​​horizontalmente; À medida que os dados continuam a explodir, basta adicionar mais hardware para acompanhar, sem desaceleração no desempenho. A infra-estrutura de banco de dados distribuída da NoSQL foi a solução para lidar com alguns dos maiores armazéns de dados do planeta & # 150; ou seja, gosta de Google, Amazon e da CIA.
O que é Hadoop?
O Hadoop não é um tipo de banco de dados, mas sim um ecossistema de software que permite uma computação massivamente paralela. É um facilitador de certos tipos de bancos de dados distribuídos noSQL (como o HBase), que pode permitir a disseminação de dados em milhares de servidores com pouca redução no desempenho.
Um grampo do ecossistema Hadoop é o MapReduce, um modelo computacional que basicamente requer processos intensivos de dados e dissemina a computação em um número potencialmente infinito de servidores (geralmente chamado de cluster Hadoop). Foi um trocador de jogos para suportar as enormes necessidades de processamento de grandes dados; um grande procedimento de dados que pode demorar 20 horas de tempo de processamento em um sistema de banco de dados relacional centralizado, só pode demorar 3 minutos quando distribuído em um grande cluster Hadoop de servidores de commodities, todos processados ​​em paralelo.
The Bottom Line.
À medida que os grandes dados continuam por seu caminho de crescimento, não há dúvida de que essas abordagens inovadoras & # 150; utilizando arquitetura de banco de dados NoSQL e software Hadoop & # 150; será fundamental para permitir que as empresas alcancem todo o potencial com dados. Além disso, este rápido avanço da tecnologia de dados provocou uma crescente demanda para contratar a próxima geração de gênios técnicos que podem construir esta poderosa infra-estrutura. O custo da tecnologia e do talento pode não ser barato, mas por todo o valor que os grandes dados são capazes de trazer à mesa, as empresas estão descobrindo que é um investimento muito digno.

Transformando serviços financeiros.
Novas regulamentações. Mais concorrentes globais. Solicita transparência e responsabilidade. Para enfrentar esses desafios, as empresas de serviços financeiros estão reinventando seus sistemas principais com o MongoDB. Eles estão analisando os sinais comerciais mais rapidamente, obtendo uma visão única de seus clientes e reduzindo o risco. Veja como.
Clientes em destaque.
A MetLife criou uma visão única de clientes de 100M + em 70 sistemas diferentes em apenas 90 dias utilizando o MongoDB. Estava tentando por 8 anos para construir a mesma aplicação com um banco de dados relacional. O serviço ao cliente ficou muito melhor.
Outros clientes de serviços financeiros.
Criando um serviço de assinatura de eventos em tempo real com o MongoDB.
100 vezes menor latência a 40x menor custo para gerenciamento de dados de mercado.
Migra para o MongoDB para um novo serviço de dados de mercado distribuído globalmente.
À medida que o HSBC adota tecnologia para tornar as coisas mais simples, melhores e mais rápidas Para os clientes, os dados são o núcleo de sua inovação.
Casos de uso de serviços financeiros.
Risk Analytics & amp; Relatórios. As instituições financeiras precisam consolidar e analisar métricas de risco múltiplas para criar uma visão única da exposição em classes de ativos ou contrapartes. Uma instituição europeia de derivativos de capital usa a linguagem de consulta dinâmica do MongoDB para permitir o acesso granular a qualquer atributo de dados. A estrutura de agregação nativa do MongoDB dá-lhes uma ferramenta poderosa para agrupar e reformular dados em grande escala para análise intradía.
Gerenciamento de dados de referência. Uma instituição de serviços financeiros globais estima economias de 5 milhões de dólares por ano após a migração para o MongoDB. Os dados podem ser distribuídos rapidamente por geografias para consumo local usando a replicação nativa do MongoDB. Cada unidade de negócios opera com dados mais precisos. A BU reduz o risco de penalidades regulatórias cobradas de relatórios sobre informações desactualizadas e eles eliminam o licenciamento caro de múltiplas tecnologias.
Visão Única do Cliente. Criar uma visão única do seu cliente permite uma melhor identificação das oportunidades de upsell. Você pode prever com precisão o churn e melhorar o atendimento ao cliente. Após 8 anos lutando para construir uma visão única de seus clientes, a MetLife tentou uma nova abordagem. O esquema flexível do MongoDB permitiu que a equipe do projeto misturasse dados de 70 sistemas de origem separados. Eles entregaram o pedido em apenas três meses.
Gestão de dados de mercado. Ao mudar para o MongoDB, o AHL / Man Group conseguiu escalar até 250M de carrapatos por segundo. Em comparação com o banco de dados anterior, a AHL experimentou uma melhoria de 25x no throughput, uma latência 100x menor com 40x de economia de custos. A ingestão e análise de dados de alta velocidade, juntamente com a escala simples, permitem que a AHL identifique melhor os sinais comerciais em seus feeds de dados de mercado.
Repositório de comércio. As instituições financeiras são obrigadas a armazenar dados comerciais por 7 anos ou mais. Um líder global em pesquisa e gerenciamento de investimentos conseguiu reduzir custos reduzindo o armazenamento de dados em hardware de commodities. Os esquemas flexíveis do MongoDB permitem que eles integrem diversos negócios em um único banco de dados.
Recursos em destaque.
Abordando desafios de serviços financeiros.
Superando os desafios de dados de hoje nos Serviços Financeiros: tendências e melhores práticas.
Como os bancos de varejo usam MongoDB.
Como as companhias de seguros usam MongoDB.
Como faço para começar?
Ou baixe uma versão de avaliação do MongoDB Enterprise agora.
Leia o white paper.
Saiba como um banco de investimento de Nível 1 mudou para MongoDB e economizou US $ 40 milhões.
Saiba mais sobre o MongoDB.
Leia sobre os benefícios do MongoDB Enterprise.
Sobre a MongoDB, Inc.
Código de conduta.
Saber mais.
NoSQL Database Explained.
MongoDB Architecture Guide.
MongoDB Enterprise Advanced.
MongoDB Engineering Blog.
MongoDB University.
Veja o catálogo do curso.
Veja a programação do curso.
Obtenha as atualizações por e-mail do MongoDB.
Temas populares.
Copyright © 2017 MongoDB, Inc.
Mongo, MongoDB e o logotipo da folha MongoDB são marcas registradas da MongoDB, Inc.

NoSQL, nenhum problema: uma introdução aos bancos de dados NoSQL.
Robert Rees.
Desvendar NoSQL e tentar explicar o que é e se você se interessa ou não é difícil. Este artigo pretende dar uma introdução de alto nível ao NoSQL e fornece uma comparação das últimas tecnologias neste espaço.
O termo abrange uma ampla gama de tecnologias, arquiteturas de dados e prioridades; representa tanto um movimento ou uma escola de pensamento como faz qualquer tecnologia particular. Mesmo o nome é confuso, para alguns, significa literalmente qualquer armazenamento de dados que não usa o SQL, mas, até agora, a indústria parece ter se estabelecido no "Não apenas SQL". Com o passar do tempo, é provável que o alcance do termo cresça e cresça até que ele se torne sem sentido por si só e as subdivisões serão necessárias para esclarecer o significado do termo.
O movimento NoSQL é um pedaço de marketing de guerrilha que reúne um amplo grupo de tecnólogos e tecnologia sob um único banner. As idéias que sustentam a miríade de soluções que existem sob o termo "NoSQL" anteriormente só estavam disponíveis para aqueles cujas necessidades exclusivas significavam que eles tinham que desenvolver e construí-las. Nas áreas onde essas soluções são uma necessidade, elas já provaram a si mesmas, agora seu uso tornou-se uma opção para outros com um custo de investimento muito menor. Para qualquer organização que tenha a escolha entre o NoSQL e os dados relacionais tradicionais, há a difícil questão de qual deve ser usado? Ainda é cedo demais para fornecer uma resposta decisiva e definitiva, mas é claro que muitas organizações se beneficiarão de um modelo de dados que melhor corresponda ao tipo de armazenamento e recuperação que realizam na prática e não em teoria. Também parece provável que a maioria das soluções consistam em uma combinação híbrida de soluções de armazenamento, tanto quanto as combinações de estruturas de n-camada e de servidor cliente tendem a ser mais comuns do que compromissos absolutos em relação a uma estratégia.
Os líderes técnicos têm um papel importante na compreensão das opções disponíveis e na adaptação do software, produtos e serviços mais aplicáveis ​​ao seu próprio domínio. Ter uma estratégia lógica e localizada para adotar o melhor de NoSQL será o que diferencia o sucesso do fracasso na adoção.
Assim como o NoSQL apresenta novos desafios, ele também oferece recompensas significativas para aqueles que podem incorporá-lo com sucesso em seu portfólio de soluções. Os principais benefícios irão surgir em torno de uma melhor compreensão de dados, soluções de escalabilidade flexíveis e produtividade. A grande variedade de novos modelos de negócios tem necessidades de armazenamento de dados que os apóiam e as décadas de coação de dados em formas relacionais estão atrás de nós.
NoSQL é um campo grande e em expansão, para os propósitos deste artigo, os recursos comuns das lojas de dados NoSQL são:
Fácil de usar em clusters balanceados de carga convencionais Dados persistentes (não apenas caches) Escala para memória disponível Não há esquemas fixos e permite migração de esquema sem tempo de inatividade Possuem sistemas de consulta individuais ao invés de usar uma linguagem de consulta padrão. O ACID está dentro de um nó do cluster e eventualmente consistente em todo o cluster.
Nem todos os produtos neste artigo possuem todas essas propriedades, mas a maioria das lojas que vamos falar sobre o suporte a maioria delas.
Existem três fatores principais por trás do crescente interesse no NoSQL. O primeiro é o aparecimento de uma nova forma de perfil de tráfego orientada pelo que pode ser referido como Web 2.0 ou a Web social, bem como o amadurecimento do varejo na Internet.
A "escala da Web", como é comumente referido, é um problema de planejamento de capacidade, escala e provisionamento que se tornou pressionado para muitos negócios da web nos últimos cinco anos. À medida que o mundo se torna mais conectado, é possível que os sites experimentem enormes variações de tráfego. Alguns deles estão relacionados a eventos previsíveis: a Copa do Mundo ou o Natal; outros são imprevisíveis e globais, por exemplo, 11 de setembro colocou desafios maciços para sites de notícias. Sites como o Facebook tornaram mais fácil para os sites experimentar grandes aumentos de popularidade, à medida que os itens "são" virais "e são distribuídos pelo mundo global da boca.
O conteúdo gerado pelo usuário causa dores de cabeça particulares à medida que os problemas de dimensionamento de sites "lustrosos" são bem compreendidos com o uso de conteúdo estático e redes de distribuição de conteúdo (CDNs). O conteúdo gerado pelo usuário significa que os sites se tornam mais "leitura-escrita" balanceados. Sites como o Twitter experimentam surtos maciços no tráfego de escrita em prazos muito estreitos (um objetivo marcado ou recusado, uma declaração de eleição ou final de TV), sua infraestrutura precisa se adaptar rapidamente e não ficar presa no modo errado na hora errada. A abordagem normal para a escala foi adicionar servidores web, que funciona até o tráfego através do banco de dados (que historicamente foi uma única instância) torna-se o gargalo. A resposta foi então comprar hardware progressivamente mais poderoso até que o banco de dados possa servir todo o tráfego. A escala da Web invalida este modelo à medida que você enfrenta o dilema de ter que comprar hardware para atender sua demanda máxima (Natal, Copa do Mundo), mas que está operando muito abaixo da capacidade no dia a dia. Para algumas empresas, é simplesmente impossível comprar o hardware e as licenças para atender a sua demanda de pico somente através de um único servidor. Essas empresas têm procurado uma solução de dados escalável que espelha sua arquitetura web.
O segundo driver é o fato de que os dados mudam ao longo do tempo. À medida que o modelo de negócios evolui, os conceitos e os modelos de dados muitas vezes se esforçam para evoluir e acompanhar as mudanças. O resultado é muitas vezes uma estrutura de dados que é preenchida com linguagem arcaica e dados corrigidos e adaptados. Como qualquer um que tenha tido que explicar que o valor em uma coluna tem um significado diferente, dependendo se é menor que ou superior a 100 ou que "padarias" são realmente "armazéns" devido a um acidente histórico, sabe que o peso da história na o modelo de dados pode ser um grave arrasto na manutenção de um sistema ou na incorporação de novas ideias de negócios.
O fator final é que a tecnologia NoSQL agora está começando a se tornar uma mercadoria. Uma vez que uma Amazon ou Google não tiveram escolha senão criar uma solução personalizada que respondeu aos seus problemas de escala. O custo da escrita de tal solução impediu as empresas que não tiveram essas questões no centro de seu modelo comercial de explorar essa nova tecnologia. Recentemente, uma série de doações de código para órgãos como a Fundação Apache ou outros grupos de código aberto que fornecem suporte e desenvolvimento orientados pela comunidade, levou à possibilidade de usar um código extremamente sofisticado com pouco custo na manutenção. Esse código coloca o NoSQL firmemente no alcance de empresas menores. Em vez de ser um assunto esotérico, agora as lojas de dados NoSQL podem ser baixadas e feitas parte de uma arquitetura empresarial em semanas.
Uma pergunta comum que é perguntada sobre o NoSQL é se as pessoas realmente estão usando ou se é apenas um hype. A resposta é que, se você já usou Amazon, Yahoo ou Google, você já recebeu seus dados através de uma solução NoSQL. Se você usou o eBay ou o Twitter, usou indiretamente donos de dados que têm pouca semelhança com bancos de dados tradicionais (por exemplo, o eBay não usa transações e o Twitter usa um banco de dados de gráficos personalizado para rastrear quem segue quem). Normalmente, a pergunta realmente significa que pessoas como eu estão usando? A resposta é que, se você estiver enfrentando problemas relacionados a determinados tipos de dados, então, há vantagem competitiva potencial a ser obtida através de uma solução NoSQL. A área é nova o suficiente para que a maioria das empresas se sinta desconfortável executando um trabalho crítico em qualquer lugar que não seja em lojas de dados relacionais maduras, mesmo que essas lojas relacionais causem muitos problemas por direito próprio.
Um dos drivers fundamentais é que você tem desafios em sua empresa que são difíceis de resolver usando a tecnologia tradicional de banco de dados relacional. Se você tem um excelente modelo relacional executado em um banco de dados maduro que fornece todos os recursos que você precisa, provavelmente há pouca necessidade de mudar seu mecanismo de armazenamento de dados. Aqui estão alguns casos de uso em que é sub-ótimo usar um banco de dados convencional: -
Seu banco de dados relacional não será dimensionado para o seu tráfego a um custo aceitável. Os dados são fornecidos em pequenas atualizações espalhadas ao longo do tempo, de modo que o número de tabelas necessárias para manter uma forma normal cresceu desproporcionalmente aos dados que estão sendo realizados. Informalmente, se você não pode mais imprimir seu ERD em um pedaço de papel A3, talvez tenha atingido esse problema ou estiver armazenando muito em um único banco de dados. Seu modelo de negócios gera muitos dados temporários que realmente não pertencem ao armazenamento de dados principal. Exemplos comuns incluem carrinhos de compras, buscas retidas, personalização de sites e questionários de usuário incompletos. Seu banco de dados relacional já foi desorganizado por razões de desempenho ou por conveniência na manipulação dos dados em sua aplicação. O seu conjunto de dados consiste em grandes quantidades de texto ou imagens e a definição da coluna é simplesmente um objeto grande (CLOB ou BLOB). Você precisa executar consultas contra seus dados que não envolvem relações hierárquicas simples; exemplos comuns são recomendações ou questões de business intelligence que envolvem ausência de dados. Para este último considerar "todas as mulheres em Paris que têm um cão e cujas ex-cunhas ainda não compraram um livro de bolso este ano" como um exemplo artificial ", todas as pessoas em uma rede social que não comprou um livro isso ano que já foi removido de pessoas que têm "é real se você quiser segmentar publicidade em um site que diz" Fred comprou X ". Você possui transações de dados locais que não precisam ser muito duráveis. Por exemplo, "gostar" de itens em sites: a criação de transações para esse tipo de interações são excessivas porque, se a ação falhar, o usuário provavelmente apenas repeti-lo até que ele funcione. Os sites pesados ​​AJAX tendem a ter muitos desses casos de uso.
Um dos bebês que corre o risco de ser jogado com a água do banho é o próprio SQL. O NoSQL escolheu o SQL como seu bete noire, embora, na realidade, seja apenas um padrão que muitas vezes é confundido com implementações comprometidas. O SQL tem muitas vantagens que os produtos NoSQL terão de abordar ao longo do tempo. Em primeiro lugar, é maduro, refinado e geralmente atende a expectativa de seus usuários. Possui uma sintaxe completa com todas as funcionalidades, o que significa que as pessoas que produzem consultas SQL complexas provavelmente irão se recusar a replicar operadores como SUM, ORDER BY e GROUP em um trabalho de redução de mapa que eles têm que criar em Javascript.
Mesmo os próprios fornecedores reconhecem o problema, se eles não conseguem encontrar um conjunto comum de operações de manipulação de dados, então é provável que uma ou outra implementação se torne popular e os usuários migrarão para o produto que resolva seu problema ou que todos os fornecedores tem que implementar o comando-set do seu líder de mercado para ser competitivo.
Existem alguns padrões já disponíveis, como o SparQL, um padrão para consultar dados RDF ou tuple. Isso pode ser adaptado para documentar e graficar bancos de dados, mas atualmente não há nada que forneça um conjunto modular de sintaxe de consulta genuíno que possa ser comparado ao SQL.
É uma ironia que os produtos NoSQL sejam mais complexos do que as lojas de valor-chave provavelmente terão de implementar algo muito parecido com o SQL se quiserem alcançar o mesmo uso amplo que os produtos de dados Relacionais hoje. Em alguns aspectos, esse fato está por trás do slogan "Não só SQL", que verdadeiramente eliminando o SQL, seria muito doloroso.
Tentando incorporar o NoSQL em sistemas existentes em grande escala, é obviamente mais fácil se a solução já tiver acoplamento solto entre os componentes. Nessa situação, é mais fácil identificar áreas que se beneficiarão de uma solução NoSQL e, em seguida, implementar uma adoção fragmentada. Na situação em que o armazenamento de dados é monolítico e os sistemas podem realmente depender de determinadas propriedades de dados relacionais, por exemplo, tipos de dados ou consistência transacional, o problema é muito mais difícil. De certa forma, o desacoplamento da provisão de dados precisa ser a primeira tarefa em vez de migrar o armazenamento de dados.
Do ponto de vista da solução, deve haver uma análise clara de quais dados são relacionais e o que é armazenado em lojas relacionais atualmente, mas apenas devido à falta de alternativas. Também é importante rever as decisões históricas para ver se elas foram feitas com constrangimentos históricos em mente. Um exemplo particular é o uso de um banco de dados gráfico em vez de tabelas relacionais muito complexas. É perfeitamente possível criar conjuntos de muitas ou muitas relações em dados relacionais e depois consultar as interseções dessas relações, mas expressar apenas as relações podem resultar em uma solução muito mais simples.
Existem algumas áreas óbvias em que o NoSQL pode ser aplicado imediatamente. O conteúdo do site geralmente pode ser expresso em documentos e armazenamento de dados de valor-chave. Exemplos específicos de situações adequadas são formas e metáforas de estilo de assistente. Qualquer formulário da Web pode encontrar expressão pronta em um formulário de documento. Os dados de pesquisa são outro exemplo, muitos dados de referência consistem em mapas, listas e conjuntos, por exemplo, referentes, países, motivos para cancelamento, municípios, províncias e estados. A procura desses padrões em dados deve permitir a identificação de oportunidades.
Olhando mais estrategicamente, os sistemas que precisam evoluir e mudar seus dados freqüentemente oferecem a chance de usar uma loja de dados sem esquemas. Se ser capaz de migrar estruturas de dados sem levar o armazenamento de dados offline, seria vantajoso que você tenha um forte indicador de que a busca por uma solução NoSQL seria valiosa.
A seção a seguir descreve os diferentes tipos de armazenamento de dados NoSQL.
Exemplos: Tóquio Gabinete / Tyrant, Redis, Voldemort, Oracle BDB Aplicações típicas: Armazenamento de conteúdo Fortalezas: Pesquisas rápidas Fraquezas: Os dados armazenados não possuem esquema.
Exemplo de aplicação: você está escrevendo um software para o fórum onde você possui uma página de perfil residencial que fornece as estatísticas do usuário (mensagens postadas, etc.) e as últimas dez mensagens por elas. A página lê a partir de uma chave baseada no id do usuário e recupera uma string de JSON que representa todas as informações relevantes. Um processo em segundo plano recalcula a informação a cada 15 minutos e grava na loja de forma independente.
Exemplos: CouchDB, MongoDb Aplicações típicas: aplicações da Web Pontos fortes: Tolerante de dados incompletos Fraquezas: desempenho da consulta, sem sintaxe de consulta padrão.
Exemplo de aplicação: você está criando um software que cria perfis de crianças refugiadas com o objetivo de reuni-las com suas famílias. Os detalhes que você precisa gravar para cada criança variam enormemente com as circunstâncias do evento e são construídos de forma fragmentada, por exemplo, uma criança pequena pode conhecer seu primeiro nome e você pode tirar uma foto deles, mas eles podem não conhecer os nomes de seus pais . Mais tarde, um local pode reivindicar reconhecer a criança e fornecer informações adicionais que você deseja gravar, mas até que você possa verificar as informações que você tem para tratá-la de forma sceptica.
Exemplos: Neo4J, InfoGrid, Gráfico infinito Aplicações típicas: Redes sociais, Recomendações Fortes: algoritmos de gráficos, p. Ex. caminho mais curto, conexão, relacionamentos n grau, etc. Fraquezas: tem que percorrer todo o gráfico para obter uma resposta definitiva. Não é fácil agrupar.
Exemplo de aplicação: Qualquer aplicativo que requer redes sociais é mais adequado para um banco de dados gráfico. Estes mesmos princípios podem ser estendidos a qualquer aplicativo onde você precise entender o que as pessoas estão fazendo, comprando ou curtindo para que você possa recomendar outras coisas para elas fazer, comprar ou gostar. Toda vez que você precisa responder a pergunta ao longo das linhas de "Quais restaurantes fazem as irmãs das pessoas com mais de 40 anos, gostam de esquiar e visitaram o desagrado no Quênia?" um banco de dados de gráfico geralmente ajudará.
Exemplos: Exist, Oracle, MarkLogic Aplicações típicas: Forças de publicação: tecnologias de pesquisa maduras, validação de esquemas Debilidades: nenhuma solução binária real, mais fácil reescrever documentos do que atualizá-los.
Exemplo de aplicação: uma empresa editora que usa formatos XML personalizados para produzir versões da web, impressão e eBook de seus artigos. Os editores precisam pesquisar rapidamente texto ou seções semânticas da marcação (por exemplo, artigos cujo resumo contém diabetes, onde a instituição do autor é a Universidade de Liverpool e Stephen foi um editor de revisão em algum ponto no histórico do documento). Eles armazenam o XML de artigos finalizados no banco de dados XML e o envolvem em um serviço web de URL legível para os sistemas de produção de documentos. Os metadados do fluxo de trabalho (em que etapa um manuscrito está inserido) são mantidos em um RDBMS separado. Quando são necessárias alterações em todo o sistema, o XQuery atualiza a atualização em massa de todos os documentos para coincidir com o novo formato.
Exemplos: Cassandra, HBase, Riak Aplicações típicas: sistemas de arquivos distribuídos Pontos fortes: pesquisas rápidas, bom armazenamento distribuído de dados Fraquezas: aplicativo de API de muito baixo nível Exemplo:
Você tem um site de notícias onde qualquer conteúdo: artigos, comentários, perfis de autores, podem ser votados e um comentário opcional fornecido na votação. Você cria uma loja por usuário e uma loja por peça de conteúdo, usando um UUID como a chave (gerando um para cada pedaço de conteúdo e usuário). A loja do usuário detém todos os votos que eles já fizeram enquanto o conteúdo "balde" contém uma cópia de cada voto que foi feito no conteúdo. Durante a noite você executa um trabalho em lote para identificar o conteúdo que os usuários votaram, você gera uma lista de conteúdo para cada usuário que tem votos elevados, mas que não votou. Você então empurra essa lista de artigos recomendados para o "balde" do usuário.
Exemplos: Oracle Coherence, db4o, ObjectStore, GemStone, Polar Aplicações típicas: sistemas Financeiros Forças: Correspondência do paradigma de desenvolvimento OO, ACID de baixa latência, tecnologia madura Fraquezas: opções limitadas ou opções de atualização em lote.
Exemplo de aplicação: uma empresa comercial global possui uma monocultura de desenvolvimento e quer fazer negócios em escritórios no Japão e Nova York, passando por um processo de verificação de risco em Londres. Um objeto que representa o comércio é empurrado para a loja de objetos e o verificador de risco está ouvindo a aparência ou modificação de objetos comerciais. Quando o objeto é replicado para o espaço europeu local, o verificador de risco lê o Comércio e avalia o risco. Em seguida, reescreve o objeto para indicar que o comércio é aprovado e gera um pedido de preenchimento comercial real. O cliente do comerciante está ouvindo as mudanças nos objetos que contêm o id do comerciante e atualiza o detalhe local do comércio no cliente indicando ao comerciante que o comerciante foi aprovado. O sistema de negociação consumirá o cumprimento comercial e quando o comércio expirar ou é cumprido alimenta a informação ao avaliador de risco.
Os dados permanecem tabulares e a planilha ainda é a ferramenta de modelagem de dados favorita de um negócio. O SQL não vai desaparecer em breve. No entanto, até agora, fomos criativos em trabalhar com e em torno dos constrangimentos de um armazenamento de dados relacionais típico. O NoSQL oferece a chance de pensar de forma diferente sobre os dados e essa é uma perspectiva tremendamente emocionante.
Descubra como uma abordagem ágil ajuda você a perceber rapidamente o valor dos grandes dados.
Boletim de Notícias.
Inscreva-se para receber todas as nossas dúvidas com o último conteúdo do Big Data Analytics.
Sobre o ThoughtWorks.
Somos uma empresa de software e uma comunidade de indivíduos apaixonados e orientados por objetivos. Pensamos em disruptivamente fornecer tecnologia para atender nossos clientes. desafios mais difíceis, ao mesmo tempo em que procura revolucionar a indústria de TI e criar mudanças sociais positivas.

Sistema de comércio Nosql
Obter através da App Store Leia esta publicação em nosso aplicativo!
Uso do armazenamento NoSQL em Finanças.
Estou me perguntando se alguém usou o NoSQL (mongodb, cassandra, etc.) para armazenar e analisar dados. Eu tentei pesquisar na web, mas não consegui ver se as empresas financeiras haviam conseguido usar o armazenamento nosql.
Até agora, mesmo neste site, eu só vi conversas sobre o uso de SQL DBs. Eu imagino que o NoSQL seria muito mais rápido.
Alguém lançaria luz sobre o tema das soluções NoSQL no mundo das finanças. você viu / ouviu alguém usar isso? se sim por que eles estão usando. se não estiver usando, por que não.
Os sistemas de banco de dados especializados NoSQL são usados ​​muito para o armazenamento de séries temporais, particularmente para dados de tiques:
Kx / Kdb é uma solução proeminente; de Arthur Whitney e outros que fizeram A + no Morgan Stanley Onetick é outro participante mais novo, que retorna a Goldman Sachs Voltdb, é algo que o inventor do banco de dados serial Michael Stonebreaker SciDB é outro recente projeto de Stonebreaker, tentando "open source comercial", mas mais para aplicativos de ciência (pelo menos por enquanto?)
As ofertas comerciais tendem a ser bastante dispendiosas e não ouvi falar do uso de bancos de dados padrão da Web 2.0 noSQL em ambientes de negociação. Alguns podem naturalmente fazer, em vez de falar.
A razão pela qual os bancos de dados "tradicionais" do NoSql não receberão muito dinheiro, é que eles são projetados para resolver um problema diferente. A maioria dos bancos de dados NoSql do mundo da web são projetados com dois parâmetros de projeto centrais. As primeiras pesquisas de chave devem ser muito rápidas. Em segundo lugar, as operações devem ser atômicas no nível da linha e não devem abranger os registros. Isso permite que o banco de dados seja destruído de forma muito eficaz, uma vez que nenhuma operação deve abranger várias máquinas e, por sua vez, isso permite que eles criem arquiteturas de escala. Esses bancos de dados são criados para cargas de trabalho pesadas e muito capazes de ter pesquisas rápidas para renderizar páginas da web. Embora seja possível usá-los para armazenar dados do tick não é realmente o que eles são bons.
Os dados financeiros tendem a ser pequenos em relação aos dados das grandes empresas da web. Portanto, a escala em finanças é menos importante. Também os dados financeiros tendem a particionar bem (no dia, símbolo ou quase qualquer outra chave), de modo que a colocação de réplica tende a ser mais explícita.
A redução do mapa é a maneira típica de criar aplicativos analíticos para essas lojas de dados usando hadoop (Cassandra) ou redução de mapa interno (MongoDB possui uma API MR de script java). Isso geralmente não é o paradigma ideal para a análise de dados da série temporal.
As lojas tradicionais orientadas a colunas com ferramentas de análise de séries temporais integradas ou plataformas construídas personalizadas continuarão a ser a maneira preferida de armazenar e processar dados da série temporal. Eu não acho que haverá (ou deveria) uma grande convergência entre os bancos de dados criados para a execução de sites de grande escala e os bancos de dados criados para armazenar e analisar informações da série temporal.
Tudo o que se diz que usamos o mongodb extensivamente para o armazenamento de metadados e como uma espécie de cache muito grande. Mas não usamos isso para armazenar ou analisar dados financeiros.
No mundo das finanças, a maioria dos dados (especialmente dado este fórum é para os macacos Quant) é transacional e está sujeito a relatórios regulatórios.
NoSQL geralmente não é transacional e dado a forma de, digamos, dados de risco, não existe uma razão irresistível para descartar ACID e RDBMS.
Há razões mais mundanas: existem milhares de pessoas que conhecem RDBMS. Quando o pessoal do NoSQL sai, onde é a sua continuidade e suporte?
Estou tendencioso aqui: sou um especialista em banco de dados RDBMS que gerencia sistemas de risco / preços / negociação.
mongodb seems to be a good opensource solution to store historical tick-by-tick. I am using it here and it seems to be very simple to use.
Cassandra is the obvious choice. With MongoDB or any RDBMS, you will hold all ticks in a table (collection in Mongo-speak) and index by ticker. This means that when you want to retrieve data for a ticker, the data will not be contiguously stored, and you will have a massive usage of index and random reads. Even with SSDs this is slow. For 500k ticks into Python from Mongo it takes me well over 200 seconds on a single 16GB SSD-equipped I7. Yes you can cluster, but the starting point is poor. Imagine if you need to bring in 100 tickers?
With Cassandra, everything is stored in column families. Big dicts of dicts, basically. You get entirely sequential storage of each ticker, meaning you can go back to spinning HDs if you want, but with SSDs it positively screams for data retrieval. I'm talking under 15 seconds for the same as the above. I'm not even going to go into the ease with which adding nodes to Cassandra speeds this up. The 15-second average is on a single computer . Lots of the "reasons for Cassandra" on the web talk about its easy scale-out using multiple nodes, and it's true this will make it even faster / safer, but for me this sequential columnar storage is what makes it perfect for finance. It starts out geared for timeseries, wherease Mongo does not. The design gives you at least an order of magnitude out-of-the-box before you even start messing with clusters and/or optimization. If you know Python, the analogy is simple. Cassandra is to Mongo (or an RDBMS) as Python lists are to Numpy. Chained pointers to scattered datapoints as opposed to a big chunk of contiguous data.
The converse of course is also true. If your use case is single (few) record(s) amongst millions (typical in web applications), Mongo makes this much easier than Cassandra. Cassandra is for big data, whereas Mongo/RDBMS map better to website-userID style workloads. Parodoxically, while SQL for example is considered quite rigid compared with "NoSQL", in my opinion, Cassandra is even more rigid than relational databases. But boy do you get performance if you accept its structures.
BTW Hbase is another columnar choice but I have no experience with it. The main message is, forget about RDBMS or "traditional" NoSQL. These are bad choices for multiple time series. What you want is a column database, of which Cassandra is an excellent example.
I am wondering if anyone has used NoSQL . to store and analyze data.
Sim. Have a look at arctic on github. This is an open-source API built on top of MongoDB, that is in production use by one of the largest hedge funds in the world, for storing time-series data.
I would imagine that NoSQL would be much faster.
In the github wiki you'll find links to presentations where they show performance metrics vs their existing, commercial DB. This is achieved partly by storing the data in compressed format, and sending over the wire as-such (this is a feature of the API; not MongoDB).
Other cool features include versioning, quotas, acls.
In regards to the above answers, for tick data or time series , you could probably use a combination of redis (in memory data-store) & mongodb, or use Hbase with bus events.

How banks use MongoDB as a tick database.
Financial Services firms have long embraced cutting-edge technology to drive competitive advantage and associated profits. Increasingly, MongoDB plays a key role as essential data infrastructure for major Financial Services firms for reference data management, risk analysis and reporting, trade repositories, portfolio reporting, and more.
In a recent webinar, Matt Kalan, senior solution architect for 10gen, highlighted the reasons banks have turned to MongoDB to build tick databases, among other applications. Historically banks turn to pure tick databases, though often they have a steep learning curve and have a hefty price tag. Hence, firms are looking at easier alternatives in the NoSQL space and MongoDB in particular.
MongoDB Delivers on Tick Database Requirements.
To successfully capture and analyze tick data, a database must be able to do the following:
Capture real-time market data (multi-asset, top of book, depth of book, even news) Load historical data Aggregate data into bars, daily, monthly intervals Enable queries & analysis on raw ticks or aggregates Drive backtesting or automated signals.
MongoDB delivers on and exceeds these requirements, offering a range of benefits:
High throughput - MongoDB can capture real-time feeds for all products and/or asset classes needed High scalability - MongoDB can capture all data and depth for all historical time periods Flexible & Range-based indexing - Offers fast querying on time ranges and any fields Aggregation Framework - MongoDB can shape raw data into aggregates (e. g. ticks to bars) MapReduce capability - Using MongoDB’s native MapReduce or Hadoop Connector, MongoDB affords batch analysis as users search for patterns and opportunities in their data Easy to use - MongoDB comes with native language drivers, letting users write in the language of their choice, and JSON expressions that users can also apply for most operational database needs Dynamic schema - In a relational world, a user must predefine their schema. MongoDB provides far greater flexibility, allowing the user to change their schema as often as required. Additionally, MongoDB allows user to store data any way an application uses it. There’s no need to waste time data modeling or mapping data. Users can even index nested fields Low TCO - Low software license cost and commodity hardware mean users get improved performance at a significantly lower price.
At a high level, this is what a MongoDB trading architecture looks like:
Instead of complex joins, developers write documents, with data modeling that is comparatively simple.
If a user prefers to process data on Hadoop, rather than employ MongoDB’s built-in MapReduce or Aggregation Framework, it’s also relatively simple to use Hadoop through MongoDB’s Hadoop Connector. The MongoDB Hadoop Connector supports MapReduce, streaming, and pig, and lets enterprises use MongoDB as the input and/or output storage for Hadoop jobs, with no need to run the data through HDFS.
But Can MongoDB Scale?
Of course it can. 10gen has Financial Services customers that store petabytes of data in MongoDB. After all, MongoDB is architected for serious scale with attributes like auto-sharding to enable seamless horizontal scalability, plus in-memory caching and better data locality to boost efficiency and, hence, performance.
MongoDB: Tick Databasesâ€Â_and Beyond.
The biggest banks, insurance firms, and other Financial Services companies increasingly look to MongoDB to build high-performance applications that are easy to develop and scale. Tick databases are one of the many use cases for which MongoDB is a great fit.
Tagged with: tick database, Financial Services, scalability, high performance, RDBMS, NoSQL, key-value store, columnar database, MongoDB.
Sign up for our monthly blog digest.
The MongoDB Engineering Journal.
About MongoDB, Inc.
Code of Conduct.
Saber mais.
NoSQL Database Explained.
MongoDB Architecture Guide.
MongoDB Enterprise Advanced.
MongoDB Engineering Blog.
MongoDB University.
View Course Catalog.
View Course Schedule.
Get MongoDB Email Updates.
Temas populares.
Copyright © 2017 MongoDB, Inc.
Mongo, MongoDB, and the MongoDB leaf logo are registered trademarks of MongoDB, Inc.

No comments:

Post a Comment