Question

Beaucoup de gens utilisent le terme big data dans un lieu commercial ainsi, comme un moyen d'indiquer que les grands ensembles de données sont impliqués dans le calcul, et des solutions donc potentiels doivent avoir une bonne performance. Bien sûr, big data termes Transportez toujours associés, comme l'évolutivité et l'efficacité, mais ce qui définit exactement un problème comme big data problème?

Est-ce que le calcul doit-être lié à un ensemble d'objectifs spécifiques, comme la récupération exploration de données / informations, ou pourrait un algorithme pour des problèmes généraux de graphe étiqueté big data si l'ensemble de données a été assez grand ? En outre, comment grand est assez grand (si cela est possible de définir)?

Était-ce utile?

La solution

Pour moi (provenant d'un fond de base de données relationnelle), « Big Data » est pas principalement sur la taille des données (qui est la plus grande partie de ce que les autres réponses sont à ce jour).

"Big Data" et "Bad Data" sont étroitement liés. Les bases de données relationnelles REQUIRE données vierges ». Si les données sont dans la base de données, il est précis, propre et fiable à 100%. Les bases de données relationnelles exigent « Great Data » et une énorme quantité de temps, d'argent, et la reddition de comptes est mis à faire en sorte que les données sont bien préparé avant de le charger dans la base de données. Si les données sont dans la base de données, il est « évangile », et il définit le système compréhension de la réalité.

tacles « Big Data » ce problème dans l'autre sens. Les données sont mal définies, une grande partie de celui-ci peut être inexact, et une grande partie peut en fait manquer. La structure et la disposition des données est linéaire plutôt que relationnelle.

Big Data doit avoir un volume suffisant pour que la quantité de données erronées ou des données manquantes devient statistiquement non significatif. Lorsque les erreurs dans vos données sont assez communs pour annuler les uns les autres, lorsque les données manquantes est assez proportionnellement faible pour être négligeable et lorsque vos besoins d'accès aux données et algorithmes sont fonctionnels même avec des données incomplètes et inexactes, vous avez « Big Data » .

"Big Data" est pas vraiment sur le volume, il est sur les caractéristiques des données.

Autres conseils

Vous avez raison de noter, ces jours-ci « big data » est quelque chose que chacun veut dire qu'ils ont, ce qui implique un certain desserrement dans la façon dont les gens définissent le terme. En général, cependant, je dirais que vous avez certainement affaire à des données importantes si l'échelle est telle qu'il est plus possible de gérer des technologies plus traditionnelles telles que SGBDR, au moins sans les compléter avec de grandes technologies de données telles que Hadoop.

Quelle est la taille de vos données doit être fait pour que ce soit le cas est discutable. Voici une (un peu provocateur) billet de blog qui prétend que ce n'est pas vraiment le cas pour moins de 5 To de Les données. (Pour être clair, il ne prétend pas « Moins de 5 To est pas gros volumes de données », mais seulement « Moins de 5 To est pas assez grand que vous avez besoin Hadoop ».)

Mais même sur les petits ensembles de données, les grandes technologies de données comme Hadoop peuvent avoir d'autres avantages, y compris être bien adapté aux opérations de traitement par lots, en jouant bien avec des données non structurées (ainsi que les données dont la structure ne sont pas connues à l'avance ou pourrait changer), l'évolutivité horizontale (mise à l'échelle en ajoutant des nœuds au lieu de bouchères vos serveurs existants), et (comme l'un des commentateurs sur les post liés ci-notes) la possibilité d'intégrer vos données de traitement avec des ensembles de données externes (penser à une carte-reduce où le cartographe fait un appel vers un autre serveur). D'autres technologies associées aux données importantes, telles que les bases de données NoSQL, mettent l'accent sur des performances rapides et une disponibilité constante tout en traitant des grands ensembles de données, ainsi aussi être capable de traiter les données semi-structurées et non à l'échelle horizontale.

Bien sûr, SGBDR traditionnels ont leurs propres avantages, y compris les garanties ACID (atomicité, cohérence, isolation, durabilité) et de meilleures performances pour certaines opérations, ainsi que d'être plus standardisé, plus mature, et (pour de nombreux utilisateurs) plus familier. Ainsi, même pour les données sans conteste « grands », il peut donner un sens à la charge au moins une partie de vos données dans une base de données SQL traditionnelles et l'utilisation qui en collaboration avec les grandes technologies de données.

Ainsi, une définition plus généreuse serait que vous avez de grandes données tant qu'il est assez grand que les grandes technologies de données fournissent une valeur ajoutée pour vous. Mais comme vous pouvez le voir, cela peut dépendre non seulement de la taille de vos données, mais sur la façon dont vous voulez travailler avec elle et quel genre d'exigences que vous avez en termes de flexibilité, la cohérence et la performance. Comment vous utilisez vos données est plus pertinente à la question que ce que vous l'utilisez pour (par exemple l'exploration de données). Cela dit, des utilisations telles que l'exploration de données et l'apprentissage de la machine doivent produire plus probablement des résultats utiles si vous avez des données suffisamment grand ensemble pour travailler avec.

Montant total des données dans le monde: 2,8 zetabytes en 2012, estimé à 8 zetabytes d'ici 2015 ( la source ) et avec un temps de doublement de 40 mois. Ne peut pas obtenir plus que cela:)

À titre d'exemple d'une seule grande organisation, Facebook tire à 500 téraoctets par jour, dans un entrepôt de 100 pétaoctets, et court 70k requêtes par jour comme de 2012 ( Source ) Leur entrepôt actuel est> 300 pétaoctets.

Big data est probablement quelque chose qui est une bonne fraction des chiffres Facebook (probablement oui 1/100, 1/10000 probablement pas: il est un spectre pas un seul numéro).

En plus de la taille, quelques-unes des caractéristiques qui le rendent « grand » sont:

  • il est analysé activement, non seulement stockées (citation: « Si vous ne prenez pas avantage des grandes données, alors vous n'avez pas de grandes données, vous avez juste un tas de données » Jay Parikh @ Facebook)

  • construction et l'exploitation d'un entrepôt de données est un important projet d'infrastructure

  • il croît à un taux significatif

  • il est non structuré ou a une structure irrégulière

définition Gartner: « Big data est un volume élevé, vitesse élevée, et / ou des actifs d'information de haute gamme qui nécessitent de nouvelles formes de traitement » (Le 3VS) Ils pensent aussi « gigantisme » est pas tout à fait de la taille de la ensemble de données, mais aussi de la vitesse et de la structure et le genre d'outils nécessaires.

Pour moi, Big Data est principalement sur les outils (après tout, c'est où il a commencé); un « grand » jeu de données est un qui est trop grand pour être manipulés avec des outils conventionnels - en particulier, assez grand pour le stockage de la demande et le traitement sur un cluster plutôt que d'une seule machine. Cette règle sur un SGBDR classique, et exige de nouvelles techniques de traitement; en particulier, différents cadres semblables Hadoop font distribuer facilement un calcul sur un cluster, au coût de restreindre la forme de ce calcul. Je vais deuxième la référence à http://www.chrisstucchio.com/blog/2013/hadoop_hatred.html; techniques Big Data sont un dernier recours pour les ensembles de données qui sont tout simplement trop grand pour gérer toute autre manière. Je dirais que tout ensemble de données à des fins pourrait se qualifier si elle était assez grand - mais si la forme du problème est telle que les outils « grands » données existantes ne sont pas appropriées, il serait probablement préférable de trouver une nouvelle nom.

Bien sûr, il y a un certain chevauchement; quand je (brièvement) a travaillé à last.fm, nous avons travaillé sur le même ensemble de données en utilisant Hadoop 50TB et aussi dans une base de données SQL sur un serveur assez ridicule (je me souviens qu'il avait 1TB RAM, ce qui est il y a quelques années). Ce qui dans un sens signifiait qu'il était à la fois et n'a pas été données importantes, selon le travail que vous travaillez. Mais je pense que cela soit une bonne; les personnes qui ont travaillé sur les emplois Hadoop jugé utile d'aller à des conférences Big Data et sites web, tandis que les personnes qui ont travaillé sur les emplois SQL ne l'ont pas.

Data devient « grand » lorsqu'un seul ordinateur produit peut ne plus gérer la quantité de données que vous avez. Il désigne le point où vous devez commencer à penser à la construction de super-ordinateurs ou en utilisant des clusters pour traiter vos données.

Big Data est défini par le volume de données, ce qui est juste, mais pas seulement. La particularité de gros volumes de données est que vous devez stocker un bon nombre divers et parfois non structurées étoffes tous les temps et d'un tonnes de capteurs , généralement pendant des années ou dix ans .

En outre, vous besoin de quelque chose évolutive, de sorte qu'il ne faut pas vous une demi-année pour trouver un dos de données.

Alors, voici venir Big Data, si la méthode traditionnelle ne fonctionne plus. SQL n'est pas extensible. Et SQL fonctionne avec des données très structurées et liées (avec tous les primaires et le désordre de clé étrangère, innerjoin, demande ... imbriquée).

Au fond, car le stockage devient moins cher et moins cher et des données devient de plus en plus précieux gestionnaire, grand ingénieur demanderas enregistre tout. Ajoutez à cela des tonnes de nouveaux capteurs avec tous les réseaux mobiles, sociaux, etc ... des trucs embeded. Alors que les méthodes classiques ne fonctionnera pas, ils doivent trouver de nouvelles technologies (stockage tout dans les fichiers, au format JSON, avec grand indice, ce que nous appelons NoSQL).

Big Data peut être très grand, mais peut être pas si grand, mais les données non structurées ou Complexe diverses qui doit être rapidement et stocker sur le terme dans un format brut. Nous nous concentrons et le stockage dans un premier temps, puis nous regardons comment lier tout ensemble.

Je vais partager ce que Big Data est comme en génomique, en particulier de novo assemblée.

Lorsque nous séquencer le génome (par exemple: détecter de nouveaux gènes), nous prenons des milliards de courte nouvelle génération lit. Regardez l'image ci-dessous, où nous essayons de rassembler certains lectures.

 entrer image description ici

Cette simple, son look? Mais si vous avez milliards de ces lectures? Et si ces lit contiennent des erreurs de séquence? Que faire si votre RAM ne dispose pas de suffisamment de mémoire pour garder le lit? Qu'en est-régions d'ADN répétitives, comme le très commun ?

Assemblée de novo se fait en construisant un De-Bruijn graphique :

 entrer image description ici

Le graphique intelligent est un extrait-structure de données pour représenter lit qui se chevauchent. Il est pas parfait, mais il vaut mieux que de générer tous les chevauchements possibles et de les stocker dans un tableau.

Le processus d'assemblage pourrait prendre des jours pour compléter, car il y a un certain nombre de pistes qu'un assembleur aurait besoin de traverser et de l'effondrement.

En génomique, vous avez une grande données lorsque:

  • Vous ne pouvez pas la force brute toutes les combinaisons
  • Votre ordinateur ne dispose pas de suffisamment de mémoire physique pour stocker les données
  • Vous devez réduire les dimensions (par exemple: l'effondrement des chemins de graphique redondants)
  • Vous obtenez en rogne parce que vous auriez à attendre des jours pour faire quoi que ce soit
  • Vous avez besoin d'une structure de données spéciale pour représenter les données
  • Vous avez besoin de filtrer vos données en série pour les erreurs (par exemple: des erreurs de séquençage)

https://en.wikipedia.org/wiki/De_Bruijn_graph

Il y a chose de spécial à des algorithmes de graphique, vous des questions originales qui fait alors spéciale, qui est sur le point qu'il possibilité de partitionner les données essentiellement.

Pour certaines choses, comme les numéros de tri sur un tableau, il est pas trop difficile de partitionner le problème sur la structure de données en morceaux disjoints plus petites, par exemple Ici: Parallel en fusion lieu sorte

Pour les algorithmes de graphique mais il est le défi que la recherche d'un partitionnement en option sur une métrique graphique donné est connu pour être $ $ NP-dur.

Ainsi, alors que 10Go de chiffres pour trier pourrait être un problème très bien accessible sur un PC normal (Vous pouvez juste via la programmation dynamique et ont une très bonne prévisibilité sur le déroulement du programme), en collaboration avec une structure de données de graphique 10GB peut déjà en remettant en cause.

Il y a un certain nombre de cadres spécialisés tels que GraphX ?? en utilisant des méthodes et paradigmes informatiques spécifiques à un peu circumvent les défis inhérents aux graphiques.

Pour répondre à votre question brièvement: Comme mentionné précédemment par d'autres, lorsque vos données ne rentre pas dans la mémoire principale sur un PC normal, mais vous devez tout cela pour répondre à votre problème, est une bonne indication que vos données sont déjà un peu grand. L'étiquetage exact i dépend pense bien qu'un peu sur la structure des données et question posée.

Je pense que les grandes données commence au point où la taille vous empêche de faire ce que vous voulez. Dans la plupart des scénarios, il y a une limite sur la durée qui est considérée comme réalisable. Dans certains cas, il est une heure, dans certains cas, il peut être quelques semaines. Tant que les données ne sont pas assez grand pour que les algorithmes que O (n) peut fonctionner dans le laps de temps possible, vous n'avez pas atteint les grandes données.

J'aime cette définition car il est agnostique au volume, le niveau de la technologie et des algorithmes spécifiques. Il n'est pas agnostique aux ressources si un étudiant diplômé atteindra le point de façon considérable de données avant que Google.

Afin de pouvoir quantifier la taille sont les données, j'aime tenir compte du temps nécessaire pour la sauvegarder. Étant donné que les progrès technologiques, les volumes qui ont été considérés comme grands sont il y a quelques années modérée. Le temps de sauvegarde améliore, la technologie améliore, tout comme le temps d'exécution des algorithmes d'apprentissage. Je pense qu'il est plus judicieux de parler d'un ensemble de données, il faut des heures de X pour sauvegarder et non d'un ensemble de données d'octets Y.

PS.

Il est important de noter que même si vous avez atteint le grand point de données et vous algorithmes ne pouvez pas exécuter de complexité plus O (n) de la voie à suivre tout droit, il y a beaucoup que vous pouvez faire afin de bénéficier encore de cette algorithmes.

Par exemple, la sélection des fonctionnalités peut réduire le nombre de fonctionnalités que de nombreux algorithmes temps d'exécution dépend. Dans beaucoup de distribution de longue queue se concentrant dans les quelques éléments de la tête pourrait être bénéfique. Vous pouvez utiliser un échantillon et sur elle les algorithmes plus lents.

Les données sont « Big Data » si elle est d'un tel volume qu'il est moins coûteux d'analyser sur deux ou plusieurs ordinateurs de matières premières, que sur un ordinateur haut de gamme.

Ceci est essentiellement la façon dont le système de fichier « BigFiles » Google origine. Page et Brin ne pouvaient pas se permettre une fantaisie serveur Sun pour stocker et rechercher leur index web, donc accroché plusieurs ordinateurs de matières premières

Je suis d'accord avec ce que Levin a déjà @ Dan dit. En fin de compte, puisque nous voulons tirer des enseignements utiles à partir des données plutôt que le stockage, il est capacité des algorithmes d'apprentissage / systèmes qui devrait déterminer ce qu'on appelle « Big Data ». Comme les systèmes ML évoluent ce qui est des données Big aujourd'hui ne sera plus demain Big Data.

Une façon de définir les données Big pourrait être:

  • Big données : Les données sur lesquelles vous ne pouvez pas construire des modèles ML dans délai raisonnable (1-2 heures) sur un poste de travail typique (avec par exemple 4 Go de RAM)
  • Les données non-Big : complément de ce qui précède

En supposant cette définition, aussi longtemps que la mémoire occupée par une ligne individuelle (toutes les variables pour un seul point de données) ne dépasse pas la RAM de la machine, nous devrions être être dans les Les données non-gros régime.

Remarque: Vowpal Wabbit ( de loin le système le plus rapide ML à partir d'aujourd'hui) peut apprendre sur un ensemble de données aussi longtemps que d'une ligne individuelle (point de données) est pas une limitation parce qu'il utilise SGD sur plusieurs noyaux. Parlant de son expérience, vous pouvez former un modèle avec 10k caractéristiques et 10MN lignes sur un ordinateur portable en un jour.

"Big Data" est littéralement juste beaucoup de données. Bien qu'il soit plus d'un terme de marketing que tout, l'implication est généralement que vous avez tellement de données que vous ne pouvez pas analyser toutes les données à la fois parce que la quantité de mémoire vive (RAM), il faudrait pour contenir les données en mémoire traiter et analyser elle est supérieure à la quantité de mémoire disponible.

Cela signifie que les analyses ont généralement à faire sur des segments aléatoires de données, qui permet aux modèles à construire pour la comparer à d'autres parties des données.

Licencié sous: CC-BY-SA avec attribution
scroll top