Muitas pessoas usam o termo big data de uma forma bastante comercial , como meio de indicando que grandes conjuntos de dados estão envolvidos no cálculo e, portanto, as soluções potenciais devem ter bom desempenho. Claro, big data sempre carregam termos associados, como escalabilidade e eficiência, mas o que exatamente define um problema como um problema de big data ?
O a computação deve estar relacionada a algum conjunto de propósitos específicos, como mineração de dados / recuperação de informações, ou um algoritmo para problemas gerais de gráficos pode ser rotulado como big data se o conjunto de dados for grande o suficiente ? Além disso, quão grande é grande o suficiente (se for possível definir)?
Comentários
- Um bom artigo sobre quando seus dados começam a ficar grandes demais para o uso normal chrisstucchio.com/blog/2013/hadoop_hatred.html
- ” Qualquer coisa também grande para carregar no Excel ” é a piada corrente.
- Isso depende se está apenas sendo inserido como um chavão.
- É ‘ precisamente 1 GB. Esse ‘ é o corte no livro de regras. Não há espaço para ambigüidades.
- Esta é uma excelente pergunta. Conforme denotado pela variedade de respostas, a definição é … indefinido
Resposta
Para mim (chegando de um plano de fundo de banco de dados relacional), “Big Data” não é principalmente sobre o tamanho dos dados (que é a maior parte das outras respostas até agora).
“Big Data” e “Dados ruins” são intimamente relacionado. Bancos de dados relacionais requerem “dados originais”. Se os dados estiverem no banco de dados, eles são precisos, limpos e 100% confiáveis. Bancos de dados relacionais requerem “grandes dados” e uma grande quantidade de tempo, dinheiro e responsabilidade é gasta para garantir que os dados estejam bem preparados antes de carregá-los no banco de dados. Se os dados estão no banco de dados, é “evangelho” e define a compreensão da realidade do sistema.
O “Big Data” aborda esse problema de outra direção. Os dados estão mal definidos, muitos deles podem ser imprecisos e muitos podem estar ausentes. A estrutura e o layout dos dados são lineares e não relacionais.
O Big Data deve ter volume suficiente para que a quantidade de dados inválidos ou ausentes se torne estatisticamente insignificante. Quando os erros em seus dados são comuns o suficiente para cancelar uns aos outros, quando os dados ausentes são proporcionalmente pequenos o suficiente para serem insignificantes e quando seus requisitos de acesso a dados e algoritmos são funcionais mesmo com dados incompletos e imprecisos, então você tem “Big Data” .
“Big Data” não é realmente sobre o volume, mas sobre as características dos dados.
Comentários
- +1 Aprecio muito a ênfase no big data, não sendo qual é o tamanho , e sim qual é o conteúdo (características de) .
- Essa é uma perspectiva muito renovadora. Nunca tinha ouvido isso antes, mas é bem verdade. Isso sugere que as tecnologias SQL e NoSQL não são competitivas, mas complementares.
- Você ‘ está falando sobre dados não estruturados, não big data. Dados não estruturados geralmente levam a soluções NoSQL e big data no aplicativo, mas eles ainda são diferentes.
- Acho que esta é uma boa perspectiva de negócios do que é big data, mas não responde à pergunta específica que é bastante pontual ” qual o tamanho do big data? ”
Resposta
Como você corretamente observou, hoje em dia “big data” é algo que todos querem dizer que têm, o que implica certa flexibilidade na definição do termo. Geralmente, porém, eu “Eu diria que você certamente está lidando com big data se a escala for tal que não seja mais viável gerenciar com tecnologias mais tradicionais, como RDBMS, pelo menos sem complementá-las com tecnologias de big data como Hadoop.
O tamanho real dos seus dados para que seja esse o caso é discutível. Aqui está uma (um tanto provocativa) postagem do blog que afirma que não é realmente o caso para menos de 5 TB de dados. (Para ser claro, ele não afirma “Menos de 5 TB não é” big data “, mas apenas” Menos de 5 TB não é grande o suficiente para que você precise do Hadoop “.)
Mas mesmo em conjuntos de dados menores, as tecnologias de big data como Hadoop podem ter outras vantagens, incluindo ser bem adequadas para operações em lote, jogar bem com dados não estruturados (bem como dados cuja estrutura não é conhecida antecipadamente ou pode mudar), escalabilidade horizontal (escalonamento por adicionar mais nós em vez de aumentar seus servidores existentes), e (como um dos comentadores nas notas de postagem vinculadas acima) a capacidade de integrar seu processamento de dados com conjuntos de dados externos (pense em uma redução de mapa onde o mapeador faz um chamada para outro servidor).Outras tecnologias associadas a big data, como bancos de dados NoSql, enfatizam o desempenho rápido e disponibilidade consistente enquanto lidam com grandes conjuntos de dados, além de serem capazes de lidar com dados semi-não estruturados e escalar horizontalmente.
Claro , os RDBMS tradicionais têm suas próprias vantagens, incluindo garantias de ACID (Atomicidade, Consistência, Isolamento, Durabilidade) e melhor desempenho para certas operações, além de serem mais padronizados, mais maduros e (para muitos usuários) mais familiares. Portanto, mesmo para dados indiscutivelmente “grandes”, pode fazer sentido carregar pelo menos uma parte de seus dados em um banco de dados SQL tradicional e usá-lo em conjunto com tecnologias de big data.
Portanto, uma definição mais generosa seria que você tem big data, desde que seja grande o suficiente para que as tecnologias de big data forneçam algum valor agregado para você. Mas, como você pode ver, isso pode depender não apenas do tamanho dos seus dados, mas de como você deseja trabalhar com ele e que tipo de requisitos você tem em termos de flexibilidade, consistência e desempenho. Como você está usando seus dados é mais relevante para a questão do que para que você os está usando (por exemplo, mineração de dados). Dito isso, usos como mineração de dados e aprendizado de máquina têm mais probabilidade de produzir resultados úteis se você tiver um conjunto de dados grande o suficiente para trabalhar.
Comentários
- Este comentário tem quase 5 anos e, embora partes dele ainda sejam verdadeiras, o limite de 5 TB do blog que citei certamente não é não é mais verdadeiro. Por exemplo, a Microsoft oferece ” hiperescala ” Bancos de dados SQL de até 100 TB: docs.microsoft.com/en-us/azure/sql-database/… Claro, pode-se supor que muitas organizações com grandes bancos de dados SQL também tenho, digamos, um cluster Spark para suportar diferentes cargas de trabalho. Não ‘ s nenhuma regra você tem que escolher um ou outro.
Resposta
Quantidade total de dados no mundo: 2,8 zetabytes em 2012, estimada em 8 zetabytes em 2015 ( fonte ) e com tempo de duplicação de 40 meses. Não pode ser maior do que isso 🙂
Como um exemplo de uma única grande organização, o Facebook extrai 500 terabytes por dia, em um depósito de 100 petabytes, e executa 70 mil consultas por dia a partir de 2012 ( fonte ) Seu warehouse atual é> 300 petabytes.
Big data é provavelmente algo que é uma boa fração dos números do Facebook (1 / 100 provavelmente sim, 1/10000 provavelmente não: é um espectro e não um único número).
Além do tamanho, alguns dos recursos que o tornam “grande” são:
-
ele é analisado ativamente, não apenas armazenado (citação “Se você não está aproveitando o big data, então não tem big data, você tem apenas uma pilha de dados” Jay Parikh @ Facebook)
-
construir e operar um data warehouse é um grande projeto de infraestrutura
-
está crescendo a uma taxa significativa
-
é não estruturado ou tem estrutura irregular
Definição do Gartner: “Big data é alto volume, alta velocidade e / ou ativos de informação de alta variedade que requerem novas formas de processamento “(Os 3Vs). Então, eles também pensam que” grandeza “não é inteiramente sobre o tamanho do conjunto de dados, mas também sobre a velocidade e estrutura e o tipo de ferramentas necessárias.
Comentários
- Se a quantidade total de dados no mundo dobra a cada 40 meses, então certamente pode ser maior que que. ; p
- Outros descrevem 4 V ‘ s de big data IBM ou mesmo 5 V ‘ s DAVE BEULKE 2011
- O original 3 V ‘ s foram estabelecidos em 2001 por Doug Laney Gerenciamento de dados 3D: controle de volume, velocidade e variedade de dados .
Resposta
Para mim, Big Data é principalmente sobre as ferramentas (afinal, foi aí que começou); um conjunto de dados “grande” é grande demais para ser manuseado com ferramentas convencionais – em particular, grande o suficiente para exigir armazenamento e processamento em um cluster em vez de em uma única máquina. Isso exclui um RDBMS convencional e exige novas técnicas de processamento; em particular, várias estruturas semelhantes ao Hadoop facilitam a distribuição de uma computação em um cluster, ao custo de restringir a forma dessa computação. Seguirei a referência a http://www.chrisstucchio.com/blog/2013/hadoop_hatred.html ; As técnicas de Big Data são um último recurso para conjuntos de dados que são simplesmente muito grandes para lidar com qualquer outra forma. Eu diria que qualquer conjunto de dados para qualquer finalidade poderia ser qualificado se fosse grande o suficiente – embora se a forma do problema fosse tal que as ferramentas de “big data” existentes não fossem apropriadas, então provavelmente seria melhor para propor um novo nome.
Claro que há alguma sobreposição; quando eu (brevemente) trabalhei no last.fm, trabalhamos no mesmo conjunto de dados de 50 TB usando Hadoop e também em um banco de dados SQL em um servidor bastante ridículo (lembro que tinha 1 TB de RAM, e isso foi há alguns anos). O que, em certo sentido, significava que era e não era big data, dependendo do trabalho em que você estava trabalhando. Mas acho que é uma caracterização precisa; as pessoas que trabalharam nas tarefas do Hadoop acharam útil ir a conferências e sites de Big Data, enquanto as pessoas que trabalharam nas tarefas do SQL não o fizeram.
Resposta
Os dados se tornam “grandes” quando um único computador comum não consegue mais lidar com a quantidade de dados que você possui. Isso denota o ponto em que você precisa começar a pensar em construir supercomputadores ou usar clusters para processar seus dados.
Resposta
Big Data está definido pelo volume de dados, isso mesmo, mas não só. A particularidade do big data é que você precisa armazenar lotes de vários e às vezes não estruturados materiais todas as vezes e de toneladas de sensores , geralmente por anos ou década .
Além disso, você precisa de algo escalável, para que não leve você meio ano para encontrar os dados de volta.
Então aqui está o Big Data, onde o método tradicional não funcionará mais. O SQL não é escalonável. E o SQL funciona com dados muito estruturados e vinculados (com todos aquelas bagunça de chave primária e estrangeira, innerjoin, solicitação imbricada …).
Basicamente, como o armazenamento se torna cada vez mais barato e os dados se tornam cada vez mais valiosos, o grande gerente pede ao engenheiro para registrar tudo toneladas de novos sensores com todos aqueles dispositivos móveis, redes sociais, coisas incorporadas … etc. Portanto, como os métodos clássicos não funcionam, eles precisam encontrar novas tecnologias (armazenar tudo em arquivos, no formato json, com grande índice, o que chamamos de noSQL).
Então, o Big Data pode ser muito grande, mas pode não ser tão grande, mas complica dados não estruturados ou vários que precisam ser armazenados rapidamente e em tempo real em um formato bruto. Focamos primeiro no armazenamento e, em seguida, examinamos como vincular tudo.
Resposta
Compartilharei como é Big Data na genômica, em particular montagem de-novo.
Quando nós sequenciamos seu genoma (por exemplo: detectamos novos genes), fazemos bilhões de leituras curtas de próxima geração. Veja a imagem abaixo, onde tentamos reunir algumas leituras.
Isso parece simples? Mas e se você tiver bilhões dessas leituras? E se essas leituras contiverem erros de sequência? E se sua RAM não tiver memória suficiente para manter as leituras? E quanto às regiões de DNA repetitivas, como o muito comum Alu Element ?
A montagem de novo é feita construindo um gráfico De-Bruijn :
O gráfico é uma estrutura de dados inteligente para representar leituras sobrepostas. Não é perfeito, mas é “é melhor do que gerar todas as sobreposições possíveis e armazená-las em um array.
O processo de montagem pode levar dias para ser concluído, porque há uma grande quantidade de caminhos que um montador precisaria percorrer e recolher.
Em genômica, você tem um grande volume de dados quando:
- Você não pode “usar força bruta em todas as combinações
- Seu computador não tem memória física suficiente para armazenar os dados
- Você precisa reduzir as dimensões (por exemplo: recolher caminhos de gráfico redundantes)
- Você fica chateado porque precisa espere dias para fazer qualquer coisa
- Você precisa de uma estrutura de dados especial para representar os dados
- Você precisa filtrar seu conjunto de dados em busca de erros (por exemplo: erros de sequenciamento)
Resposta
Há algo especial nos algoritmos de gráfico, suas perguntas originais que os tornam especiais, que são sobre a capacidade de particionar os dados essencialmente.
Para algumas coisas, como classificar números em uma matriz, não é muito difícil particionar o problema na estrutura de dados em partes disjuntivas menores, por exemplo, Aqui: Paralelo no local merge sort
Para algoritmos de gráfico, no entanto, existe o desafio de encontrar um particionamento opcional em uma determinada métrica gráfica para ser $ NP-hard $.
Portanto, embora 10 GB de números para classificar possam ser um problema muito acessível em um PC normal (você pode apenas entrar via programação dinâmica e ter uma previsibilidade muito boa sobre o fluxo do programa), trabalhando com um gráfico de 10 GB estrutura de dados já pode ser desafiadora.
Há uma série de estruturas especializadas, como GraphX , usando métodos e paradigmas de computação especiais para contornar de alguma forma os desafios inerentes aos gráficos.
Então, para responder sua pergunta brevemente: Como mencionado antes por outros, quando seus dados não cabem na memória principal de um PC normal, mas você precisa de tudo para responder ao seu problema, é uma boa dica de que seu os dados já são um pouco grandes. A rotulação exata, porém, depende um pouco da estrutura de dados e das perguntas feitas.
Resposta
Acho que o big data começa no ponto em que o tamanho impede que você faça o que deseja. Na maioria dos cenários, há um limite de tempo de execução considerado viável. Em alguns casos, leva uma hora, em alguns casos pode levar algumas semanas. Contanto que os dados não sejam grandes o suficiente para que apenas algoritmos O (n) possam ser executados no período de tempo viável, você não alcançou o big data.
Eu gosto dessa definição, pois é independente do volume, nível de tecnologia e algoritmos específicos. Não é independente de recursos, então um estudante de graduação chegará ao ponto de big data muito antes do Google.
A fim de ser capaz de quantificar o tamanho dos dados, gosto de considere o tempo necessário para fazer o backup. Com o avanço da tecnologia, os volumes que eram considerados grandes há alguns anos agora são moderados. O tempo de backup melhora, conforme a tecnologia melhora, assim como o tempo de execução dos algoritmos de aprendizagem. Acho que é mais sensato para falar sobre um conjunto de dados, leva X horas para fazer backup e não de um conjunto de dados de bytes Y.
PS.
É importante notar que mesmo que você tenha alcançado o ponto de big data e você não pode executar algoritmos de complexidade mais do que O (n) de forma direta, há muito que você pode fazer para ainda se beneficiar de tal algoritmo s.
Por exemplo, a seleção de recursos pode reduzir o número de recursos dos quais depende o tempo de execução de muitos algoritmos. Em muitas distribuições de cauda longa, o foco nos poucos itens da cabeça pode ser benéfico. Você pode usar uma amostra e executá-la nos algoritmos mais lentos.
Comentários
- Observe que a barreira $ O (n) $ também foi violada agora em alguns domínios do ML. Veja [ grigory.us/mpc-workshop-dimacs.html] para o Workshop sobre Algoritmos Sublinear para ML [1]: grigory.us/mpc-workshop-dimacs.html
Resposta
Dados são “Big Data” se forem de tal volume que seja menos caro analisá-los em dois ou mais computadores convencionais do que em um computador de última geração.
É essencialmente assim que o Google “s” O sistema de arquivos BigFiles “foi originado. Page e Brin não podiam pagar por um servidor Sun sofisticado para armazenar e pesquisar seu índice da web, então conectaram vários computadores comuns
Resposta
Eu tendo a concordar com o que @Dan Levin já disse. Em última análise, como queremos extrair insights úteis dos dados em vez de apenas armazená-los, é o capacidade de aprender algoritmos / sistemas que deve determinar o que é chamado de “Big data”. Conforme os sistemas de ML evoluem, o que era Big data hoje não será mais Big Data amanhã.
Uma maneira de definir Big data poderia ser:
- Big data : dados nos quais você não pode “construir modelos de ML em tempo razoável (1-2 horas) em uma estação de trabalho típica (digamos, 4 GB de RAM)
- Dados não grandes : complemento do anterior
Assumindo esta definição, contanto que a memória ocupada por uma linha individual (todas as variáveis para um único ponto de dados) não exceda a RAM da máquina, devemos estar no Non-big data regime.
Observação: Vowpal Wabbit (de longe o sistema de ML mais rápido até hoje) pode aprender em qualquer conjunto de dados, desde que uma linha individual (ponto de dados) seja < RAM (digamos 4 GB) . O número de linhas não é uma limitação porque usa SGD em vários núcleos. Por experiência própria, você pode treinar um modelo com 10.000 recursos e linhas de 10MN em um laptop em um dia.
Resposta
“Grande dados “são literalmente apenas muitos dados. Embora seja mais um termo de marketing do que qualquer outra coisa, a implicação geralmente é que você tem tantos dados que não pode analisar todos os dados de uma vez porque a quantidade de memória (RAM) necessária para manter os dados em a memória para processá-lo e analisá-lo é maior do que a quantidade de memória disponível.
Isso significa que as análises geralmente precisam ser feitas em segmentos aleatórios de dados, o que permite que modelos sejam construídos para comparar com outras partes dos dados.